diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..6a690df Binary files /dev/null and b/.DS_Store differ diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..f173110 --- /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 0000000..fd6fa3e --- /dev/null +++ b/404.html @@ -0,0 +1,220 @@ + + + + + + Page not found - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

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 0000000..540440c --- /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 0000000..35acda2 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 0000000..e9f60ca 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 0000000..855c845 --- /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 0000000..35acda2 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 0000000..400014a 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 0000000..4d13fc6 Binary files /dev/null and b/FontAwesome/fonts/fontawesome-webfont.woff2 differ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f288702 --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/ayu-highlight.css b/ayu-highlight.css new file mode 100644 index 0000000..32c9432 --- /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/bibliography.html b/bibliography.html new file mode 100644 index 0000000..bd892f6 --- /dev/null +++ b/bibliography.html @@ -0,0 +1,420 @@ + + + + + + Bibliography - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Bibliography

+ + +
+
+ +[Jiang et al. 2016] - Jiang, Chenfanfu and Schroeder, Craig and Teran, Joseph and Stomakhin, Alexey and Selle, Andrew - The Material Point Method for Simulating Continuum Materials. - 2016. - + + +
+

Summary/Abstract

+
N/A
+
+
+
+
+
+
+ +[Chen et al. 2022] - Chen, Yunuo and Li, Minchen and Lan, Lei and Su, Hao and Yang, Yin and Jiang, Chenfanfu - A unified newton barrier method for multibody dynamics. - 2022. - + + +
+

Summary/Abstract

+
N/A
+
+
+
+
+
+
+ +[Li et al. 2020] - Li, Minchen and Ferguson, Zachary and Schneider, Teseo and Langlois, Timothy R and Zorin, Denis and Panozzo, Daniele and Jiang, Chenfanfu and Kaufman, Danny M - Incremental potential contact: intersection-and inversion-free, large-deformation dynamics.. - 2020. - + + +
+

Summary/Abstract

+
N/A
+
+
+
+
+
+
+ +[Stomakhin et al. 2012] - Stomakhin, Alexey and Howes, Russell and Schroeder, Craig A and Teran, Joseph M - Energetically Consistent Invertible Elasticity.. - 2012. - + + +
+

Summary/Abstract

+
N/A
+
+
+
+
+
+
+ +[Smith et al. 2018] - Smith, Breannan and Goes, Fernando De and Kim, Theodore - Stable neo-hookean flesh simulation. - 2018. - + + +
+

Summary/Abstract

+
N/A
+
+
+
+
+
+
+ +[Schroeder 2022] - Schroeder, Craig - Practical course on computing derivatives in code. - 2022. - + + +
+

Summary/Abstract

+
N/A
+
+
+
+
+
+
+ +[Irving et al. 2004] - Irving, Geoffrey and Teran, Joseph and Fedkiw, Ronald - Invertible finite elements for robust simulation of large deformation. - 2004. - + + +
+

Summary/Abstract

+
N/A
+
+
+
+
+
+
+ +[Gonzalez & Stuart 2008] - Gonzalez, Oscar and Stuart, Andrew M - A first course in continuum mechanics. - 2008. - + + +
+

Summary/Abstract

+
N/A
+
+
+
+
+
+
+ +[Sifakis & Barbic 2022] - Sifakis, Eftychios and Barbic, Jernej - Finite element method simulation of 3d deformable solids. - 2022. - + + +
+

Summary/Abstract

+
N/A
+
+
+
+
+
+
+ +[Xu et al. 2015] - Xu, Hongyi and Sin, Funshing and Zhu, Yufeng and Barbic, Jernej - Nonlinear material design using principal stretches. - 2015. - + + +
+

Summary/Abstract

+
N/A
+
+
+
+
+
+
+ +[Li et al. 2023] - Li, Minchen and Ferguson, Zachary and Schneider, Teseo and Langlois, Timothy and Zorin, Denis and Panozzo, Daniele and Jiang, Chenfanfu and Kaufman, Danny M - Convergent Incremental Potential Contact. - 2023. - + + +
+

Summary/Abstract

+
N/A
+
+
+
+
+
+
+ +[Li et al. 2021] - Li, Minchen and Kaufman, Danny M and Jiang, Chenfanfu - Codimensional incremental potential contact. - 2021. - + + +
+

Summary/Abstract

+
N/A
+
+
+
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/book.js b/book.js new file mode 100644 index 0000000..aa12e7e --- /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 0000000..02c549e --- /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 0000000..e7d20da --- /dev/null +++ b/css/general.css @@ -0,0 +1,234 @@ +/* Base styles and content styles */ + +@import 'variables.css'; + +: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 0000000..80ec3a5 --- /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 0000000..0da55e8 --- /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 0000000..94b20dd --- /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 + + + + diff --git a/fonts/OPEN-SANS-LICENSE.txt b/fonts/OPEN-SANS-LICENSE.txt new file mode 100644 index 0000000..d645695 --- /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 0000000..366206f --- /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 0000000..858efa5 --- /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 0000000..9f51be3 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 0000000..2f54544 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 0000000..f503d55 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 0000000..c99aabe 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 0000000..421a1ab 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 0000000..12ce3d2 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 0000000..c94a223 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 0000000..eed7d3c 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 0000000..398b68a 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 0000000..8383e94 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 0000000..7222456 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 0000000..ba57b82 --- /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 0000000..3256c00 --- /dev/null +++ b/highlight.js @@ -0,0 +1,53 @@ +/* + 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("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/img/.DS_Store b/img/.DS_Store new file mode 100644 index 0000000..236c2a7 Binary files /dev/null and b/img/.DS_Store differ diff --git a/img/lec1/.DS_Store b/img/lec1/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/img/lec1/.DS_Store differ diff --git a/img/lec1/MPM.png b/img/lec1/MPM.png new file mode 100644 index 0000000..87dcc1f Binary files /dev/null and b/img/lec1/MPM.png differ diff --git a/img/lec1/alg1.jpg b/img/lec1/alg1.jpg new file mode 100644 index 0000000..6809308 Binary files /dev/null and b/img/lec1/alg1.jpg differ diff --git a/img/lec1/mesh.png b/img/lec1/mesh.png new file mode 100644 index 0000000..1d99e51 Binary files /dev/null and b/img/lec1/mesh.png differ diff --git a/img/lec1/slingshot.jpg b/img/lec1/slingshot.jpg new file mode 100644 index 0000000..0125cd4 Binary files /dev/null and b/img/lec1/slingshot.jpg differ diff --git a/img/lec1/stacked_var.png b/img/lec1/stacked_var.png new file mode 100644 index 0000000..d83d327 Binary files /dev/null and b/img/lec1/stacked_var.png differ diff --git a/img/lec1/time_integrators.jpg b/img/lec1/time_integrators.jpg new file mode 100644 index 0000000..c9c0ea0 Binary files /dev/null and b/img/lec1/time_integrators.jpg differ diff --git a/img/lec10/diff_mu_exp.jpg b/img/lec10/diff_mu_exp.jpg new file mode 100644 index 0000000..244b71a Binary files /dev/null and b/img/lec10/diff_mu_exp.jpg differ diff --git a/img/lec10/slope_mu0.jpg b/img/lec10/slope_mu0.jpg new file mode 100644 index 0000000..0dd915c Binary files /dev/null and b/img/lec10/slope_mu0.jpg differ diff --git a/img/lec11/compress_square.jpg b/img/lec11/compress_square.jpg new file mode 100644 index 0000000..a2a1500 Binary files /dev/null and b/img/lec11/compress_square.jpg differ diff --git a/img/lec12/deformation_map.jpg b/img/lec12/deformation_map.jpg new file mode 100644 index 0000000..82e1921 Binary files /dev/null and b/img/lec12/deformation_map.jpg differ diff --git a/img/lec13/polar_svd_algorithm.jpg b/img/lec13/polar_svd_algorithm.jpg new file mode 100644 index 0000000..4cb8f41 Binary files /dev/null and b/img/lec13/polar_svd_algorithm.jpg differ diff --git a/img/lec15/inv_free_compress_square.jpg b/img/lec15/inv_free_compress_square.jpg new file mode 100644 index 0000000..f1ff33a Binary files /dev/null and b/img/lec15/inv_free_compress_square.jpg differ diff --git a/img/lec17/shapeFun1D.jpg b/img/lec17/shapeFun1D.jpg new file mode 100644 index 0000000..0387b6d Binary files /dev/null and b/img/lec17/shapeFun1D.jpg differ diff --git a/img/lec2/contact_and_friction.jpg b/img/lec2/contact_and_friction.jpg new file mode 100644 index 0000000..185600a Binary files /dev/null and b/img/lec2/contact_and_friction.jpg differ diff --git a/img/lec20/corner.jpg b/img/lec20/corner.jpg new file mode 100644 index 0000000..c799a6d Binary files /dev/null and b/img/lec20/corner.jpg differ diff --git a/img/lec21/compress_2_squares.jpg b/img/lec21/compress_2_squares.jpg new file mode 100644 index 0000000..50b7fac Binary files /dev/null and b/img/lec21/compress_2_squares.jpg differ diff --git a/img/lec21/initial.png b/img/lec21/initial.png new file mode 100644 index 0000000..9c0d7bb Binary files /dev/null and b/img/lec21/initial.png differ diff --git a/img/lec22/compress_2_squares_fric.jpg b/img/lec22/compress_2_squares_fric.jpg new file mode 100644 index 0000000..05cea86 Binary files /dev/null and b/img/lec22/compress_2_squares_fric.jpg differ diff --git a/img/lec3/PN_method_IE_algorithm.jpg b/img/lec3/PN_method_IE_algorithm.jpg new file mode 100644 index 0000000..6f34aaf Binary files /dev/null and b/img/lec3/PN_method_IE_algorithm.jpg differ diff --git a/img/lec3/line_search_algorithm.jpg b/img/lec3/line_search_algorithm.jpg new file mode 100644 index 0000000..3564632 Binary files /dev/null and b/img/lec3/line_search_algorithm.jpg differ diff --git a/img/lec3/newton_issue_plot.jpg b/img/lec3/newton_issue_plot.jpg new file mode 100644 index 0000000..f1ea2ee Binary files /dev/null and b/img/lec3/newton_issue_plot.jpg differ diff --git a/img/lec4/square_mesh_4x4.jpg b/img/lec4/square_mesh_4x4.jpg new file mode 100644 index 0000000..a5ed6dd Binary files /dev/null and b/img/lec4/square_mesh_4x4.jpg differ diff --git a/img/lec4/stretched_square.jpg b/img/lec4/stretched_square.jpg new file mode 100644 index 0000000..90a8bf3 Binary files /dev/null and b/img/lec4/stretched_square.jpg differ diff --git a/img/lec5/hanging_square.jpg b/img/lec5/hanging_square.jpg new file mode 100644 index 0000000..8bfa2d9 Binary files /dev/null and b/img/lec5/hanging_square.jpg differ diff --git a/img/lec7/.DS_Store b/img/lec7/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/img/lec7/.DS_Store differ diff --git a/img/lec7/VDB.jpg b/img/lec7/VDB.jpg new file mode 100644 index 0000000..c56e190 Binary files /dev/null and b/img/lec7/VDB.jpg differ diff --git a/img/lec7/barrier_clamping.jpg b/img/lec7/barrier_clamping.jpg new file mode 100644 index 0000000..034ed3f Binary files /dev/null and b/img/lec7/barrier_clamping.jpg differ diff --git a/img/lec8/CCD.jpg b/img/lec8/CCD.jpg new file mode 100644 index 0000000..d377b10 Binary files /dev/null and b/img/lec8/CCD.jpg differ diff --git a/img/lec8/alg_filter_ls.jpg b/img/lec8/alg_filter_ls.jpg new file mode 100644 index 0000000..8f3c4a6 Binary files /dev/null and b/img/lec8/alg_filter_ls.jpg differ diff --git a/img/lec8/altered_min.jpg b/img/lec8/altered_min.jpg new file mode 100644 index 0000000..088f515 Binary files /dev/null and b/img/lec8/altered_min.jpg differ diff --git a/img/lec8/filter_ls.jpg b/img/lec8/filter_ls.jpg new file mode 100644 index 0000000..c8f1e8a Binary files /dev/null and b/img/lec8/filter_ls.jpg differ diff --git a/img/lec8/square_drop.jpg b/img/lec8/square_drop.jpg new file mode 100644 index 0000000..20ad2cf Binary files /dev/null and b/img/lec8/square_drop.jpg differ diff --git a/img/lec8/still_tunnel.jpg b/img/lec8/still_tunnel.jpg new file mode 100644 index 0000000..12fafef Binary files /dev/null and b/img/lec8/still_tunnel.jpg differ diff --git a/img/lec9/alg_friction_iter.jpg b/img/lec9/alg_friction_iter.jpg new file mode 100644 index 0000000..3508e49 Binary files /dev/null and b/img/lec9/alg_friction_iter.jpg differ diff --git a/img/lec9/friction_clamping.jpg b/img/lec9/friction_clamping.jpg new file mode 100644 index 0000000..fc194c6 Binary files /dev/null and b/img/lec9/friction_clamping.jpg differ diff --git a/img/lec9/friction_illustration.jpg b/img/lec9/friction_illustration.jpg new file mode 100644 index 0000000..26f518c Binary files /dev/null and b/img/lec9/friction_illustration.jpg differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..fff27a2 --- /dev/null +++ b/index.html @@ -0,0 +1,244 @@ + + + + + + Preface - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Overview

+

This free online book marks our commitment to make the theory and algorithms of physics-based simulations accessible to everyone.

+

Contributing

+

If you are interested in contributing to editing and improving this book, please do it through a Github pull request on the mdbook-src repository (not the HTML repository), or directly contact Minchen Li and Chenfanfu Jiang.

+

Depending on the nature of your contribution, you'll be listed as book co-authors or community contributors in future builds of the book.

+

Version 1.0.0 (Released 2024/5):

+

Chapter Contributors

+ +

Community Contributors (Github)

+

liminchen, cffjiang

+

BibTeX

+
@book{li2024physics,
+title={Physics-Based Simulation (V1.0.0)},
+author={Li, Minchen and Jiang, Chenfanfu},
+year={2024}
+}
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec1-discrete_space_time.html b/lec1-discrete_space_time.html new file mode 100644 index 0000000..237054d --- /dev/null +++ b/lec1-discrete_space_time.html @@ -0,0 +1,236 @@ + + + + + + Discrete Space and Time - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Lecture 1: Discrete Space and Time

+

In this lecture, we explore the simulation of deformable solids with the aim of developing a discrete, computationally solvable problem. The primary goal is to introduce the abstract algebraic concepts inherent in this problem. We approach elasticity simulation using a top-down architectural view, placing mathematical modeling at the forefront.

+

The study of classical elastic solids physics largely revolves around Partial Differential Equations (PDEs). In continuum mechanics and finite element analysis literature, the norm is to first derive the continuous form of these PDEs, elaborating on each term's origin, before adapting them to discrete programming languages. Often, this adaptation appears in later sections, creating a sense of anticipation for the reader.

+

This book, however, takes a different route. It weaves continuum mechanics and PDEs into the discussion as needed, evenly distributing these topics to avoid overwhelming the reader. This method links theory to practice incrementally, enhancing understanding.

+

We introduce the main problem formulation early, offering an overview of its numerical solutions. This gives readers an initial comprehensive view, sparking curiosity and motivating deeper exploration in later chapters. This strategy makes the learning process smoother and more intuitive, helping readers effortlessly connect complex concepts and quickly grasp the subject's core.

+

Our aim is to provide a well-rounded, thorough, and engaging exploration of deformable solids simulation, valuable for both students and seasoned researchers in the field.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec1.1-solid_rep.html b/lec1.1-solid_rep.html new file mode 100644 index 0000000..9bfc750 --- /dev/null +++ b/lec1.1-solid_rep.html @@ -0,0 +1,257 @@ + + + + + + Representations of a Solid Geometry - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Representations of a Solid Geometry

+

In everyday life, solid objects are perceived as continuous. Yet, in the digital world of computers, where we use discrete numbers for representation, a range of interesting methods arises.

+

One method is parametrization. Consider a 3D sphere, which can be described as , centered at point \( \mathbf{c} \) with radius \( r \). This approach extends beyond spheres to include shapes like half-spaces, boxes, ellipsoids, tori, and others, characterized by their interior using functions such as signed distances. However, parametrization faces challenges when handling complex geometries that are frequently encountered in real-world scenarios. An emerging exception to this limitation is the use of advanced neural representations employing neural networks. These newer methods show promise in effectively representing more intricate geometrical forms.

+

An alternative is representing with sampling. This involves choosing points on and inside the object. But points alone aren't enough; we typically need to establish connectivity between them to define the object’s boundaries for applications like rendering and 3D printing. Monitoring how a cluster of points shifts over time also helps in measuring deformation.

+

In continuum mechanics, an object is seen as having a continuous density field. Digitally, this continuity must be represented discretely, usually through defining the connectivity of the solid's geometry.

+
+

+Remark 1.1.1 (Other Solid Representations). +There are other methods for representing solid geometries, such as voxel-based approaches. These methods divide the space into a 3D grid of small boxes, or voxels, with each voxel representing a segment of the object, similar to pixels in a 2D image. Voxel-based methods are advantageous for several reasons. Firstly, they can act as a discrete level set representation, capable of modeling complex geometries and tracking their evolution over time. Each voxel contains information about its position relative to the object's surface, offering an efficient discrete approximation of the continuous level set function. This is beneficial for algorithms involved in surface evolution, shape optimization, and collision detection. Secondly, voxel-based approaches are conducive to Constructive Solid Geometry (CSG) operations. This technique in solid modeling uses Boolean operators to combine simpler shapes into complex 3D models. The voxelized framework allows for straightforward and efficient execution of operations like union, intersection, and difference on the voxel grid. This enables the easy creation and modification of intricate shapes.

+
+
+

+Example 1.1.1 (Mesh). +The method of creating a mesh by directly connecting points with edges or triangles is a popular technique in computational geometry. This concept is illustrated in the accompanying figure, where the left and middle images show two different meshes. Notably, even though these meshes utilize the same sampled points or nodes, they have distinct connectivities, resulting in different shapes. The rightmost mesh in the figure demonstrates a transformation from one shape to another. This mesh represents a deformation of the middle mesh, achieved by vertically compressing its upper half.

+Figure 1.1.1. Mesh

+
+
+

+Example 1.1.2 (Particle and Grid). +By implementing a uniform grid structure in our spatial representation, we record the extent of solid matter at each node location. This allows us to use our sampled points to calculate the density of the solid at each grid node. This method is beneficial for quantifying the solid's distribution within the grid and for establishing a network of connectivity among the original sampled points. Refer to the accompanying figure for a visual demonstration of this concept. In the figure, the sampled points are depicted as green dots. The grid nodes, where we record solid densities, are shown as black circles. These nodes are connected through the grid, illustrated with blue lines.

+Figure 1.1.2. Particle and grid

+
+

In the field of modern solid simulation, the described methods of defining connectivity are crucial. The first method, establishing connections through a mesh of edges or triangles, is foundational to Finite Element Method (FEM) simulators. The second approach, which involves using a uniform grid to compute solid density and establish connectivity, is integral to Material Point Method (MPM) simulators [Jiang et al. 2016]. This book largely concentrates on the former method, delving into the intricacies of FEM. The mesh-based structure of FEM is particularly effective in handling complex domains by breaking them down into simpler elements. This makes FEM an essential tool in the study and simulation of deformable solids, and understanding its nuances is vital for those engaged in this area of study.

+

At first glance, the use of two representations of solid geometry in the MPM might appear redundant. Yet, this dual approach gives MPM a significant edge, especially in simulating dynamic events like solid fractures. In such cases, FEM would necessitate meticulous modification of the edges and elements that define the original connectivity to accurately depict the damage. In contrast, MPM efficiently handles these scenarios. The uniform grid naturally accommodates the separation of body parts in a fracture, as the lack of material at fracture nodes leads to an automatic disconnection of adjacent grid nodes. This attribute allows MPM to excel in managing changes in solid topology.

+

However, when it comes to simulation accuracy control, the Finite Element Method (FEM) excels. FEM operates directly on the mesh, obviating the need for constant information transfer, thus ensuring greater precision. This level of accuracy makes FEM an invaluable resource in the precise simulation of deformable solids, which is the primary emphasis of this book.

+

The technique of consolidating coordinates of each sampled point into an extended vector, denoted as \( x\in\mathbb{R}^{dn} \) (refer to the figure below), provides an effective means to describe a specific geometric configuration, given a constant connectivity. In this representation, \(d\) indicates the dimension of space (1, 2, or 3), and \(n\) represents the total number of points. Similarly, attributes like velocity, acceleration, and forces at each sample point can be amalgamated into corresponding extended vectors, symbolized as \(v\), \(a\), and \(f\) respectively. This organized approach to data presentation not only aids in comprehensively understanding the various parameters and their interrelations but also streamlines the mathematical formulation of the simulation process.

+
+Figure 1.1.3. Stacked position vector
+
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec1.2-newton_2nd_law.html b/lec1.2-newton_2nd_law.html new file mode 100644 index 0000000..167d4dd --- /dev/null +++ b/lec1.2-newton_2nd_law.html @@ -0,0 +1,253 @@ + + + + + + Newton's Second Law - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Newton's Second Law

+

Having defined a method for representing a solid geometry at a single instance in time, we now face the challenge of predicting the solid's motion and deformation over time. This prediction is a key component for accurate simulation.

+

Newton's second law, expressed as \(\mathbf{f} = m \mathbf{a}\), indicates that forces \(\mathbf{f}\) are the primary reasons for changes in velocity, as indicated by acceleration \(\mathbf{a}\). It's important to understand that when a solid's displacement fields extend beyond simple translational or rotational movements, or a linear combination thereof, it indicates deformation. By applying Newton's second law to each sample point, we can effectively predict the movement and deformation of solids. This concept is concisely represented in vector form:

+

+

In this representation, \(M\in\mathbb{R}^{dn\times dn}\) is the mass matrix, and \(x\), \(v\), and \(f\) are the column vectors stacking position, velocity, and force, respectively. This approach lays the groundwork for our simulations of deformable solids, integrating principles of motion in both discrete space and continuous time.

+
+

+Remark 1.2.1 (Stacked Variables). Though the mass matrix \(M\) isn't necessarily a diagonal matrix in theory, it's often simplified to one in practical applications. This results in a lumped mass matrix, representing a system of discrete point masses and offering an efficient way to handle complex systems. +Consider a two-point system in two dimensions to illustrate this. The lumped mass matrix for such a system is represented as: +\[ +M = \begin{pmatrix} +m_1 & & & \\ +& m_1 & & \\ +& & m_2 & \\ +& & & m_2 +\end{pmatrix}, +\] +Here, we assume vectors like \({v}\) (as well as \({x}\) and \({f}\)) are stacked in a specific order: +\[ +v = (v_{11}, v_{12}, v_{21}, v_{22})^T, +\] +where \(v_{i\alpha}\) denotes the \(\alpha\)th component of the velocity \(\mathbf{v}_i\) for the \(i\)th point. Such an organized structure simplifies calculations significantly and enhances the understanding of the system's dynamics.

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec1.3-time_integration.html b/lec1.3-time_integration.html new file mode 100644 index 0000000..4659a46 --- /dev/null +++ b/lec1.3-time_integration.html @@ -0,0 +1,241 @@ + + + + + + Time Integration - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Time Integration

+

Newton's second law lays the foundation for a series of Ordinary Differential Equations (ODEs) expressed in their continuous forms. This is analogous to how we previously used sampled points in space to discretely represent continuous geometries. Now, we take a similar approach but in the realm of time. By sampling points in time, we can effectively represent time derivatives, such as \(\frac{\mathbf{d} x}{\mathbf{d} t}\) and \(\frac{\mathbf{d} v}{\mathbf{d} t}\).

+
+

+Definition 1.3.1 (Time Integration). +When discretizing time into fixed small intervals, we denote the time at the \(n\)-th step as \(t^n\), commonly referred to as a timestep. The length of this interval, or timestep size, is given by \(\Delta t = t^{n+1} - t^n\). The timestep count, \(n\), is typically a whole number starting from zero, making \(t^0=0 s\) the starting point of a simulation.

+
+

The concept of timesteps leads to the introduction of symbols \(x^n\), \(v^n\), and \(f^n\) to represent the positions, velocities, and forces of nodes at the \(n\)-th timestep, respectively. The term timestepping, or time integration, refers to the process of calculating \(x^{n+1}, v^{n+1}\) from \(x^n, v^n\) at each incremental timestep \(n=0,1,2,\dots\). For a visual demonstration, consider an Armadillo slingshot animation. Each frame in this animation is computed progressively from left to right, as illustrated in the figure below. In this context, timestepping mirrors a cinematic progression, revealing the evolving dynamics of a system in a step-by-step manner.

+
+Figure 1.3.1. Armadillo slingshot frame by frame
+

In the context of this book and the simulation scenarios we examine, a crucial assumption must be emphasized: we always possess exact knowledge of the initial values \(x^0\) and \(v^0\) at the start of our simulation. Furthermore, for each timestep, we either have a method to calculate \(f^n\) based on a physical model, or we have its precise value readily available, as with a constant force such as gravity. This assumption is fundamental to our approach, ensuring that simulations are grounded in known initial conditions and forces, thereby allowing for more accurate and reliable outcomes.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec1.4-explicit_time_integration.html b/lec1.4-explicit_time_integration.html new file mode 100644 index 0000000..c0d7843 --- /dev/null +++ b/lec1.4-explicit_time_integration.html @@ -0,0 +1,255 @@ + + + + + + Explicit Time Integration - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Explicit Time Integration

+

Explicit time integration schemes provide a direct method to calculate \(x^{n+1},v^{n+1}\) by substituting known values into simple formulas, which is why these are called explicit. This section focuses on two basic explicit schemes: Forward Euler and Symplectic Euler methods.

+

Forward Euler

+

To convert our continuous-time system to a discrete form, we employ the forward difference approximation. In this approximation, the derivative \((\frac{\mathbf{d} x}{\mathbf{d} t})^n\) is estimated as \(\frac{x^{n+1} - x^n}{\Delta t}\), and likewise, \((\frac{\mathbf{d} v}{\mathbf{d} t})^n\) as \(\frac{v^{n+1} - v^n}{\Delta t}\). The superscript \(n\) represents the state variables at the \(n\)th timestep. Consequently, the discrete version of our system is expressed as: + +Assuming a constant mass over time, these equations provide a clear mechanism to update our state variables. Knowing the current values \(x^n\), \(v^n\), and \(f^n\) at timestep \(n\), we can directly determine their values at the next timestep, \(n+1\).

+
+

+Method 1.4.1 (Forward Euler Time Integration for Newton's Second Law). In the Forward Euler method, the state variables \(x^{n+1}\) and \(v^{n+1}\) at the next time step \(n+1\) are calculated based on the current values \(x^n\) and \(v^n\). The update rules are given by: + +Here, \(\Delta t\) represents the time step size, \(M\) is the mass matrix, and \(f^n\) is the force at the current time step \(n\).

+
+

The forward Euler method is considered unconditionally unstable, implying that irrespective of the chosen small time step \(\Delta t\), the numerical solution will eventually grow significantly (explode) for equations with nonconstant \(f\), while the exact solution remains unaffected (refer to Figure 1.4.1, left).

+

Symplectic Euler

+

If we put superscript \(n+1\) on \(v\) in the position derivative discretization while keeping the velocity derivative the same, we get a new update rule:

+
+

+Method 1.4.2 (Symplectic Euler Time Integration for Newton's Second Law). +Given the current state variables, the mass matrix, and the time step size from \(t^n\) to \(t^{n+1}\), + +where \(n=0,1,2,\dots\).

+
+

With a minor alteration, the integration becomes conditionally stable. This implies that if \(\Delta t\) remains within a problem-specific limit, we can effectively confine the numerical error of the solution. Moreover, the Symplectic Euler method exhibits an appealing trait of system energy preservation, as demonstrated in the middle of the figure below.

+
+Figure 1.4.1 (Stability of Time Integrators). The provided illustration showcases a particle executing constant circular motion, simulated using the forward Euler, Symplectic Euler, and implicit Euler methods, respectively from left to right. The varying colors within the illustration represent the progression of time. Notably, each method exhibits distinct characteristics in the simulation: the forward Euler simulation eventually undergoes an unstable escalation, the Symplectic Euler closely adheres to the theoretical trajectory, and the implicit Euler, while maintaining stability, gradually brings the motion to a halt.
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec1.5-implicit_time_integration.html b/lec1.5-implicit_time_integration.html new file mode 100644 index 0000000..2eb0537 --- /dev/null +++ b/lec1.5-implicit_time_integration.html @@ -0,0 +1,250 @@ + + + + + + Implicit Time integration - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Implicit Time Integration

+

In contrast to explicit time integration, implicit time integration requires solving a system of equations to determine the values of \(x^{n+1}\) and \(v^{n+1}\). A notable benefit of this approach is its potential for greatly improved stability. The simplest form of implicit integration, the backward Euler method, is introduced as follows.

+
+

+Method 1.5.1 (Backward Euler Time Integration Application to Newton's Second Law). +Given the current state variables, the mass matrix, and the time interval from \(t^n\) to \(t^{n+1}\), the update rules are as follows: + +where \(n\) ranges from \(0,1,2,\dots\).

+
+

In many scenarios discussed in this book, the forces are derived from position vectors \(x\). Thus, we can represent \(f^{n+1} = f(x^{n+1})\). It's crucial to recognize that the update for \(x^{n+1}\) depends on knowing \(v^{n+1}\), yet the calculation of \(v^{n+1}\) is contingent on \(x^{n+1}\). This interdependence creates a cyclical dependency, necessitating the resolution of a system of equations to accurately find \(x^{n+1}\) and \(v^{n+1}\). By formulating \(v^{n+1} = (x^{n+1} - x^n) / \Delta t\), Equation (1.5.1) can be rephrased as: + +Given that forces \(f\) often exhibit nonlinearity with respect to positions \(x\), Equation (1.5.2) generally becomes nonlinear, requiring the use of nonlinear root finding techniques like Newton's method for solution.

+
+

+Method 1.5.2 (Newton's Method Applied to Backward Euler Time Integration). +As described in the algorithm below, Newton's method is an iterative technique starting from an initial estimate \(x^i\) of the solution. At the current iteration \(x^i\), it linearly approximates \(f(x^{n+1}) \approx f(x^i) + (x^{n+1}-x^i) \nabla f(x^i)\), then resolves a linear system and updates the iteration. This process is repeated until a satisfactory degree of convergence is reached.

+Algorithm 1.5.1 (Newton's Method for Backward Euler Time Integration).

+
+

While the backward Euler method ensures unconditional stability even for large values of \(\Delta t\), it's crucial to recognize that increasing \(\Delta t\) may lead to poorer system conditioning. This complication can make solving the linear system more challenging. Additionally, it's important to remember that force linearization is an approximation. If the initial estimate for the solution is far from the actual solution, the standard iteration of Newton's method might not converge, and it could even diverge.

+

In later discussions, we will introduce a modified version of Newton's method. This adaptation is designed to guarantee convergence for specific types of problems, regardless of the initial estimate or the size of \(\Delta t\).

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec1.6-summary.html b/lec1.6-summary.html new file mode 100644 index 0000000..8167453 --- /dev/null +++ b/lec1.6-summary.html @@ -0,0 +1,241 @@ + + + + + + Summary - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Summary

+

Simulating solids involves predicting changes in their position and form over time. To achieve this on computers, both geometry and time must be represented discretely.

+

Geometries are typically represented using sample points interconnected in specific ways:

+
    +
  • Finite Element Methods (FEM) connect sample points through unstructured meshes.
  • +
  • Material Point Methods (MPM) utilize uniform Cartesian grids to link sample points. +FEM excels in delivering high-precision results, while MPM is advantageous for handling topological changes. This book primarily focuses on FEM.
  • +
+

Time is discretized into distinct moments, with finite difference methods applied to calculate temporal derivatives of physical quantities, in line with Newton's second law.

+

The Forward Euler method is generally avoided due to its unconditional instability. Conversely, the Symplectic Euler method is explicit and conditionally stable, often preferred for well-conditioned problems. For stiff problems, the Backward Euler method, unconditionally stable but requiring the resolution of nonlinear equation systems, is commonly used despite its computational intensity and potential for numerical instability.

+

In the next lecture, we will explore the optimization perspective of implicit time integration, offering robustness in solving these problems.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec10-square_on_slope.html b/lec10-square_on_slope.html new file mode 100644 index 0000000..45871f4 --- /dev/null +++ b/lec10-square_on_slope.html @@ -0,0 +1,234 @@ + + + + + + Case Study: Square On Slope* - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Case Study: Square On Slope*

+

In this section, based on our learnings from Frictional Contact, we implement frictional contact for a slope within the optimization time integration framework. We start by extending the contact model used for horizontal grounds in the Square Drop case study to accommodate slopes with arbitrary orientations and locations.

+

Following this extension, we implement friction for the slope, tested by simulating an elastic square dropped onto it. Depending on the friction coefficient , the square either stops at various points on the slope or continues to slide.

+

The excutable Python project for this section can be found at https://github.com/phys-sim-book/solid-sim-tutorial under the 4_friction folder.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec10.1-ground_to_slope.html b/lec10.1-ground_to_slope.html new file mode 100644 index 0000000..633cc0a --- /dev/null +++ b/lec10.1-ground_to_slope.html @@ -0,0 +1,306 @@ + + + + + + From Ground To Slope - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

From Ground to Slope

+

The implementation in the Square Drop case study for horizontal grounds results in a simplified distance and distance gradient (Equation (8.3.1)) compared to that of a general half-space (Equation (7.1.1)): + +This is all we need for implementing the slope. Defining a normal direction and a point lying on the slope

+

+Implementation 10.1.1 (Slope setup, simulator.py).

+
ground_n = np.array([0.1, 1.0])     # normal of the slope
+ground_n /= np.linalg.norm(ground_n)    # normalize ground normal vector just in case
+ground_o = np.array([0.0, -1.0])    # a point on the slope  
+
+

and passing them to the time integrator and barrier energy, we can modify the barrier energy value, gradient, and Hessian computation for the slope as

+

+Implementation 10.1.2 (Slope contact barrier, BarrierEnergy.py).

+
import math
+import numpy as np
+
+dhat = 0.01
+kappa = 1e5
+
+def val(x, n, o, contact_area):
+    sum = 0.0
+    for i in range(0, len(x)):
+        d = n.dot(x[i] - o)
+        if d < dhat:
+            s = d / dhat
+            sum += contact_area[i] * dhat * kappa / 2 * (s - 1) * math.log(s)
+    return sum
+
+def grad(x, n, o, contact_area):
+    g = np.array([[0.0, 0.0]] * len(x))
+    for i in range(0, len(x)):
+        d = n.dot(x[i] - o)
+        if d < dhat:
+            s = d / dhat
+            g[i] = contact_area[i] * dhat * (kappa / 2 * (math.log(s) / dhat + (s - 1) / d)) * n
+    return g
+
+def hess(x, n, o, contact_area):
+    IJV = [[0] * 0, [0] * 0, np.array([0.0] * 0)]
+    for i in range(0, len(x)):
+        d = n.dot(x[i] - o)
+        if d < dhat:
+            local_hess = contact_area[i] * dhat * kappa / (2 * d * d * dhat) * (d + dhat) * np.outer(n, n)
+            for c in range(0, 2):
+                for r in range(0, 2):
+                    IJV[0].append(i * 2 + r)
+                    IJV[1].append(i * 2 + c)
+                    IJV[2] = np.append(IJV[2], local_hess[r, c])
+    return IJV
+
+

Then for the continuous collision detection, we similarly modify the implementation to compute the large feasible initial step size for line search using and :

+

+Implementation 10.1.3 (Slope CCD, BarrierEnergy.py).

+
def init_step_size(x, n, o, p):
+    alpha = 1
+    for i in range(0, len(x)):
+        p_n = p[i].dot(n)
+        if p_n < 0:
+            alpha = min(alpha, 0.9 * n.dot(x[i] - o) / -p_n)
+    return alpha
+
+

Here the search direction of each node is projected onto the normal direction to divide the current distance when computing the smallest step size that first brings the distance to .

+

Finally, drawing the slope as a line from to where pointing to the inclined direction,

+

+Implementation 10.1.4 (Slope visualization, simulator.py).

+
    pygame.draw.aaline(screen, (0, 0, 255), screen_projection([ground_o[0] - 3.0 * ground_n[1], ground_o[1] + 3.0 * ground_n[0]]), 
+        screen_projection([ground_o[0] + 3.0 * ground_n[1], ground_o[1] - 3.0 * ground_n[0]]))   # slope
+
+

we can now simulate an elastic square dropped on a slope without friction (Figure 10.1.1).

+
+
+ +
+
+Figure 10.1.1. An elastic square dropped onto a frictionless slope, bouncing as it slides down.
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec10.2-slope_fric.html b/lec10.2-slope_fric.html new file mode 100644 index 0000000..76b6214 --- /dev/null +++ b/lec10.2-slope_fric.html @@ -0,0 +1,332 @@ + + + + + + Slope Friction - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Slope Friction

+

Now to implement friction for the slope, we start by implementing the functions that calculate , , and according to Equation (9.2.2), Equation (9.2.5), and Equation (9.2.6) respectively.

+

+Implementation 10.2.1 (Friction helper functions, FrictionEnergy.py).

+
import numpy as np
+import utils
+
+epsv = 1e-3
+
+def f0(vbarnorm, epsv, hhat):
+    if vbarnorm >= epsv:
+        return vbarnorm * hhat
+    else:
+        vbarnormhhat = vbarnorm * hhat
+        epsvhhat = epsv * hhat
+        return vbarnormhhat * vbarnormhhat * (-vbarnormhhat / 3.0 + epsvhhat) / (epsvhhat * epsvhhat) + epsvhhat / 3.0
+
+def f1_div_vbarnorm(vbarnorm, epsv):
+    if vbarnorm >= epsv:
+        return 1.0 / vbarnorm
+    else:
+        return (-vbarnorm + 2.0 * epsv) / (epsv * epsv)
+
+def f_hess_term(vbarnorm, epsv):
+    if vbarnorm >= epsv:
+        return -1.0 / (vbarnorm * vbarnorm)
+    else:
+        return -1.0 / (epsv * epsv)
+
+

With these terms available, we can then implement the semi-implicit friction energy value, gradient, and Hessian computations according to Equation (9.2.1), Equation (9.2.3), and Equation (9.2.4) respectively.

+

+Implementation 10.2.2 (Friction value, gradient, and Hessian, FrictionEnergy.py).

+
def val(v, mu_lambda, hhat, n):
+    sum = 0.0
+    T = np.identity(2) - np.outer(n, n) # tangent of slope is constant
+    for i in range(0, len(v)):
+        if mu_lambda[i] > 0:
+            vbar = np.transpose(T).dot(v[i])
+            sum += mu_lambda[i] * f0(np.linalg.norm(vbar), epsv, hhat)
+    return sum
+
+def grad(v, mu_lambda, hhat, n):
+    g = np.array([[0.0, 0.0]] * len(v))
+    T = np.identity(2) - np.outer(n, n) # tangent of slope is constant
+    for i in range(0, len(v)):
+        if mu_lambda[i] > 0:
+            vbar = np.transpose(T).dot(v[i])
+            g[i] = mu_lambda[i] * f1_div_vbarnorm(np.linalg.norm(vbar), epsv) * T.dot(vbar)
+    return g
+
+def hess(v, mu_lambda, hhat, n):
+    IJV = [[0] * 0, [0] * 0, np.array([0.0] * 0)]
+    T = np.identity(2) - np.outer(n, n) # tangent of slope is constant
+    for i in range(0, len(v)):
+        if mu_lambda[i] > 0:
+            vbar = np.transpose(T).dot(v[i])
+            vbarnorm = np.linalg.norm(vbar)
+            inner_term = f1_div_vbarnorm(vbarnorm, epsv) * np.identity(2)
+            if vbarnorm != 0:
+                inner_term += f_hess_term(vbarnorm, epsv) / vbarnorm * np.outer(vbar, vbar)
+            local_hess = mu_lambda[i] * T.dot(utils.make_PSD(inner_term)).dot(np.transpose(T)) / hhat
+            for c in range(0, 2):
+                for r in range(0, 2):
+                    IJV[0].append(i * 2 + r)
+                    IJV[1].append(i * 2 + c)
+                    IJV[2] = np.append(IJV[2], local_hess[r, c])
+    return IJV
+
+

Note that in Numpy, matrix-matrix and matrix-vector products are realized by the dot() function. +For implicit Euler, and so . +Here mu_lambda stores for each node, where the normal force magnitude is calculated using at the beginning of each time step.

+

+Implementation 10.2.3 (Use mu and lambda, time_integrator.py).

+
def step_forward(x, e, v, m, l2, k, n, o, contact_area, mu, is_DBC, h, tol):
+    x_tilde = x + v * h     # implicit Euler predictive position
+    x_n = copy.deepcopy(x)
+    mu_lambda = BarrierEnergy.compute_mu_lambda(x, n, o, contact_area, mu)  # compute mu * lambda for each node using x^n
+
+    # Newton loop
+
+

+Implementation 10.2.4 (Compute mu and lambda, BarrierEnergy.py).

+
def compute_mu_lambda(x, n, o, contact_area, mu):
+    mu_lambda = np.array([0.0] * len(x))
+    for i in range(0, len(x)):
+        d = n.dot(x[i] - o)
+        if d < dhat:
+            s = d / dhat
+            mu_lambda[i] = mu * -contact_area[i] * dhat * (kappa / 2 * (math.log(s) / dhat + (s - 1) / d))
+    return mu_lambda
+
+

Since the slope is static, and the normal direction is the same everywhere, is constant and so can be discretized accurately.

+

Finally, we set friction coefficient and pass it to the time integrator where we add friction energy to model semi-implicit friction on the slope.

+
mu = 0.11        # friction coefficient of the slope
+
+

Now we are ready to test the simulation with different friction coefficients. Since our slope has an inclined angle with , we test , , and (Figure 10.2.1). Here we see that when , the critical value that provides dynamic friction forces in the same magnitude with that of the gravity component on the slope, the square keeps sliding after gaining the initial momentum (Figure 10.2.1 top). When we set , right above the critical value, the square slides a while and then stopped, showing that static friction is properly resolved (Figure 10.2.1 middle). With , the square stops even earlier (Figure 10.2.1 bottom).

+
+
+ +
+
+Figure 10.2.1. With friction coefficient (top), (middle), and (bottom), we simulate an elastic square dropped onto a slope. Except the top one that the square keeps sliding, the lower two with larger both end up with a static equilibrium.
+
+
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec10.3-summary.html b/lec10.3-summary.html new file mode 100644 index 0000000..9a3d44b --- /dev/null +++ b/lec10.3-summary.html @@ -0,0 +1,233 @@ + + + + + + Summary - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Summary

+

In this case study, we implemented semi-implicit friction between simulated objects and a slope, accommodating arbitrary orientations and positions. Within the optimization time integration framework of IPC, friction is also modeled using potential energy. The key difference is that the normal force magnitude and tangent operator are precomputed at the start of each time step for semi-implicit discretization.

+

In the next lecture, we will introduce moving boundary conditions. This will involve obstacles or boundary nodes moving in a prescribed manner, actively injecting dynamics into the scene.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec11-mov_DBC.html b/lec11-mov_DBC.html new file mode 100644 index 0000000..4fd688e --- /dev/null +++ b/lec11-mov_DBC.html @@ -0,0 +1,236 @@ + + + + + + Moving Boundary Conditions* - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Moving Boundary Conditions*

+

Kinematic Collision Objects (CO) and Moving Dirichlet Boundary Conditions (BC) are crucial in many simulation scenarios. A CO can be considered as a collection of BC nodes.

+

At the start of a time step, it is ideal if the BC nodes can be moved directly to their prescribed locations without causing any interpenetrations. This allows the simulation to proceed smoothly using the Degree of Freedom (DOF) elimination method, which ensures the constraints remain feasible.

+

However, with large time steps, high velocities, or significant deformations, directly prescribing BC nodes often leads to interpenetration or "tunneling" artifacts, where objects pass through each other unrealistically.

+

To address these challenges, the penalty method is applied. This method progressively adjusts the simulation towards a feasible set where both CO and BC constraints are satisfied, and interpenetrations are avoided.

+

A case study demonstrating these principles will be shown through the simulation of a compressed square.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec11.1-penalty_method.html b/lec11.1-penalty_method.html new file mode 100644 index 0000000..8b3cc6c --- /dev/null +++ b/lec11.1-penalty_method.html @@ -0,0 +1,250 @@ + + + + + + Penalty Method - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Penalty Method

+

At the beginning of each time step towards time , we evaluate nodal position for each BC node based on their prescribed motions. During each Newton iteration , for the iterate , we define a velocity residual to assess how close each BC node is to meeting its target: + +When falls below a specific tolerance for any BC node , we can fix the node at its current location and apply the DOF elimination method in the subsequent iterations. This is particularly straightforward in scenes with only static BCs, where the DOF elimination method is directly applied.

+

For other BC nodes that are far from their target locations, we introduce new penalty terms to the Incremental Potential for each of these nodes: + +Here, represents the nodal mass, allowing for intuitive setting of the penalty stiffness , as the Hessian of the penalty term with respect to BC nodes is simply times that of the inertia term.

+
+

+Remark 11.1.1. +For collision obstacles (CO), precisely calculating node masses is challenging due to unknown factors like density. A practical approach is to assume a density similar to that of the simulated solids in the scene. This assumption makes the diagonal entries on the Hessian of the penalty terms roughly times that of the inertia term.

+

For codimensional COs such as shells, rods, and particles, the key is to consider a reasonably large thickness when calculating their volumes. This helps in ensuring that their physical properties align more closely with those of the main simulation bodies.

+
+

Setting the penalty stiffness appropriately can be challenging. If is set too low, it may not effectively move the BC node towards its target. Conversely, a too high can lead to numerical issues. Thus, we initially set to a reasonably large value and adaptively increase it as necessary.

+

During the Newton solve, if there are BC nodes where at the point of Newton convergence, we double the penalty stiffness to its current value and continue the Newton solve. This process is repeated until all BCs are satisfactorily met at convergence.

+
+

+Remark 11.1.2. +In practice, with double precision floating-point numbers, initializing below is typically sufficient, given that the Hessian of the stiff penalty terms is purely diagonal. However, if certain BCs remain unsatisfied even when is increased to above , the optimization process may stall due to severe numerical errors. This stalling occurs because extremely stiff penalty terms are in conflict with the contact barriers. However, such a scenario would likely only occur under a rare CO/BC setting in a manner far more extreme than what is tested in Figure 2.3.1.

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec11.2-compress_square.html b/lec11.2-compress_square.html new file mode 100644 index 0000000..7432285 --- /dev/null +++ b/lec11.2-compress_square.html @@ -0,0 +1,374 @@ + + + + + + Case Study: Compressing Square* - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Case Study: Compressing Square

+

We simulate compressing an elastic square using a ceiling. +The excutable Python project for this section can be found at https://github.com/phys-sim-book/solid-sim-tutorial under the 5_mov_dirichlet folder.

+

The ceiling in our simulation is modeled as a half-space with a downward normal vector . The distance from the ceiling to other simulated Degrees of Freedom (DOFs) can be calculated using Equation (7.1.1). To effectively apply the penalty method, it's necessary that the ceiling's height also serves as a DOF.

+

Following the approach used in the Square on Slope project, we choose the origin on the ceiling as the DOF and incorporate it into the variable :

+

+Implementation 11.2.1 (Ceiling DOF setup, simulator.py).

+
[x, e] = square_mesh.generate(side_len, n_seg)      # node positions and edge node indices
+x = np.append(x, [[0.0, side_len * 0.6]], axis=0)   # ceil origin (with normal [0.0, -1.0])
+
+

The ceiling is initially positioned directly above the elastic square, as shown in the left image of Figure 11.2.1. By doing so, we ensure that the nodal mass of this newly added DOF is consistent with the other simulated nodes on the square, as per our implementation.

+

With this additional DOF, we can straightforwardly model the contact between the ceiling and the square. This is done by enhancing the existing functions that compute the barrier energy value, gradient, Hessian, and the initial step size:

+

+Implementation 11.2.2 (Barrier energy value, BarrierEnergy.py).

+
    n = np.array([0.0, -1.0])
+    for i in range(0, len(x) - 1):
+        d = n.dot(x[i] - x[-1])
+        if d < dhat:
+            s = d / dhat
+            sum += contact_area[i] * dhat * kappa / 2 * (s - 1) * math.log(s)
+
+

+Implementation 11.2.3 (Barrier energy gradient, BarrierEnergy.py).

+
    n = np.array([0.0, -1.0])
+    for i in range(0, len(x) - 1):
+        d = n.dot(x[i] - x[-1])
+        if d < dhat:
+            s = d / dhat
+            local_grad = contact_area[i] * dhat * (kappa / 2 * (math.log(s) / dhat + (s - 1) / d)) * n
+            g[i] += local_grad
+            g[-1] -= local_grad
+
+

+Implementation 11.2.4 (Barrier energy Hessian, BarrierEnergy.py).

+
    n = np.array([0.0, -1.0])
+    for i in range(0, len(x) - 1):
+        d = n.dot(x[i] - x[-1])
+        if d < dhat:
+            local_hess = contact_area[i] * dhat * kappa / (2 * d * d * dhat) * (d + dhat) * np.outer(n, n)
+            index = [i, len(x) - 1]
+            for nI in range(0, 2):
+                for nJ in range(0, 2):
+                    for c in range(0, 2):
+                        for r in range(0, 2):
+                            IJV[0].append(index[nI] * 2 + r)
+                            IJV[1].append(index[nJ] * 2 + c)
+                            IJV[2] = np.append(IJV[2], ((-1) ** (nI != nJ)) * local_hess[r, c])
+
+

+Implementation 11.2.5 (Initial step size calculation, BarrierEnergy.py).

+
    n = np.array([0.0, -1.0])
+    for i in range(0, len(x) - 1):
+        p_n = (p[i] - p[-1]).dot(n)
+        if p_n < 0:
+            alpha = min(alpha, 0.9 * n.dot(x[i] - x[-1]) / -p_n)
+
+

Here for the distance between the ceiling and a node , we have the stacked quantities locally: +

+

Now we apply the moving BC on the ceiling to compress the elastic square. We set the ceiling's DOF, identified by the node index (n_seg+1)*(n_seg+1), as the sole Dirichlet Boundary Condition (DBC) in this scene. We assign it a downward velocity of . The movement is stopped when the ceiling reaches a height of :

+

+Implementation 11.2.6 (DBC setup, simulator.py).

+
DBC = [(n_seg + 1) * (n_seg + 1)]       # dirichlet node index
+DBC_v = [np.array([0.0, -0.5])]         # dirichlet node velocity
+DBC_limit = [np.array([0.0, -0.6])]     # dirichlet node limit position
+
+

Then we implement the penalty term according to Equation (11.1.1), which is essentially a quadratic spring energy for controlling the motion of the ceiling:

+

+Implementation 11.2.7 (Spring energy computation, SpringEnergy.py).

+
import numpy as np
+
+def val(x, m, DBC, DBC_target, k):
+    sum = 0.0
+    for i in range(0, len(DBC)):
+        diff = x[DBC[i]] - DBC_target[i]
+        sum += 0.5 * k * m[DBC[i]] * diff.dot(diff)
+    return sum
+
+def grad(x, m, DBC, DBC_target, k):
+    g = np.array([[0.0, 0.0]] * len(x))
+    for i in range(0, len(DBC)):
+        g[DBC[i]] = k * m[DBC[i]] * (x[DBC[i]] - DBC_target[i])
+    return g
+
+def hess(x, m, DBC, DBC_target, k):
+    IJV = [[0] * 0, [0] * 0, np.array([0.0] * 0)]
+    for i in range(0, len(DBC)):
+        for d in range(0, 2):
+            IJV[0].append(DBC[i] * 2 + d)
+            IJV[1].append(DBC[i] * 2 + d)
+            IJV[2] = np.append(IJV[2], k * m[DBC[i]])
+    return IJV
+
+

Next, we focus on optimizing with the spring energies while properly handling the convergence check and penalty stiffness adjustments. At the start of each time step, the target position for each DBC node is computed, and the penalty stiffness, , is initialized to . If certain nodes reach their preset limit, we then set the target as their current position:

+

+Implementation 11.2.8 (DBC initialization, time_integrator.py).

+
    DBC_target = [] # target position of each DBC in the current time step
+    for i in range(0, len(DBC)):
+        if (DBC_limit[i] - x_n[DBC[i]]).dot(DBC_v[i]) > 0:
+            DBC_target.append(x_n[DBC[i]] + h * DBC_v[i])
+        else:
+            DBC_target.append(x_n[DBC[i]])
+    DBC_stiff = 10  # initialize stiffness for DBC springs
+
+

Entering the Newton loop, in each iteration, just before computing the search direction, we assess how many DBC nodes are close enough to their target positions. We store these results in the variable DBC_satisfied:

+

+Implementation 11.2.9 (DBC satisfaction check, time_integrator.py).

+
    # check whether each DBC is satisfied
+    DBC_satisfied = [False] * len(x)
+    for i in range(0, len(DBC)):
+        if LA.norm(x[DBC[i]] - DBC_target[i]) / h < tol:
+            DBC_satisfied[DBC[i]] = True
+
+

Then we only eliminate the DOFs of those DBC nodes that already satisfy the boundary condition:

+

+Implementation 11.2.10 (DOF elimination, time_integrator.py).

+
    # eliminate DOF if it's a satisfied DBC by modifying gradient and Hessian for DBC:
+    for i, j in zip(*projected_hess.nonzero()):
+        if (is_DBC[int(i / 2)] & DBC_satisfied[int(i / 2)]) | (is_DBC[int(j / 2)] & DBC_satisfied[int(i / 2)]): 
+            projected_hess[i, j] = (i == j)
+    for i in range(0, len(x)):
+        if is_DBC[i] & DBC_satisfied[i]:
+            reshaped_grad[i * 2] = reshaped_grad[i * 2 + 1] = 0.0
+    return [spsolve(projected_hess, -reshaped_grad).reshape(len(x), 2), DBC_satisfied]
+
+

The BC satisfaction information stored in DBC_satisfied is also used to check convergence and update when needed:

+

+Implementation 11.2.11 (Convergence criteria, time_integrator.py).

+
    [p, DBC_satisfied] = search_dir(x, e, x_tilde, m, l2, k, n, o, contact_area, (x - x_n) / h, mu_lambda, is_DBC, DBC, DBC_target, DBC_stiff, tol, h)
+    while (LA.norm(p, inf) / h > tol) | (sum(DBC_satisfied) != len(DBC)):   # also check whether all DBCs are satisfied
+        print('Iteration', iter, ':')
+        print('residual =', LA.norm(p, inf) / h)
+
+        if (LA.norm(p, inf) / h <= tol) & (sum(DBC_satisfied) != len(DBC)):
+            # increase DBC stiffness and recompute energy value record
+            DBC_stiff *= 2
+            E_last = IP_val(x, e, x_tilde, m, l2, k, n, o, contact_area, (x - x_n) / h, mu_lambda, DBC, DBC_target, DBC_stiff, h)
+
+

Now, we proceed to run the simulation, which involves severely compressing the dropped elastic square as depicted in (Figure 11.2.1). From the final static frame, we observe that the elastic springs on the edges are inverted due to extreme compression. This artifact is typical in mass-spring models of elasticity. In future chapters, we will explore how applying finite-element discretization to barrier-type elasticity models, such as the Neo-Hookean model, can prevent such issues. That approach is akin to the enforcement of non-interpenetrations in our current simulations.

+
+
+ +
+
+Figure 11.2.1. A square is dropped onto the ground and compressed by a ceiling until inverted.
+
+
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec11.3-summary.html b/lec11.3-summary.html new file mode 100644 index 0000000..a6d9185 --- /dev/null +++ b/lec11.3-summary.html @@ -0,0 +1,239 @@ + + + + + + Summary - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Summary

+

We introduced the penalty method for handling moving boundary conditions while preventing interpenetrations. The key strategies involved are:

+
    +
  • Augmenting the Incremental Potential with additional spring energies on the DBC nodes;
  • +
  • Adaptively increasing the penalty stiffness as required;
  • +
  • Eliminating DOFs for those BC nodes that are sufficiently close to their targets; and
  • +
  • Ensuring all BCs are satisfied at the point of convergence.
  • +
+

To address the inversion artifact observed in our case study of compressing mass-spring elastic squares, the application of barrier-type elasticity energies is essential. Our penalty method for moving BCs plays a crucial role when these energies are applied, as directly prescribing BC nodes can still lead to inversion. In the next chapter, we will explore hyperelasticity models, which are preferred over mass-spring systems in practical applications.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec12-kinematics.html b/lec12-kinematics.html new file mode 100644 index 0000000..fd2dc34 --- /dev/null +++ b/lec12-kinematics.html @@ -0,0 +1,235 @@ + + + + + + Kinematics Theory - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Kinematics Theory

+

In previous case studies, we've relied on the mass-spring model to simulate the elastic behaviors of solids. This model approximates 2D and 3D elasticity by connecting multiple springs in various directions, each responding only to stretch and compression. However, this simple approximation often fails to capture the complexities of real-world phenomena. Starting with this lecture, we will delve into the mathematical description of deformation and introduce a more rigorous approach to modeling elasticity for continuum bodies.

+

When discussing continuum bodies or continuum mechanics, we operate under the continuum assumption. This perspective treats materials—whether solid, liquid, or gas—as continuous entities, avoiding the need to account for microscopic interactions between molecules and atoms. This assumption is not only practical in engineering and graphics applications but is also prevalent in everyday scenarios.

+

In graphics simulations, the continuum assumption applies to a wide range of materials, including deformable objects (both elastic and plastic), muscle, flesh, cloth, hair, liquids, smoke, gas, and granular materials like sand, snow, mud, and soil. In continuum mechanics, properties such as density, velocity, and force are defined as continuous functions of position. We have explored their discrete counterparts in the Discrete Space and Time section.

+

Equations of motion, based on Newton's 2nd law, are solved within the spatial domain and evolved over time to simulate the dynamic behaviors of these materials.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec12.1-continuum_motion.html b/lec12.1-continuum_motion.html new file mode 100644 index 0000000..9cab6fd --- /dev/null +++ b/lec12.1-continuum_motion.html @@ -0,0 +1,269 @@ + + + + + + Continuum Motion - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Continuum Motion

+

Kinematics is the study of motion within continuum materials, focusing primarily on the changes in shape or deformation that occur, whether locally or globally, across different coordinate systems. The aim is to describe motion both qualitatively and quantitatively, which is crucial for deriving the governing equations of dynamics and mechanical responses. Notably, kinematics can often be described without the need to introduce concepts like force, stress, or even mass.

+

In continuum mechanics, deformation is typically represented through three key components:

+
    +
  • Material (or undeformed) space : This represents the initial position of any point in the material.
  • +
  • World (or deformed) space : This indicates the current position of any point.
  • +
  • Deformation map : This function maps points from the material space to the world space, showing how the position of material points changes over time.
  • +
+

At the initial time , the material space and the world space coincide, meaning every point starts at its undeformed position.

+
+

+Definition 12.1.1 (Deformation/Flow Map). +The motion of material in continuum mechanics is determined by a mapping , where and or represents the dimension of the simulated problem (or domain). This mapping, often referred to as the flow map or the deformation map, is crucial in understanding how material points move over time.

+
    +
  • Material Points : Points in the set are known as material points and are designated as .
  • +
  • Current Locations : Points in represent the location of material points at time , and are referred to as . +The deformation map describes the trajectory of each material point throughout time, expressed as: +
  • +
+
+
+

+Example 12.1.1. +If our object is moving with a constant speed along direction , then we have + +If an object undergoes some rigid motion after time (compared to time ), we will have + +where is a rotation matrix, and is some translation. and will likely be functions of time and the initial position , depending on the actual motion.

+
+

The mapping can be used to quantify relevant continuum-based physics. For example, the velocity of a given material point at time is + +and the acceleration is + +That is, and .

+
+

+Remark 12.1.1. +In the above, the velocity and acceleration are defined from the Lagrangian perspective. This means that both velocity and acceleration are functions of the material configuration and time , focusing on specific particles within the material. Physically, this implies that these measurements pertain to particles that have their own mass and have occupied some volume from the beginning of the simulation. The Lagrangian view is particularly valuable for tracking individual particle dynamics over time, offering detailed insights into how particles move, accelerate, and interact within the material under various conditions.

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec12.2-deformation.html b/lec12.2-deformation.html new file mode 100644 index 0000000..03cb44a --- /dev/null +++ b/lec12.2-deformation.html @@ -0,0 +1,257 @@ + + + + + + Deformation - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Deformation

+

We have and as material coordinates and world coordinates, respectively, each associated with domains and . For any point within , the mapping function transports it to at a specific time , represented as .

+
+

+Definition 12.2.1 (Deformation Gradient). +The Jacobian of the deformation map is referred to as the deformation gradient and is crucial in describing the physics of elasticity. It is commonly denoted as and defined by the relation: + +Discretely, this Jacobian often takes the form of a small or matrix. For materials like cloth or thin shells in 3D, might be a matrix, reflecting the 2D nature of the material space. Thus, maps every material point to a matrix that describes the deformation Jacobian at time . Using index notation, it can be expressed as: +

+
+

We can compute the deformation gradient for the deformation map specified in Equation (12.1.1), where the result is the identity matrix. Similarly, for the deformation map in Equation (12.1.2), the deformation gradient equals . In both cases, the object does not undergo real deformation; these are merely examples of rigid transformations. Such deformation gradients should not lead to any internal forces within the material unless artistic effects are intentionally being pursued (such as in a cartoon).

+
+
+ +
+Figure 12.2.1 (Deformation gradient).
+
+
+
+

+Example 12.2.1. +Intuitively, the deformation gradient indicates the extent of local deformation within a material. Consider two nearby points, and , embedded in the material at the start of the simulation (as illustrated in Figure 12.2.1). If and represent these points in the current configuration, the relationship between these points can be expressed as: + +This equation shows how the deformation gradient transforms the initial distance between the points into their current separation, thus quantifying the local deformation.

+
+

The determinant of the deformation gradient , commonly denoted by , is crucial because it characterizes the infinitesimal volume change during deformation. This is expressed as . The value of represents the ratio of the infinitesimal volume of the material in the deformed configuration to its original volume in . For instance, in rigid motions, which include rotations and translations, is a rotation matrix and therefore . Notably, the identity matrix, being a rotation matrix, also results in .

+

If , it indicates a volume increase, whereas indicates a decrease. A situation where suggests that the volume has effectively become zero, a scenario that is impossible in the real world but can occur numerically. In 3D, this indicates that the material is compressed to such an extent that it might collapse into a plane, line, or even a point without volume. Conversely, indicates material inversion. For example, in 2D, if for a triangle, it implies that one vertex has passed through the opposing edge, effectively 'inverting' the triangle and making its area negative. As seen in the Moving Boundary Conditions section, severe compression of an elastic square can lead to inversions. In such cases, serves as a direct measure of this artifact and is utilized in many elasticity models to ensure simulations are free from inversions.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec12.3-summary.html b/lec12.3-summary.html new file mode 100644 index 0000000..78cea49 --- /dev/null +++ b/lec12.3-summary.html @@ -0,0 +1,233 @@ + + + + + + Summary - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Summary

+

Defining the flow map which transforms continuum bodies from the material space (initial configuration) to the world space (current configuration), we introduced a mathematical description of the change in shapes -- the deformation gradient ( or ), which is the Jacobian of the flow map with respect to .

+

When at a certain point on the continuum body is a rotation matrix, it indicates there is no deformation and, consequently, no local elasticity forces should be present. In the next lecture, we will explore how to define more realistic elastic potential energies using the deformation gradient.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec13-strain_energy.html b/lec13-strain_energy.html new file mode 100644 index 0000000..ebace7a --- /dev/null +++ b/lec13-strain_energy.html @@ -0,0 +1,234 @@ + + + + + + Strain Energy - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Strain Energy

+

With the deformation gradient serving as a rigorous mathematical measure of local deformation, we can define the elastic potential energy based on to more accurately capture the elastic behaviors of solids. is measured at every local point within the solid domain. We would measure the elastic potential locally for each point and then integrate these measurements across the entire domain. This approach mirrors the process used in the 2D Mass Spring case study, where the energy of each spring, weighted by an estimated volume, was summed up in a discrete setting. Here, is also known as strain, and the elastic potential , referred to as strain energy, is derived from integrating strain energy density functions at each material point within the solid domain: + +In this lecture, we will explore various design choices of and examine some of their properties.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec13.1-rigid_null_rot_inv.html b/lec13.1-rigid_null_rot_inv.html new file mode 100644 index 0000000..2aca8a0 --- /dev/null +++ b/lec13.1-rigid_null_rot_inv.html @@ -0,0 +1,279 @@ + + + + + + Rigid Null Space and Rotation Invariance - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Rigid Null Space and Rotation Invariance

+

As mentioned in the previous lecture, for a solid undergoing only translational and/or rotational motions, no elastic potential energy is stored, and thus no elasticity force is exerted. This implies that any strain energy density functions have a rigid null space, meaning that should remain if the input deformation gradient is any rotation matrix : + +A square matrix is a rotation matrix if and only if: + +From this definition, a straightforward formulation for emerges, penalizing any deviation of from being a rotation matrix with quadratic terms: + +Here, and are the stiffness parameters, with the first term derived from right-multiplying to both sides of . This intuitive formulation closely aligns with how many standard strain energy density functions are constructed.

+
+

+Definition 13.1.1 (Neo-Hookean Elasticity). +The Neo-Hookean elasticity model is characterized by the following energy density function: + +Taking the derivative of with respect to , we obtain: + +From this gradient, it is evident that the -term achieves a local minimum when (i.e., ), and for the -term, the local minimum occurs at .

+
+
+

+Definition 13.1.2 (Lame Parameters). +In standard strain energy density functions, the stiffness parameters and are known as Lame parameters. These parameters are directly related to the Young's modulus , which measures resistance to stretching, and the Poisson's ratio , which measures the incompressibility of the solid: +

+
+
+

+Definition 13.1.3 (Rotation Invariance). +The energy density function for any nonlinear elastic model is rotation invariant. Mathematically, this is expressed as: + +Intuitively, this means that any rotations applied after deformation should not alter the value of the strain energy density function.

+
+

However, the simplest strain energy density function, linear elasticity, does not include rigid modes in its null space nor does it satisfy Equation (13.1.3). This is because linear elasticity is specifically designed for infinitesimal strains, where no significant rotations are involved.

+
+

+Definition 13.1.4 (Linear Elasticity). +Linear elasticity has the energy density function + +Here is the small strain tensor, and we see that is a quadratic function of .

+
+

Notably, the linear elasticity model with the corresponding Lame parameters is calibrated to real-world experiments under conditions of small deformations. In such circumstances, all standard strain energy density functions must align with linear elasticity. The consistency between these models and linear elasticity will be concisely demonstrated after we introduce the polar singular value decomposition of in the next section.

+

Rotation invariance (Equation (13.1.3)) should not be confused with the isotropic property of certain elastic models.

+
+

+Definition 13.1.5 (Isotropic Elasticity). +The energy density function of isotropic elastic models satisfies + +This implies that the same amount of stretch in any direction results in the same energy change. Consequently, there are no special directions in which the material is harder or easier to deform than others.

+
+

Neo-Hookean (Equation (13.1.2)) and our intuitive model (Equation (13.1.1)) are both examples of isotropic models. However, linear elasticity (Equation (13.1.4)) does not meet this condition (Equation (13.1.5)), as it is not designed to handle rotational motions effectively.

+

For anisotropic elastic models, the resistance to stretch varies depending on the direction. Materials such as cloth, bones, muscles and wood are examples of anisotropic materials, exhibiting different mechanical properties in different directions.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec13.2-polar_svd.html b/lec13.2-polar_svd.html new file mode 100644 index 0000000..f6da472 --- /dev/null +++ b/lec13.2-polar_svd.html @@ -0,0 +1,255 @@ + + + + + + Polar Singular Value Decomposition - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Polar Singular Value Decomposition

+

When discussing general slip boundary conditions, we introduced the usage of singular value decomposition (SVD). Here, we apply a variant known as Polar SVD (Algorithm 13.2.1) to decompose : + +where and are both rotation matrices, and is a diagonal matrix. Unlike standard SVD, which ensures remains non-negative possibly at the expense of having or , Polar SVD maintains and , allowing to be negative if necessary.

+

Polar SVD is named for its relation to Polar decomposition, where is expressed as . This decomposition can be reconstructed via and , with representing the closest rotation to and being symmetric.

+
+
+
+Algorithm 13.2.1 (Polar SVD from Standard SVD).
+ +
+
+

The Polar SVD of offers a more intuitive way to understand deformation. If we denote , referred to as the principal stretches, we can conceptualize as comprising a sequence of transformations. Initially, there is a rotation by , followed by scaling the dimensions by along each axis, and concluding with another rotation by . This decomposition is applicable for all possible .

+

Polar SVD also allows for the more convenient expression of isotropic strain energy density functions using exclusively. For instance, our intuitive formulation in Equation (13.1.1) can be reframed as:

+

+

where . Moreover, the Neo-Hookean strain energy density function (Equation (13.1.2)) can be rewritten as:

+

+

These two models are both consistent with linear elasticity under small deformation.

+
+

+Definition 13.2.1 (Consistency to Linear Elasticity). +To verify the consistency to linear elasticity of a strain energy density function , we just need to check whether the following relations all hold: + +Here , and if , otherwise it is .

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec13.3-simp_model_inversion.html b/lec13.3-simp_model_inversion.html new file mode 100644 index 0000000..056ff2b --- /dev/null +++ b/lec13.3-simp_model_inversion.html @@ -0,0 +1,246 @@ + + + + + + Simplified Models and Invertibility - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Simplified Models and Invertibility

+
+

+Definition 13.3.1 (Corotated Linear Elasticity). +To make linear elasticity rotation-aware while maintaining its simplicity, we can introduce a base rotation and construct an energy density function + +penalizing any deviation between and this fixed . This is called corotated linear elasticity.

+
+

remains a quadratic energy with respect to and is very useful for dynamic simulations. At the beginning of the optimization for each time step , we compute as the closest rotation to : + +As mentioned earlier, the solution is given by the Polar decomposition on , and with Polar SVD , we have . However, corotated linear elasticity is still not rotation invariant, as does not change with during the optimization. Thus, it is not suitable for large deformations.

+

For rotation invariant elastic models, practitioners in computer graphics have been simplifying them for visual computing purposes. For example, only keeping a -term while ignoring the -term in the energy density function for more efficient computations: + +Here is called the As-Rigid-As-Possible (ARAP) energy, which is widely used in shape modeling, cloth simulation, and surface parameterization, etc. , while being a higher-order polynomial of compared to ARAP, can be computed without performing the expensive SVDs on .

+

For all the strain energy density functions we have looked at in this lecture, except Neo-Hookean, all others are defined on the whole domain . Neo-Hookean energy density function is defined on . Just like the barrier energy to prevent interpenetrations in IPC, is also a barrier energy, which goes to infinity as approaches , providing arbitrarily large elastic forces to prevent inversion ().

+

Strain energy density functions allowing are also called invertible elasticity models. They are easy to deal with (no need for line search filtering), but do not guarantee non-inversion. Designing an invertible elastic energy that provides reasonably large resistance to inversion has drawn a lot of attention in computer graphics research [Stomakhin et al. 2012] [Smith et al. 2018].

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec13.4-summary.html b/lec13.4-summary.html new file mode 100644 index 0000000..5e11a70 --- /dev/null +++ b/lec13.4-summary.html @@ -0,0 +1,237 @@ + + + + + + Summary - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Summary

+

The elastic potential energy is an integration of the strain energy density function at every local point in the solid domain. From the rigid null space, we derived an intuitive formulation of the strain energy density function, similar in structure to standard models like Neo-Hookean. Nonlinear elastic models are also rotation invariant, meaning any rotations applied after the deformation do not change .

+

Linear elasticity features a quadratic energy density function and is specifically designed for infinitesimal strains , lacking rigid modes in its null space. Yet, with the corresponding Lame Parameters and , it can accurately capture behaviors of small deformations observed in the real world. Standard elasticity models are required to be consistent with linear elasticity under small deformations.

+

This lecture focused on isotropic elasticity, where no special directions exist that make the material harder or easier to deform. Performing Polar SVD on allows us to rewrite of isotropic models using only principal stretches .

+

Using the closest rotation to in the last time step, we constructed a corotated linear elasticity to make linear elasticity rotation-aware while maintaining its simplicity. Simplifying further by retaining only the -term enhances efficiency for visual computing.

+

Similar to how non-interpenetrations are enforced in IPC, the energy density function of Neo-Hookean acts as a barrier function, ensuring non-inversion (). All other elasticity models introduced in this lecture are invertible, and they do not guarantee non-inversion.

+

In the next lecture, we will explore the derivatives of with respect to .

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec14-stress_and_derivatives.html b/lec14-stress_and_derivatives.html new file mode 100644 index 0000000..87d25ee --- /dev/null +++ b/lec14-stress_and_derivatives.html @@ -0,0 +1,233 @@ + + + + + + Stress and Its Derivatives - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Stress and Its Derivatives

+

Having introduced standard strain energies, we now proceed to their differentiation with respect to the world space coordinates, , to simulate realistic elastic behaviors. However, it's important to first establish the explicit relationship between these coordinates and the deformation gradient . This relationship heavily depends on specific discretization choices.

+

Before we explore discretization in depth, we should understand how to compute the derivatives of the strain energy function, , with respect to . These derivatives are fundamentally linked to the concept of stress, a critical element in understanding material behavior under deformation.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec14.1-stress.html b/lec14.1-stress.html new file mode 100644 index 0000000..6022b30 --- /dev/null +++ b/lec14.1-stress.html @@ -0,0 +1,250 @@ + + + + + + Stress - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Stress

+

Stress is a tensor field, akin to the deformation gradient , and is defined over the entire domain of solid materials. It quantifies the internal pressures and tensions experienced by a material object. The link between stress and strain (or ) is established through what is known as a constitutive relationship. This relationship outlines how materials respond to various deformations.

+

A common example of a constitutive relationship is Hooke's law in one dimension, which applies to many conventional materials under elastic conditions. In the context of hyperelastic materials, the relationship is specifically defined by the strain energy function, .

+
+

+Definition 14.1.1 (Hyperelastic Materials). +Hyperelastic materials are those elastic solids whose first Piola-Kirchhoff stress +can be derived from a strain energy density function via + +With index notation, this means + + is discretely a small matrix with the same dimensions as .

+
+

In the study of material behavior under stress, various definitions are utilized, with Cauchy stress being particularly prevalent in engineering contexts. Cauchy stress, denoted as , can be mathematically linked to the first Piola-Kirchhoff stress tensor through the relationship: +

+

Calculating from the strain energy function is relatively straightforward for energy models that do not require singular value decomposition (SVD), such as the Neo-Hookean model. However, general isotropic elasticity models, like ARAP (As-Rigid-As-Possible), often rely on the computation of principal stretches or the closest rotation matrix, necessitating SVD. This computation becomes particularly complex and resource-intensive when determining , which is crucial for implicit time integrations.

+

We present an efficient method that leverages the sparsity structure, as introduced by [Stomakhin et al. 2012], to compute the first Piola-Kirchhoff stress tensor and its derivative (whether as a tensor or the differential ) for general isotropic elastic materials. This approach utilizes symbolic software packages, and we will specifically discuss the implementation in Mathematica. Implementations in Maple or other software are similarly straightforward, following the same conceptual framework. For a deeper exploration of derivative computations commonly employed in computer graphics, refer to the work of [Schroeder 2022].

+

It is important to note that the computational strategy discussed can also be applied to other derivatives in diagonal space, similar to . For instance, in certain models, the Kirchhoff stress is preferred over the first Piola-Kirchhoff stress . The Kirchhoff stress is expressed as: + +where is a diagonal stress measure, with each entry being a function of the singular values . The methodology for computing mirrors that of .

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec14.2-compute_P.html b/lec14.2-compute_P.html new file mode 100644 index 0000000..0f4fefb --- /dev/null +++ b/lec14.2-compute_P.html @@ -0,0 +1,265 @@ + + + + + + Computing Stress - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Computing

+

Let's begin with the computation of . For isotropic materials, the first Piola-Kirchhoff stress tensor can be calculated as follows: + +This formulation leverages the property that shares the same SVD space as , which simplifies the derivation and computation process.

+
+

+Example 14.2.1. +For the Neo-Hookean model (Equation (13.1.2)), we have: + +Thus, we can first perform SVD on and derive: + +to compute without symbolically deriving the derivative of w.r.t. .

+
+

Here we provide the proof that commutes with rotations in diagonal space (see Equation (14.2.1)). To demonstrate that for any rotation matrix , consider a generic (potentially anisotropic) material model. The key idea is that a rotation applied after deformation does not alter the material's stored energy, thus we have the identity . Differentiating both sides of this equation with respect to the deformation gradient yields:

+

+

Furthermore, for an isotropic material where , a similar argument shows that . Combining these relationships for under rotation, we establish that: + +This formulation confirms the rotational invariance of in diagonal space.

+

Additional Proof for

+

In the above, the last equality comes from the fact that + +Here we show why this is true.

+

(1) First, we claim that is diagonal. This can be seen by realizing that for isotropic elasticity, + +where is the isotropic invariants. Following [Sifakis & Barbic 2022] (page 23), we can observe that when the argument is diagonal, must be diagonal. Therefore, is diagonal when is diagonal.

+

(2) Next, we claim that + +This is proven in [Xu et al. 2015] (Equation 7).

+

(3) Based on (2), we know that for any , after substituting , we have + +using this we can write out the cases for . For example, for , we have +

+

(4) Finally, let's derive . Since we know it is diagonal from (1), we just need to derive its diagonal entry. Let's use entry as an example: + +Now are are done with the final proof.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec14.3-compute_stress_deriv.html b/lec14.3-compute_stress_deriv.html new file mode 100644 index 0000000..b515e6a --- /dev/null +++ b/lec14.3-compute_stress_deriv.html @@ -0,0 +1,333 @@ + + + + + + Computing Stress Derivatives - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Computing or

+

To compute the derivative of with respect to , we leverage the rotational invariance property discussed earlier for . Consider two arbitrary rotation matrices and . From the rotational properties of , we have:

+

+

Define , then:

+

+

Taking the differential of , while treating and as constants, gives:

+

+

By setting and , where , the differential expression simplifies to:

+

+

The tensorial derivative is then expressed in index notation as:

+

+

These expressions must hold for any , leading to the relationship:

+

+

So the remaining task is computing . We show how to do it in 3D.

+

First, let's introduce Rodrigues' rotation formula, which provides a method for expressing any rotation matrix in terms of a unit vector and a rotation angle . The formula is given by: + +where is the skew-symmetric cross-product matrix associated with . This formula shows that any rotation matrix is characterized by just three degrees of freedom, denoted as . These components are used to define the rotation vector , from which and are derived as follows:

+

+

Using this parameterization, rotation matrices and can each be described by three parameters.

+

Now we have the following code for defining in terms of +, , , , , , , , , where and are defined by and with +Rodrigues' rotation formula, are the singular values from .

+
id=IdentityMatrix[3];
+var={s1,s2,s3,u1,u2,u3,v1,v2,v3};
+Sigma=DiagonalMatrix[{s1,s2,s3}];
+cp[k1_,k2_,k3_]={{0,-k3,k2},{k3,0,-k1},{-k2,k1,0}};
+vV={v1,v2,v3};
+vU={u1,u2,u3};
+nv=Sqrt[Dot[vV,vV]];
+nu=Sqrt[Dot[vU,vU]];
+UU=cp[u1,u2,u3]/nu;
+VV=cp[v1,v2,v3]/nv;
+U=id+Sin[nu]*UU+(1-Cos[nu])*UU.UU;
+V=id+Sin[nv]*VV+(1-Cos[nv])*VV.VV;
+F=U.Sigma.Transpose[V];
+
+

where cp is a function for generating the cross-product matrix (corresponding to computing + in Equation (14.3.1)).

+

From now on, we write the tensor + and any other such tensors to matrices. +That means each matrix is now a size- vector. It is easy to see the old + is now +. We further call vector being the parametrization of +. Then we can apply the chain rule +

+

Here are the Mathematica code for computing them. Note that we achieve by taking the limit , which +correspond to nearly zero rotations.

+
dFdS=D[Flatten[F],{var}];
+dFdS0=dFdS/.{u1->e,u2->e,u3->e,v1->e,v2->e,v3->e};
+dFdS1=Limit[dFdS0,e->0,Direction->-1];
+dSdF0=Inverse[dFdS1];
+Phat=DiagonalMatrix[{t1[s1,s2,s3],t2[s1,s2,s3],t3[s1,s2,s3]}];
+P=U.Phat.Transpose[V];
+dPdS=D[Flatten[P],{var}];
+dPdS0=dPdS/.{u1->e,u2->e,u3->e,v1->e,v2->e,v3->e};
+dPdS1=Limit[dPdS0,e->0,Direction->-1];
+dPdF=Simplify[dPdS1.dSdF0];
+
+

Note 'Direction->-1' in Mathematica means taking the limit from large values to the small +limit value. The Mathematica computation result will be given in terms of the singular +values and . One can then take the formula for implementing them in the code. +[Stomakhin et al. 2012] gives the result where (size matrix) is permuted to be a block diagonal matrix with diagonal blocks , where + +and + +Denominator clamping is needed for terms in that may introduce division-by-zero (after fully simplifying them). +Here we denote and as and respectively. +The division by is problematic when two singular values are nearly equal or when two singular +values nearly sum to zero. The latter is possible with a convention for permitting negative singular values (as in invertible elasticity [Irving et al. 2004] [Stomakhin et al. 2012]).

+

Expanding in terms of partial fractions yields the useful decomposition + +Note that if is invariant under permutation of the singular values, then as +. Thus, +the first term can normally be computed robustly for an isotropic model if implemented carefully. The other +fraction can be computed robustly if as +. +But this usually does not hold as it means the constitutive model will have difficulty recovering from degenerate or +inverted configurations. Thus, this term will be unbounded under some circumstances. +We address this by clamping the magnitude of the denominator to not be smaller than before division to bound the derivatives.

+

For 2D, a rotation matrix is now simply +paremetrized with a single where the reconstruction is

+

+The 2D version of the whole Mathematica code is

+
id=IdentityMatrix[2];
+var={s1,s2,u1,v1};
+S=DiagonalMatrix[{s1,s2}];
+U={{Cos[u1],-Sin[u1]
+
+},{Sin[u1],Cos[u1]}};
+V={{Cos[v1],-Sin[v1]},{Sin[v1],Cos[v1]}};
+F=U.S.Transpose[V];
+dFdS=D[Flatten[F],{var}];
+dFdS0=dFdS/.{u1->e,v1->e};
+dFdS1=Limit[dFdS0,e->0,Direction->-1};
+dSdF0=Inverse[dFdS1];
+Phat=DiagonalMatrix[{t1[s1,s2],t2[s1,s2]}];
+P=U.Phat.Transpose[V];
+dPdS=D[Flatten[P],{var}];
+dPdS0=dPdS/.{u1->e,v1->e};
+dPdS1=Limit[dPdS0,e->0,Direction->-1];
+dPdF=Simplify[dPdS1.dSdF0];
+
+

where is now also and there is only one .

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec14.4-summary.html b/lec14.4-summary.html new file mode 100644 index 0000000..3a54e0a --- /dev/null +++ b/lec14.4-summary.html @@ -0,0 +1,234 @@ + + + + + + Summary - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Summary

+

Stress is a tensor field that quantifies the pressure or tension exerted on a material object. In the context of hyperelastic materials, the first Piola-Kirchhoff stress tensor plays a crucial role. It is defined as the derivative of the strain energy density function , with respect to the deformation gradient , establishing a constitutive relationship between stress and strain.

+

In practical computations, particularly for the implicit integration of solid dynamics, it is essential to compute and its derivative efficiently. By leveraging the sparsity structure in diagonal space, these computations become more feasible. Here, differentiations are primarily required for with respect to the principal stretches , which simplifies the calculation process.

+

In the upcoming lecture, we will apply these principles to an inversion-free elasticity model, which will be demonstrated through the compressing square simulation. This application will use the concepts discussed in this chapter to address complex real-world problems in solid mechanics.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec15-inv_free_elasticity.html b/lec15-inv_free_elasticity.html new file mode 100644 index 0000000..31db1de --- /dev/null +++ b/lec15-inv_free_elasticity.html @@ -0,0 +1,234 @@ + + + + + + Case Study: Inversion-free Elasticity* - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Case Study: Inversion-free Elasticity*

+

At the end of this chapter, we implement the Neo-Hookean model introduced in the previous lectures to simulate inversion-free elastic solids. +The excutable Python project for this section can be found at https://github.com/phys-sim-book/solid-sim-tutorial under the 6_inv_free folder. +Instead of discretizing elasticity onto the springs as in the mass-spring model, we discretize the Neo-Hookean model onto triangle elements, apply chain rules to compute elastic forces according to the relation between deformation gradient and world-space nodal position , and then develop a root-finding based approach to filter the initial step size of line search for guaranteed non-inversion.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec15.1-linear_tri_elem.html b/lec15.1-linear_tri_elem.html new file mode 100644 index 0000000..671937a --- /dev/null +++ b/lec15.1-linear_tri_elem.html @@ -0,0 +1,278 @@ + + + + + + Linear Triangle Elements - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Linear Triangle Elements

+

In previous discussions, we learned to calculate and its derivatives with respect to . For simulation, however, we require and . This necessitates a clear understanding of , as it allows us to employ the chain rule to derive these derivatives with respect to effectively.

+

In 2D simulations, we often divide the solid domain into non-degenerate triangular elements. Assume the mapping is linear within each triangle, thus keeping the deformation gradient constant. Referencing Example 12.2.1, for a triangle defined by vertices , we have the equations: + +where denotes the world-space coordinates of the triangle vertices. This relationship leads to the expression for : + +Equation (15.1.1) shows that , derived here, maps any segment within the triangle to its world-space counterpart through linear combinations of the triangle edges and . A more general and rigorous derivation of this formula will be presented in subsequent chapters.

+

Once is established, we can calculate its derivative with respect to for each triangle as follows: + +where represents the inverse of the matrix formed by subtracting the first vertex from the second and third vertices. This matrix can be precomputed at initialization along with other properties such as the volume and Lame parameters of each triangle:

+

+Implementation 15.1.1 (Precomputation of element information, simulator.py).

+
# rest shape basis, volume, and lame parameters
+vol = [0.0] * len(e)
+IB = [np.array([[0.0, 0.0]] * 2)] * len(e)
+for i in range(0, len(e)):
+    TB = [x[e[i][1]] - x[e[i][0]], x[e[i][2]] - x[e[i][0]]]
+    vol[i] = np.linalg.det(np.transpose(TB)) / 2
+    IB[i] = np.linalg.inv(np.transpose(TB))
+mu_lame = [0.5 * E / (1 + nu)] * len(e)
+lam = [E * nu / ((1 + nu) * (1 - 2 * nu))] * len(e)
+
+

The Young's modulus and Poisson's ratio:

+
E = 1e5         # Young's modulus
+nu = 0.4        # Poisson's ratio
+
+

Here, e no longer stores all edge elements as in mass-spring models but represents all triangle elements, which can be generated by modifying the meshing code as follows:

+

+Implementation 15.1.2 (Assembling per-triangle vertex indices, square_mesh.py).

+
    # connect the nodes with triangle elements
+    e = []
+    for i in range(0, n_seg):
+        for j in range(0, n_seg):
+            # triangulate each cell following a symmetric pattern:
+            if (i % 2)^(j % 2):
+                e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j, i * (n_seg + 1) + j + 1])
+                e.append([(i + 1) * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j + 1, i * (n_seg + 1) + j + 1])
+            else:
+                e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j + 1])
+                e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j + 1, i * (n_seg + 1) + j + 1])
+
+

Triangles are arranged in a symmetric pattern and can be rendered by drawing the three edges:

+

+Implementation 15.1.3 (Draw triangles, simulator.py).

+
        pygame.draw.aaline(screen, (0, 0, 255), screen_projection(x[eI[0]]), screen_projection(x[eI[1]]))
+        pygame.draw.aaline(screen, (0, 0, 255), screen_projection(x[eI[1]]), screen_projection(x[eI[2]]))
+        pygame.draw.aaline(screen, (0, 0, 255), screen_projection(x[eI[2]]), screen_projection(x[eI[0]]))
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec15.2-energy_grad_hess.html b/lec15.2-energy_grad_hess.html new file mode 100644 index 0000000..7080b8b --- /dev/null +++ b/lec15.2-energy_grad_hess.html @@ -0,0 +1,400 @@ + + + + + + Computing Energy, Gradient, and Hessian - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Computing Energy, Gradient, and Hessian

+

We first follow sections Strain Energy and Stress and Its Derivatives to implement computing , , and SPD-projected :

+

+Implementation 15.2.1 (Energy derivatives w.r.t. , NeoHookeanEnergy.py).

+
import utils
+import numpy as np
+import math
+
+def polar_svd(F):
+    [U, s, VT] = np.linalg.svd(F)
+    if np.linalg.det(U) < 0:
+        U[:, 1] = -U[:, 1]
+        s[1] = -s[1]
+    if np.linalg.det(VT) < 0:
+        VT[1, :] = -VT[1, :]
+        s[1] = -s[1]
+    return [U, s, VT]
+
+def dPsi_div_dsigma(s, mu, lam):
+    ln_sigma_prod = math.log(s[0] * s[1])
+    inv0 = 1.0 / s[0]
+    dPsi_dsigma_0 = mu * (s[0] - inv0) + lam * inv0 * ln_sigma_prod
+    inv1 = 1.0 / s[1]
+    dPsi_dsigma_1 = mu * (s[1] - inv1) + lam * inv1 * ln_sigma_prod
+    return [dPsi_dsigma_0, dPsi_dsigma_1]
+
+def d2Psi_div_dsigma2(s, mu, lam):
+    ln_sigma_prod = math.log(s[0] * s[1])
+    inv2_0 = 1 / (s[0] * s[0])
+    d2Psi_dsigma2_00 = mu * (1 + inv2_0) - lam * inv2_0 * (ln_sigma_prod - 1)
+    inv2_1 = 1 / (s[1] * s[1])
+    d2Psi_dsigma2_11 = mu * (1 + inv2_1) - lam * inv2_1 * (ln_sigma_prod - 1)
+    d2Psi_dsigma2_01 = lam / (s[0] * s[1])
+    return [[d2Psi_dsigma2_00, d2Psi_dsigma2_01], [d2Psi_dsigma2_01, d2Psi_dsigma2_11]]
+
+def B_left_coef(s, mu, lam):
+    sigma_prod = s[0] * s[1]
+    return (mu + (mu - lam * math.log(sigma_prod)) / sigma_prod) / 2
+
+def Psi(F, mu, lam):
+    J = np.linalg.det(F)
+    lnJ = math.log(J)
+    return mu / 2 * (np.trace(np.transpose(F).dot(F)) - 2) - mu * lnJ + lam / 2 * lnJ * lnJ
+
+def dPsi_div_dF(F, mu, lam):
+    FinvT = np.transpose(np.linalg.inv(F))
+    return mu * (F - FinvT) + lam * math.log(np.linalg.det(F)) * FinvT
+
+def d2Psi_div_dF2(F, mu, lam):
+    [U, sigma, VT] = polar_svd(F)
+
+    Psi_sigma_sigma = utils.make_PSD(d2Psi_div_dsigma2(sigma, mu, lam))
+
+    B_left = B_left_coef(sigma, mu, lam)
+    Psi_sigma = dPsi_div_dsigma(sigma, mu, lam)
+    B_right = (Psi_sigma[0] + Psi_sigma[1]) / (2 * max(sigma[0] + sigma[1], 1e-6))
+    B = utils.make_PSD([[B_left + B_right, B_left - B_right], [B_left - B_right, B_left + B_right]])
+
+    M = np.array([[0, 0, 0, 0]] * 4)
+    M[0, 0] = Psi_sigma_sigma[0, 0]
+    M[0, 3] = Psi_sigma_sigma[0, 1]
+    M[1, 1] = B[0, 0]
+    M[1, 2] = B[0, 1]
+    M[2, 1] = B[1, 0]
+    M[2, 2] = B[1, 1]
+    M[3, 0] = Psi_sigma_sigma[1, 0]
+    M[3, 3] = Psi_sigma_sigma[1, 1]
+
+    dP_div_dF = np.array([[0, 0, 0, 0]] * 4)
+    for j in range(0, 2):
+        for i in range(0, 2):
+            ij = j * 2 + i
+            for s in range(0, 2):
+                for r in range(0, 2):
+                    rs = s * 2 + r
+                    dP_div_dF[ij, rs] = M[0, 0] * U[i, 0] * VT[0, j] * U[r, 0] * VT[0, s] \
+                        + M[0, 3] * U[i, 0] * VT[0, j] * U[r, 1] * VT[1, s] \
+                        + M[1, 1] * U[i, 1] * VT[0, j] * U[r, 1] * VT[0, s] \
+                        + M[1, 2] * U[i, 1] * VT[0, j] * U[r, 0] * VT[1, s] \
+                        + M[2, 1] * U[i, 0] * VT[1, j] * U[r, 1] * VT[0, s] \
+                        + M[2, 2] * U[i, 0] * VT[1, j] * U[r, 0] * VT[1, s] \
+                        + M[3, 0] * U[i, 1] * VT[1, j] * U[r, 0] * VT[0, s] \
+                        + M[3, 3] * U[i, 1] * VT[1, j] * U[r, 1] * VT[1, s]
+    return dP_div_dF
+
+

Next, we implement computing , and the tensor products with for chain rule based computation of elasticity energy gradient and Hessian:

+

+Implementation 15.2.2 (Energy derivatives w.r.t. , NeoHookeanEnergy.py).

+
def deformation_grad(x, elemVInd, IB):
+    F = [x[elemVInd[1]] - x[elemVInd[0]], x[elemVInd[2]] - x[elemVInd[0]]]
+    return np.transpose(F).dot(IB)
+
+def dPsi_div_dx(P, IB):  # applying chain-rule, dPsi_div_dx = dPsi_div_dF * dF_div_dx
+    dPsi_dx_2 = P[0, 0] * IB[0, 0] + P[0, 1] * IB[0, 1]
+    dPsi_dx_3 = P[1, 0] * IB[0, 0] + P[1, 1] * IB[0, 1]
+    dPsi_dx_4 = P[0, 0] * IB[1, 0] + P[0, 1] * IB[1, 1]
+    dPsi_dx_5 = P[1, 0] * IB[1, 0] + P[1, 1] * IB[1, 1]
+    return [np.array([-dPsi_dx_2 - dPsi_dx_4, -dPsi_dx_3 - dPsi_dx_5]), np.array([dPsi_dx_2, dPsi_dx_3]), np.array([dPsi_dx_4, dPsi_dx_5])]
+
+def d2Psi_div_dx2(dP_div_dF, IB):  # applying chain-rule, d2Psi_div_dx2 = dF_div_dx^T * d2Psi_div_dF2 * dF_div_dx (note that d2F_div_dx2 = 0)
+    intermediate = np.array([[0.0, 0.0, 0.0, 0.0]] * 6)
+    for colI in range(0, 4):
+        _000 = dP_div_dF[0, colI] * IB[0, 0]
+        _010 = dP_div_dF[0, colI] * IB[1, 0]
+        _101 = dP_div_dF[2, colI] * IB[0, 1]
+        _111 = dP_div_dF[2, colI] * IB[1, 1]
+        _200 = dP_div_dF[1, colI] * IB[0, 0]
+        _210 = dP_div_dF[1, colI] * IB[1, 0]
+        _301 = dP_div_dF[3, colI] * IB[0, 1]
+        _311 = dP_div_dF[3, colI] * IB[1, 1]
+        intermediate[2, colI] = _000 + _101
+        intermediate[3, colI] = _200 + _301
+        intermediate[4, colI] = _010 + _111
+        intermediate[5, colI] = _210 + _311
+        intermediate[0, colI] = -intermediate[2, colI] - intermediate[4, colI]
+        intermediate[1, colI] = -intermediate[3, colI] - intermediate[5, colI]
+    result = np.array([[0.0, 0.0, 0.0, 0.0, 0.0, 0.0]] * 6)
+    for colI in range(0, 6):
+        _000 = intermediate[colI, 0] * IB[0, 0]
+        _010 = intermediate[colI, 0] * IB[1, 0]
+        _101 = intermediate[colI, 2] * IB[0, 1]
+        _111 = intermediate[colI, 2] * IB[1, 1]
+        _200 = intermediate[colI, 1] * IB[0, 0]
+        _210 = intermediate[colI, 1] * IB[1, 0]
+        _301 = intermediate[colI, 3] * IB[0, 1]
+        _311 = intermediate[colI, 3] * IB[1, 1]
+        result[2, colI] = _000 + _101
+        result[3, colI] = _200 + _301
+        result[4, colI] = _010 + _111
+        result[5, colI] = _210 + _311
+        result[0, colI] = -_000 - _101 - _010 - _111
+        result[1, colI] = -_200 - _301 - _210 - _311
+    return result
+
+

Finally, Neo-Hookean energy value, gradient, and Hessian on the entire mesh can be computed as follows:

+

+Implementation 15.2.3 (Energy value, Gradient, and Hessian, NeoHookeanEnergy.py).

+
def val(x, e, vol, IB, mu, lam):
+    sum = 0.0
+    for i in range(0, len(e)):
+        F = deformation_grad(x, e[i], IB[i])
+        sum += vol[i] * Psi(F, mu[i], lam[i])
+    return sum
+
+def grad(x, e, vol, IB, mu, lam):
+    g = np.array([[0.0, 0.0]] * len(x))
+    for i in range(0, len(e)):
+        F = deformation_grad(x, e[i], IB[i])
+        P = vol[i] * dPsi_div_dF(F, mu[i], lam[i])
+        g_local = dPsi_div_dx(P, IB[i])
+        for j in range(0, 3):
+            g[e[i][j]] += g_local[j]
+    return g
+
+def hess(x, e, vol, IB, mu, lam):
+    IJV = [[0] * (len(e) * 36), [0] * (len(e) * 36), np.array([0.0] * (len(e) * 36))]
+    for i in range(0, len(e)):
+        F = deformation_grad(x, e[i], IB[i])
+        dP_div_dF = vol[i] * d2Psi_div_dF2(F, mu[i], lam[i])
+        local_hess = d2Psi_div_dx2(dP_div_dF, IB[i])
+        for xI in range(0, 3):
+            for xJ in range(0, 3):
+                for dI in range(0, 2):
+                    for dJ in range(0, 2):
+                        ind = i * 36 + (xI * 3 + xJ) * 4 + dI * 2 + dJ
+                        IJV[0][ind] = e[i][xI] * 2 + dI
+                        IJV[1][ind] = e[i][xJ] * 2 + dJ
+                        IJV[2][ind] = local_hess[xI * 2 + dI, xJ * 2 + dJ]
+    return IJV
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec15.3-filter_line_search.html b/lec15.3-filter_line_search.html new file mode 100644 index 0000000..52bc2b4 --- /dev/null +++ b/lec15.3-filter_line_search.html @@ -0,0 +1,296 @@ + + + + + + Filter Line Search for Non-Inversion - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Filter Line Search for Non-Inversion

+

To guarantee non-inversion just like non-interpenetration (see Filter Line Search) during the simulation, we can similarly filter the line search initial step size with a critical step size that first brings the volume of any triangles to . This can be obtained by solving a 1D equation per triangle: + +and taking the minimum of the solved step sizes. Here is the search direction of node , and in 2D, Equation (15.3.1) is equivalent to: + +with and , . Expanding Equation (15.3.2) we obtain: + +which can be reorganized as a quadratic equation of : + +Here, note that can be very tiny when the nodes do not move much or when their movement barely changes to triangle area in the current timestep, thus the equation can be degenerated into a linear one. To robustly detect this degenerate case, we cannot directly check whether is due to numerical errors. In fact, checking whether is below an epsilon is still tricky, because the scale of heavily depends on the scene dimension and nodal velocity during the simulation. Therefore, we use as a scaling and obtain a scaled but equivalent equation: + +where magnitude checks can be safely performed on any coefficients with unitless thresholds.

+

In practice, we also need to allow some slackness so that the step size to be taken will not lead to an exactly volume. Thus, we solve such that it first decreases the volume of any triangles by , which can be realized by modifying the constant term coefficient in Equation (15.3.3) from to :

+

+Implementation 15.3.1 (Filter line search, NeoHookeanEnergy.py).

+
def init_step_size(x, e, p):
+    alpha = 1
+    for i in range(0, len(e)):
+        x21 = x[e[i][1]] - x[e[i][0]]
+        x31 = x[e[i][2]] - x[e[i][0]]
+        p21 = p[e[i][1]] - p[e[i][0]]
+        p31 = p[e[i][2]] - p[e[i][0]]
+        detT = np.linalg.det(np.transpose([x21, x31]))
+        a = np.linalg.det(np.transpose([p21, p31])) / detT
+        b = (np.linalg.det(np.transpose([x21, p31])) + np.linalg.det(np.transpose([p21, x31]))) / detT
+        c = 0.9  # solve for alpha that first brings the new volume to 0.1x the old volume for slackness
+        critical_alpha = utils.smallest_positive_real_root_quad(a, b, c)
+        if critical_alpha > 0:
+            alpha = min(alpha, critical_alpha)
+    return alpha
+
+

Here, if the equation does not have a positive real root, that means for this specific triangle, the step size can be taken arbitrarily large and it will not trigger inversion.

+

The quadratic equation can be solved as

+

+Implementation 15.3.2 (Solve quadratic equation, utils.py).

+
def smallest_positive_real_root_quad(a, b, c, tol = 1e-6):
+    # return negative value if no positive real root is found
+    t = 0
+    if abs(a) <= tol:
+        if abs(b) <= tol: # f(x) = c > 0 for all x
+            t = -1
+        else:
+            t = -c / b
+    else:
+        desc = b * b - 4 * a * c
+        if desc > 0:
+            t = (-b - math.sqrt(desc)) / (2 * a)
+            if t < 0:
+                t = (-b + math.sqrt(desc)) / (2 * a)
+        else: # desv<0 ==> imag, f(x) > 0 for all x > 0
+            t = -1
+    return t
+
+

With scaled coefficients, we simply use a unitless threshold, e.g. \code{1e-6}, to check for degeneracies. If no positive real roots are found, the function simply returns .

+

Now as we filter the initial step size in addition to non-interpenetration:

+

+Implementation 15.3.3 (Apply filter, time_integrator.py).

+
        alpha = min(BarrierEnergy.init_step_size(x, n, o, p), NeoHookeanEnergy.init_step_size(x, e, p))  # avoid interpenetration, tunneling, and inversion
+
+

and make sure all added data structures and modified functions are reflected in the time integrator, we can finally simulate the compressing square example from Moving Boundary Condition with guaranteed non-inversion (see Figure 15.3.1).

+
+
+ +
+
+Figure 15.3.1. A square is dropped onto the ground and compressed severely by a ceiling while maintaining inversion-free throughout the simulation. The ground has friction coefficient so that the bottom of the square slides less than the top, where the ceiling has no friction.
+
+
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec15.4-summary.html b/lec15.4-summary.html new file mode 100644 index 0000000..8b1c849 --- /dev/null +++ b/lec15.4-summary.html @@ -0,0 +1,235 @@ + + + + + + Summary - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Summary

+

We have successfully implemented an inversion-free 2D elasticity simulation by discretizing the Neo-Hookean model using linear triangle elements.

+

By maintaining a linearly varying displacement field within each triangle, we can directly calculate a constant deformation gradient for each triangle using both the material and world space coordinates of the vertices. This foundational setup facilitates the computation of the Neo-Hookean energy, as well as its gradient and Hessian with respect to , by applying the chain rule. These calculations are essential for the optimization-based time integration discussed in previous lectures.

+

To ensure the simulation remains free of both interpenetration and inversion, we adopt a similar strategy as previously described: the initial step size in the line search is determined by solving a quadratic equation for each triangle. This equation calculates a critical step size that reduces the triangle's volume by 90%. The smallest of these critical step sizes across all triangles is then used to initialize the line search, ensuring robustness against both non-interpenetration and non-inversion.

+

In the upcoming chapter, we will delve into the derivation of the governing equations for hyperelastic solids, providing a detailed explanation of each step to further solidify understanding.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec16-strong_and_weak_forms.html b/lec16-strong_and_weak_forms.html new file mode 100644 index 0000000..9ebd250 --- /dev/null +++ b/lec16-strong_and_weak_forms.html @@ -0,0 +1,243 @@ + + + + + + Strong and Weak Forms - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Strong and Weak Forms

+

The update rules (refer to Equation (1.5.1)) and the corresponding optimization problems (refer to Equation (2.1.1)) utilized in solids simulation are derived by discretizing the conservation laws—our governing equations—from their continuous forms. This chapter will explore the derivation of both the strong and weak forms of these conservation laws. We will then discuss the methods for their temporal and spatial discretizations, which are essential for formulating the discrete problems we aim to solve.

+

The fundamental governing equations central to our study are the conservation of mass and the conservation of momentum (Newton's Second Law). We will outline these equations below and provide detailed derivations later in this lecture.

+
+

+Definition 16.1 (Strong Form). +Letting be the velocity defined over , the equations are [Gonzalez & Stuart 2008]: + +where and . Here is the mass density, , is the first Piola-Kirchoff stress, and is the constant gravitational acceleration. Note that , and the mass conservation can also be written as +

+
+

These equations are initially presented in their strong form. In this lecture, we will also derive the equivalent weak form of the force balance equation (conservation of momentum). The weak form reformulates the conservation law using integral expressions, which are crucial for the subsequent derivation of the temporal and spatial discretizations of the equations using the Finite Element Method.

+ + +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec16.1-mass_conserv.html b/lec16.1-mass_conserv.html new file mode 100644 index 0000000..54ce2f5 --- /dev/null +++ b/lec16.1-mass_conserv.html @@ -0,0 +1,251 @@ + + + + + + Conservation of Mass - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Conservation of Mass

+

We can think of the mass density to be naturally defined over as + +where is the world space counterpart of (the ball of radius surrounding an arbitrary ). +This is arguably a natural definition since should be a measurable quantity. Conservation of mass can be expressed as +

+ +

Now, with a change of variables, we have , so Equation (16.1.1) becomes + +and so + +since . +Then combining Equations (16.1.2), (16.1.3), and (16.1.4), we can express the conservation of mass as + +This just says that the mass in (as expressed via an integral of the mass density) should not change with time. This set is associated with a subset of the material at time and as it evolves in the flow, the material will take up more or less space, but there will always be the same amount (mass) of material in the set. Since is arbitrary, it must be true that +

+
+

+Remark 16.1.1 (Lagrangian and Eulerian Views). +In simulation methods that discretize and track materials directly based on , conservation of mass is inherently satisfied. For instance, in our Finite Element Method (FEM) simulator, is segmented into triangles, with the mass of each triangle remaining constant regardless of deformation throughout the simulation. This approach is known as the Lagrangian method. In contrast, Eulerian methods discretize and evolve physical quantities based on and often need to specially deal with mass conservation.

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec16.2-momentum_conserv.html b/lec16.2-momentum_conserv.html new file mode 100644 index 0000000..d29c487 --- /dev/null +++ b/lec16.2-momentum_conserv.html @@ -0,0 +1,256 @@ + + + + + + Conservation of Momentum - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Conservation of Momentum

+

In the continuous setting, forces are categorized into body forces (also known as external forces, such as gravity) and surface forces (or internal forces, typically stress-based, like those arising from elasticity). We define stress-based forces through a traction field, whose existence is assumed. The traction, or force per unit area, is represented by the field and is defined by the equation: + +where represents the outward-pointing normal direction in the material space. Here, denotes the net force exerted from the material outside on the material inside through their interface. The function quantifies the force per unit area () or length () that material on the side exerts at point on material on the side.

+

It can be shown that this implies the existence of a stress field (first Piola-Kirchoff stress) with: +

+

Then, by applying Newton's second law on , we can express the conservation of momentum as: + +for all and .

+

Applying the divergence theorem, we can transform the boundary integral in Equation (16.2.1) into a volume integral and obtain: + +for all and .

+
+

+Definition 16.2.1 (Divergence Theorem for Vectors). +For a vector-valued function defined on a closed domain , let be the outward-pointing normal on the boundary of this domain, the following equality holds: + +This theorem allows us to conveniently transform between boundary and volume integrals.

+
+

Here the divergence operator acts on every row vector of independently and results in a column vector: . Since Equation (16.2.2) also holds for arbitrary , we arrive at the strong form of the force balance equation by removing the integration: +

+
+

+Remark 16.2.1 (Momentum Conservation in Solid Simulation). +Conservation of momentum is the primary governing equation we use to simulate solids. As discussed previously, both the acceleration, denoted by , and the internal force, expressed as , can be described using world space coordinates . With all other relevant quantities established, we incrementally solve for to get dynamic motions step by step.

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec16.3-weak_form.html b/lec16.3-weak_form.html new file mode 100644 index 0000000..df7b655 --- /dev/null +++ b/lec16.3-weak_form.html @@ -0,0 +1,260 @@ + + + + + + Weak Form - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Weak Form

+

First, since the external force term resembles a lot to the time derivative of the momentum on the left-hand side, we will ignore it during the derivation for simplicity. +Then, for an arbitrary test function , let's compute the dot product to both sides of Equation (16.2.3) and integrate over to generate the weak form: + +Here we denote . Without going into details on finite element analysis, we claim that the weak form is sufficiently equivalent to the strong form since Equation (16.3.1) is required to hold for arbitrary , and solving the weak form provides us a solution that is a "good enough" soution to the original problem.

+

With index notation where means the -th component of vector-valued function , and means , we can rewrite Equation (16.3.1) as + +If we further omit the summation symbol and let the repetitive subscripts represent summation (this is known as Einstein notation), we obtain + +Now applying Integration By Parts on the right-hand side, we can rewrite Equation (16.3.3) as +

+
+

+Definition 16.3.1 (Integration By Parts). +For a scalar-valued function and a vector-valued function (vector field) , the product rule for divergence states that: + +Integrating both sides on domain then gives: +

+
+

Then if we further apply the divergence theorem on the first part of the right-hand side of Equation (16.3.4), we obtain + +The quantity would be specified as a boundary condition. If we let be the boundary force per unit reference area (traction) with , then we can say that the conservation of momentum implies that + +This is momentum conservation's weak form written in .

+ +
+

+Remark 16.3.1 (Why Weak Form). +In finite element method (FEM) for solids, conservation of momentum is formulated in the weak form rather than directly discretizing the strong form due to specific advantages. The strong form requires the displacement field and its derivatives to be continuously differentiable across the entire domain, which is difficult to achieve in practical scenarios involving complex geometries or material discontinuities. On the other hand, the weak form only requires the displacement field itself to be continuous, relaxing the need for continuous derivatives. This makes the weak form more adaptable to irregular mesh geometries and better suited for incorporating boundary conditions and handling interface problems. The weak form's integration-based approach reduces the sensitivity to local irregularities, making it more stable and robust for numerical computation in solid mechanics. Thus, while the strong form provides a direct representation of physical laws, its direct discretization is less practical for the computational demands and complexities typical in FEM analyses.

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec16.4-summary.html b/lec16.4-summary.html new file mode 100644 index 0000000..e3ec4e9 --- /dev/null +++ b/lec16.4-summary.html @@ -0,0 +1,234 @@ + + + + + + Summary - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Summary

+

In this lecture, we derived the strong forms of the governing equations—conservation of mass and conservation of momentum—focusing on an infinitesimal region within the simulation domain. The conservation of momentum equation was transformed from surface to volume integrals using the divergence theorem.

+

For Lagrangian simulation methods, such as FEM solid simulation, which discretize and monitor physical quantities based on the material space , the conservation of mass is inherently maintained. We then progressed to deriving the weak form of conservation of momentum. This involved integrating the dot product between the momentum terms and an arbitrary test function. The weak form is effectively equivalent to the strong form because the integral equation must satisfy any arbitrary test function. Techniques such as integration by parts and the application of the divergence theorem were essential in this derivation.

+

In our next lecture, we will discretize the weak form both temporally and spatially, further refining our approach to solve the discrete problems examined in our case studies.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec17-disc_weak_form.html b/lec17-disc_weak_form.html new file mode 100644 index 0000000..c6d4905 --- /dev/null +++ b/lec17-disc_weak_form.html @@ -0,0 +1,241 @@ + + + + + + Discretization of Weak Forms - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Discretization of Weak Forms

+

In this lecture, we will discretize the weak form of the momentum conservation equation (temporarily ignoring body forces) in both space and time to reach the discrete form—a system of equations introduced in the first lecture.

+

We will begin by focusing on a specific point in time, . From the weak form of the momentum conservation equation (Equation (16.3.6)), we have: + +for arbitrary , where the superscript denotes quantities measured at . Here:

+
    +
  • and are specified by the simulation setup,
  • +
  • can be calculated from the degrees of freedom via a constitutive law,
  • +
  • is the second-order time derivative of , and
  • +
  • is an arbitrary vector field.
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec17.1-discrete_space.html b/lec17.1-discrete_space.html new file mode 100644 index 0000000..7413d0f --- /dev/null +++ b/lec17.1-discrete_space.html @@ -0,0 +1,278 @@ + + + + + + Discrete Space - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Discrete Space

+

To enable numerical evaluation of the integrals in the weak form, the first step is to discretize the smooth vector fields and . This allows them to be represented by a finite set of samples, along with appropriate interpolation functions.

+
+

+Example 17.1.1 (1D Function Interpolation). +In 1D, to approximate a function using three sample points , , (Figure 17.1.1), we can use interpolation functions and form .

+
+ +
+
+Figure 17.1.1. With interpolation functions , , and sample points , , , a function can be approximated as .

+
+ +

Given a set of sample points indexed by or in the simulation domain, we can approximate the test function and the DOF as: + +where refers to the -th dimension of evaluated at sample point at time , and is the interpolation function at sample point . In this way, we similarly have: + +Plugging these discretizations into the weak form (Equation (17.1)) and expressing summations with the index notation, we obtain: + +On the left-hand side, we see that the sample values and are in fact independent of , so we can move them out of the integral and obtain: + +where + +is the mass matrix.

+
+

+Remark 17.1.1 (Mass Matrix Properties). +The mass matrix (Equation (17.1.2)) is symmetric and positive semi-definite because it can be expressed as: + +where . Thus, for any vector , + +In practice, this mass matrix may be singular. To address this, we typically use a "mass lumping" strategy to approximate the mass matrix with a diagonal and positive definite form. This is achieved by summing each row and defining: +

+
+

After spatial discretization, the solution of the weak form (Equation (17.1)) is confined to -dimensional function spaces, where represents the number of sample points, assuming all interpolation functions are mutually orthogonal. This means that there could be continuous solutions to the weak form outside of our solution space. In such cases, we can only provide an approximate solution based on the chosen sample points and interpolation functions.

+
+

+Definition 17.1.1 (Orthogonal Functions). +Similar to the orthogonality of two vectors and , defined as , the orthogonality of two functions and is defined as: + +Just as a basis of vectors can span a finite-dimensional space, orthogonal functions can form an infinite basis for a function space. Conceptually, the integral above is analogous to a vector dot product.

+
+

That being said, to generate equations solvable for the unknowns, the arbitrary test function does not need to cover all possibilities to produce an infinite number of equations. Instead, we only need to produce a finite set of equations that spans the entire solution space. Therefore, for traversing all sample points, and , we can assign the test function: + +to obtain equations: + +resulting in unknowns and equations, bringing us closer to the discrete form.

+

The two integrals on the right side of Equation (17.1.3) can be evaluated analytically or using quadrature rules, depending on the specific choice of interpolation functions. We will discuss these in detail in future lectures.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec17.2-discrete_time.html b/lec17.2-discrete_time.html new file mode 100644 index 0000000..b5a8b13 --- /dev/null +++ b/lec17.2-discrete_time.html @@ -0,0 +1,243 @@ + + + + + + Discrete Time - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Discrete Time

+

Discretization in time links to our degrees of freedom (DOF) . In the continuous setting, . Now, let us divide time into small intervals, , as discussed in the first chapter. Using the finite difference formula, we can conveniently approximate in terms of .

+

For example, with backward Euler: + +which gives us: + +where . Applying this relation at the sample points into Equation (17.1.3), we obtain: +

+

Then, by applying mass lumping and zero traction boundary conditions, i.e., , we finally see that Equation (17.2.1) is the -th row of the discrete form of backward Euler time integration in the first lecture: + +where the elasticity force is obtained by evaluating: + +which will be discussed in the next chapter.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec17.3-summary.html b/lec17.3-summary.html new file mode 100644 index 0000000..0afcc02 --- /dev/null +++ b/lec17.3-summary.html @@ -0,0 +1,237 @@ + + + + + + Summary - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Summary

+

In this lecture, we discretized the weak form of momentum conservation in both space and time, arriving at the system of equations for backward Euler time integration introduced in the first lecture.

+

Spatial Discretization:
+For spatial discretization, a finite number of points are sampled within the domain, and their displacements are used as the degrees of freedom (DOF) of the simulation. With the interpolation function associated with each DOF, the displacement at any point in the domain can be approximated, limiting the solution of the weak form to -dimensional function spaces formed by mutually orthogonal interpolation functions, where represents the number of sample points. In this way, the test function can be conveniently assigned to generate equations for solving the unknowns.

+

Temporal Discretization:
+The discretization of time connects the acceleration to the DOF via specific time integration rules. By applying mass lumping and assuming zero traction boundary conditions, we can ultimately derive the discrete form. The integration of interpolation functions will be covered in the next chapter.

+

In the next lecture, we will discuss boundary conditions and frictional contact in the continuous setting.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec18-BC_and_fric.html b/lec18-BC_and_fric.html new file mode 100644 index 0000000..2bc13e1 --- /dev/null +++ b/lec18-BC_and_fric.html @@ -0,0 +1,232 @@ + + + + + + Boundary Conditions and Frictional Contact - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Boundary Conditions and Frictional Contact

+

Until now, we've omitted the Dirichlet boundary conditions and frictional contact in both the strong and weak forms of the governing equations to keep the derivations concise and straightforward. However, as we learned in the Boundary Treatments chapter, this boundary information is crucial for accurately simulating a wide range of solid dynamics.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec18.1-incorporate_BC.html b/lec18.1-incorporate_BC.html new file mode 100644 index 0000000..f5e042f --- /dev/null +++ b/lec18.1-incorporate_BC.html @@ -0,0 +1,243 @@ + + + + + + Incorporating Boundary Conditions - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Incorporating Boundary Conditions

+

In the weak form we derived (see Equation (16.3.6)), there is a boundary term that describes the force acting on the boundary of the solid from the outside.

+

If there are no Dirichlet boundary conditions, the entire boundary is handled using Neumann Boundary Conditions, where the boundary force is specified as part of the problem setup. Recall that we discussed the Dirichlet Boundary Condition, where the displacements of the boundary are directly prescribed. In practice, external forces act on the Dirichlet boundaries to ensure their displacements precisely match the prescribed values, and these forces are calculated directly from those displacements.

+

In a solid simulation problem, boundaries can be either a Dirichlet boundary or a Neumann boundary, which can be described by a more general problem formulation in strong form: +

+

Here and are the Neumann and Dirichlet boundaries respectively, , , and and are given. After we derive the weak form of the momentum conservation (see Equation (18.1.1), first line), the boundary term can be separately considered for Dirichlet and Neumann boundaries: +

+

For Neumann boundaries, since the traction is provided, the above integral can be directly evaluated after discretization. However, for Dirichlet boundaries, remains unknown until we solve the problem. Therefore, a straightforward approach is to introduce the traction at Dirichlet boundaries as unknowns and solve the system that includes both the discretized weak form equations and the Dirichlet boundary conditions.

+
+

+Remark 18.1.1 (Optimization Form). +In the optimization form, the potential energy does not include any Dirichlet boundaries, effectively ignoring the boundary integral in the weak form. This is valid because the Dirichlet boundary conditions will be enforced by the linear equality constraints, and the corresponding discretized weak form equation will be overwritten.

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec18.2-normal_contact.html b/lec18.2-normal_contact.html new file mode 100644 index 0000000..278972b --- /dev/null +++ b/lec18.2-normal_contact.html @@ -0,0 +1,240 @@ + + + + + + Normal Contact for Nonpenetration - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Normal Contact for Non-penetration

+

To prevent self-interpenetration during simulation, it's essential to enforce a condition ensuring that the deformation map is bijective for any . This bijection is maintained by boundary forces acting on pairs of contacting surface regions, referred to as . We can think of these forces as another set of Neumann boundary conditions that exert extra forces on only when necessary to prevent interpenetration. Thus, we can extend the boundary integral term in the weak form as follows:

+

+

where is the original Neumann boundary force specified in the problem setup, and is the normal contact force arising from the bijectivity constraint.

+

Similar to Dirichlet boundary conditions, can only be determined once we solve the problem. However, enforcing non-interpenetration is more complex than prescribing displacements. Fortunately, we can use the approximate constitutive model of in IPC to represent the contact force as a function of , ensuring non-interpenetration by simply including this additional conservative force.

+
+

+Remark 18.2.1 (Overlapping Boundaries). +Note that here can overlap with both and . For a free (Neumann) boundary contacting a Dirichlet boundary, on the Dirichlet part will also be ignored when enforcing the Dirichlet boundary conditions. However, if two Dirichlet boundaries interpenetrate each other, the problem will have no solution with the bijectivity constraint.

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec18.3-barrier_potential.html b/lec18.3-barrier_potential.html new file mode 100644 index 0000000..4350a63 --- /dev/null +++ b/lec18.3-barrier_potential.html @@ -0,0 +1,263 @@ + + + + + + Barrier Potential - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Barrier Potential

+

As discussed in Distance Barrier for Nonpenetration, the principle of IPC for solid-to-obstacle contact is to use a barrier function to ensure that the signed distance between any nodal degrees of freedom (DOFs) and obstacles remains positive throughout the simulation. To handle self-contact, potentially for codimensional objects, this idea is extended to ensure that the unsigned distance between any boundary points and the boundary remains nonzero throughout the simulation.

+

Let's consider two colliding regions, and , on the boundary. For any point , we must ensure that the closest distance between and any point on remains nonzero. This can be achieved by using a barrier function to enforce this minimum distance, where the negative gradient of the function provides the contact force. This can be written as

+

+

where is the barrier function:

+

+

serving as the contact potential energy density. Here, the barrier function approaches infinity as the distance approaches zero, providing an arbitrarily large repulsive force to prevent interpenetration. When the distance is above the threshold and no contact is occurring, no contact forces are exerted. By using the barrier function, the non-smooth contact constraints are approximated by a constitutive model in which the force is conservative, enabling consistent resolution through an optimization-based time integrator.

+
+

+Remark 18.3.1 (Barrier Density). +Compared to Equation (7.2.3), the barrier energy density function here is additionally multiplied by to maintain consistent units after surface integration. Recall from Remark 7.2.1 that the barrier potential can be thought of as an extra thin layer of (-thick) virtual material right outside the boundary of the solids, and is analogous to Young's modulus.

+
+
+

+Remark 18.3.2 (Min Operator). +When multiple points have the same minimal distance to , the distance barrier of to all these points should be summed up. The min operator is non-smooth, which can still complicate optimization-based time integration. In the next chapter, we will demonstrate how this is approximated as described in Distance Barrier for Nonpenetration.

+
+

The case of two colliding regions results in a boundary integral:

+

+

where is defined in Equation (18.3.1), and:

+

+

However, we have ignored the self-contact of and in this example. Thus, generalizing to arbitrary self-contact for the whole domain, we can keep the single boundary integral term for contact as in Equation (18.2.1) and define the traction more generally as:

+

+

where is an infinitesimal circle around with the radius sufficiently small to avoid unnecessary contact forces between a point and its geodesic neighbors.

+
+

+Remark 18.3.3 (Barrier Force Limits). +In Equation (18.3.4), self-contact is ignored for points inside . This is the trade-off for smoothly approximating contact forces, which are discontinuous in a macroscopic view. Similarly, introduces another source of error. However, when and , our model converges to the discontinuous definition. Note that we also need , or there could still be some distance between and that causes the barrier to diverge in the limit.

+
+

Finally, we can define the contact potential over the whole boundary as:

+

+

Here, the coefficient is used because the barrier energy density of each pair of contacting points will be counted twice in the integral due to symmetry. When computing barrier forces, both occurrences need to be differentiated. Therefore, using the coefficient allows us to match the force definition in Equation (18.3.4). We'll elaborate on this in the next chapter under the discrete weak form.

+

The contact potential is not required in the weak form but will be useful for optimization-based time integration.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec18.4-friction_force.html b/lec18.4-friction_force.html new file mode 100644 index 0000000..c57e50b --- /dev/null +++ b/lec18.4-friction_force.html @@ -0,0 +1,238 @@ + + + + + + Friction Force - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Friction Force

+

Analogous to Frictional Contact, maximizing the dissipation rate subject to the Coulomb constraint defines friction forces per unit area variationally:

+

+

Here, is the relative sliding velocity between and the closest point , is the coefficient of friction, is the normal contact force per unit area, and is the normal direction.

+

This is equivalent to:

+

+

with when , while takes any unit vector orthogonal to when .

+

In addition, the friction scaling function is also nonsmooth with respect to , since when , and when . These nonsmooth properties can severely hinder or even break the convergence of gradient-based optimization. The mollification of the friction-velocity relationship here follows the same approach as in Frictional Contact.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec18.5-summary.html b/lec18.5-summary.html new file mode 100644 index 0000000..91131b9 --- /dev/null +++ b/lec18.5-summary.html @@ -0,0 +1,237 @@ + + + + + + Summary - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Summary

+

We have discussed Neumann and Dirichlet boundary conditions as well as frictional contact in the continuous setting to complete a rigorous problem formulation. Combining everything in strong form, for all :

+

+

After deriving the weak form of the momentum equation, the boundary integral term can be separated as follows:

+

+

Here, only the Neumann force is given, while all other boundary forces can be determined after solving the coupled system. Fortunately, Dirichlet boundary conditions can be enforced straightforwardly in the optimization framework as linear equality constraints. Frictional contact forces and can both be smoothly approximated as conservative forces with controllable error.

+

In the next chapter, we will discuss discretizing the weak form using the finite element method (FEM), connecting the derivations in this chapter to the discrete simulation methods.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec19-linear_FEM.html b/lec19-linear_FEM.html new file mode 100644 index 0000000..15e517e --- /dev/null +++ b/lec19-linear_FEM.html @@ -0,0 +1,240 @@ + + + + + + Linear Finite Elements - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Linear Finite Elements

+

From the governing equations in the continuous setting, we derived the discretized weak form system (nd equations) using the backward Euler time integration rule:

+

+In this chapter, we'll start by discussing the shape function in the context of linear finite elements. This exploration will help us understand the underlying implementation detailed in Inversion-Free Elasticity.

+

We'll focus specifically on simplex finite elements. In 2D, the 2-simplex is a triangle, and we've consistently used triangle meshes throughout this book to discretize the solid domain into a disjoint set of triangular elements.

+
+

+Definition 19.1 (Simplex).
+An n-simplex is a geometric object with vertices that exists in an -dimensional space. It cannot fit in any space of smaller dimension.

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec19.1-linear_disp_field.html b/lec19.1-linear_disp_field.html new file mode 100644 index 0000000..d6b298c --- /dev/null +++ b/lec19.1-linear_disp_field.html @@ -0,0 +1,250 @@ + + + + + + Piecewise Linear Displacement Field - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Piecewise Linear Displacement Field

+

For a triangle element with vertices , , and in the solid domain, we can approximate the world space coordinates of an arbitrary point in this element using spatial discretization (see Equation (17.1.1)):

+

+

This equation represents a 2D interpolation, extending Experiment Example 17.1.1. Here, we assume that the world space coordinates of any arbitrary point in an element can be interpolated solely from the coordinates of the element's vertices.

+

Linear finite elements use linear shape functions in Equation (19.1.1), resulting in a piecewise linear (per triangle) displacement field over the entire domain. Before providing the precise expression of in terms of , we'll introduce another parameter space to simplify the derivation.

+

Let and , we can use them to express the material space coordinates of an arbitrary point in the element as:

+

+

Here, is a linear function of . With linear shape functions, the approximation is a linear function of .

+

Recall that for interpolation, we have to satisfy the conditions . Putting these all together, we can obtain a unique solution:

+

+

where we denote as . This indicates that:

+

+

Interestingly, with the expression of , , and , we do not necessarily need the precise expression of and for the following derivations to compute each term in Equation (17.2.1).

+
+

+Remark 19.1.1 (Partition of Unity). The shape functions of FEM satisfy the partition of unity everywhere within each element: + +One advantage of FEM is that it provides accurate boundary resolution compared to grid or particle-based representations. The boundary nodes of the FEM mesh can be exactly located on the boundary of the continuous domain. The elements are generated inside the domain, connecting the boundary nodes to form the discrete boundary, which converges to the boundary of the continuous domain as resolution increases.
+Although particle-based methods can also sample particles on the domain boundary, their spherical shape functions extend beyond the domain, breaking the partition of unity. This creates a "soft" outbound layer of material that makes boundary force computations inaccurate. In contrast, FEM shape functions are nonzero only within each element, where the partition of unity is satisfied everywhere.

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec19.2-mass_matrix.html b/lec19.2-mass_matrix.html new file mode 100644 index 0000000..9d5b2f9 --- /dev/null +++ b/lec19.2-mass_matrix.html @@ -0,0 +1,247 @@ + + + + + + Mass Matrix and Lumping - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Mass Matrix and Lumping

+

Recall from Discretization of Weak Forms that:

+

+

With the solid domain discretized into triangles , we have:

+

+

where represents the material space of triangle . Note that for linear triangle elements, since is nonzero only on the incident triangles of node , here we only need to consider triangles with both and being their vertices.

+

Let us change the integration variable from to , which gives:

+

+

For simplicity, let us denote the vertices of this triangle as , , and , and then we have:

+

+

where is the area of triangle . Here, and take , , or depending on the vertex indices and . For example, if and correspond to the 2nd and 3rd vertices of triangle , then and . Assuming uniform density, we have:

+

+

With mass lumping, , which means:

+

+

where contains all the nodes of the mesh, and all off-diagonal entries of are . Similarly, due to the locality of , for each triangle element, only needs to traverse all three triangle vertices:

+

+

where denotes the set of triangles incident to node . This result also explains why in Inversion-Free Elasticity when computing the mass for all the nodes, we traverse all triangles, calculate the mass of the triangle and evenly distribute it to the three vertices. With the mass matrix computed, the momentum change and external body force terms including their energy forms are all easy to deal with.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec19.3-elasticity_term.html b/lec19.3-elasticity_term.html new file mode 100644 index 0000000..e13aec6 --- /dev/null +++ b/lec19.3-elasticity_term.html @@ -0,0 +1,249 @@ + + + + + + Elasticity Term - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Elasticity Term

+

For the elasticity term in the discrete weak form system in Equation (19.1), we can write it as the summation of integrals on each triangle in vector form:

+

+

Analogously, this summation also only needs to involve the incident triangles of node .

+

Recall from Strain Energy, to compute the first Piola-Kirchoff stress , we only need the deformation gradient . From Section Kinematics, we know that . Applying the chain rule with the parameter space variables as intermediates, we have:

+

+

which is exactly the same as Equation (15.1.1) from our earlier implementation (Section Inversion-Free Elasticity). Here, we also see that with linear finite elements, the deformation gradient field is piecewise constant in , so is .

+

Then for , depending on the index of in triangle , we can derive it again using parameter space variables as:

+

+

This also allows us to see that is constant within any triangle and it is equivalent to since:

+

+

Substituting into Equation (19.3.1) we obtain:

+

+

which is exactly how nodal elasticity force is computed in Section Inversion-Free Elasticity. This also indicates that the total elasticity potential can be calculated as , which is before spatial discretization.

+
+

+Remark 19.3.1. [Linear FEM] +Linear FEM refers to being a piecewise linear function of , but the elasticity model can still be nonlinear, i.e. can be a nonlinear function of .

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec19.4-summary.html b/lec19.4-summary.html new file mode 100644 index 0000000..ed1137f --- /dev/null +++ b/lec19.4-summary.html @@ -0,0 +1,233 @@ + + + + + + Summary - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Summary

+

Based on the temporally and spatially discretized weak form, we've explored methods to compute the mass matrix, deformation gradient, and elasticity force under the linear finite element setting, all of which align with our implementation in Section Inversion-Free Elasticity.

+

With linear finite elements, the world space coordinates are approximated as a piecewise linear function of . This approximation, , is a linear function inside each triangle and is -continuous at the edges. By using two parameters, and , to represent points on each triangle, we can identify the linear shape functions that interpolate the displacements at the triangle vertices and derive the deformation gradient . The mass matrix entries and elasticity terms can then be computed via integration with respect to and .

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec2-opt_framework.html b/lec2-opt_framework.html new file mode 100644 index 0000000..3cbde79 --- /dev/null +++ b/lec2-opt_framework.html @@ -0,0 +1,231 @@ + + + + + + Optimization Framework - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Lecture 2: Optimization Framework

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec2.1-opt_time_integration.html b/lec2.1-opt_time_integration.html new file mode 100644 index 0000000..9641677 --- /dev/null +++ b/lec2.1-opt_time_integration.html @@ -0,0 +1,250 @@ + + + + + + Optimization Time Integrator - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Optimization Time Integrator

+

With the backward Euler method, each timestep necessitates solving a nonlinear system of equations, as outlined in Equation (1.5.2). Effectively, this equates to addressing an optimization problem stated as: + +Here, \(\tilde{x}^n = x^n + \Delta t v^n\), \(\frac{1}{2} \|x - \tilde{x}^n\|^2_M = \frac{1}{2} (x - \tilde{x}^n)^T M (x - \tilde{x}^n)\) represents the inertia term, \(P(x)\) stands for the potential energy for forces \(f(x)\) with \(\frac{\partial P}{\partial x}(x) = -f(x)\), and \(E(x)\) is known as the Incremental Potential. At the local minimum of \(E(x)\), \(\frac{\partial E}{\partial x}(x^{n+1}) = 0\), corresponding to Equation (1.5.2).

+

Viewing time integration as an optimization problem enables us to utilize well-established optimization methods to robustly acquire the solutions. It also allows for a consistent framework for modeling more complex physical phenomena.

+
+

+Definition 2.1.1 (Conservative Forces). +Forces \(f(x)\) for which a potential energy \(P(x)\) exists such that \(\frac{\partial P(x)}{\partial x} = -f(x)\), are termed conservative forces. Both common elasticity forces and body forces such as gravity are examples of conservative forces. They can be easily integrated into the optimization framework by adding the potential energy term into the Incremental Potential.

+
+
+

+Remark 2.1.1 (The gravitational force). +The gravitational force acting on an object of mass \(m\) (represented by the force \(F = -mg\mathbf{z}\)) at a height \(h\) above the Earth's surface, where \(g\) is the acceleration due to gravity and \(\mathbf{z}\) is the upward-pointing unit vector, corresponds to the gravitational potential energy \(U = mgh\). Here, \(U\) is the work done against gravity to move the object from a reference point (at \(h = 0\)) to height \(h\). The force is the negative gradient of the energy with respect to the position (written mathematically as \(F = -\nabla U\)), which confirms the principle of conservation of energy. Taking the derivative of \(U\) with respect to \(h\), we obtain \(\nabla U = mg\mathbf{z}\), and thus \(F = -\nabla U = -mg\mathbf{z}\), which matches our starting expression for the force.

+
+
+

+Remark 2.1.2 (Elasticity). +Elasticity is the capacity of a solid object to maintain its resting shape in response to external forces. Under the influence of elasticity, the sample points on the same solid will be bound together during the simulation. A more rigid solid will have a stiffer elasticity energy, providing a larger elasticity force for the same degree of deformation, thereby aiding in the restoration of the resting shape. The Armadillo slingshot example (Figure 1.3.1) demonstrates typical elasticity effects. Elasticity is a common property across all solids, regardless of their geometric form, and whether they are intuitively rigid or non-rigid, e.g., metal, wood, soft tissue, rubber, cloth, hair, sand, etc.

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec2.2-dirichlet_BC.html b/lec2.2-dirichlet_BC.html new file mode 100644 index 0000000..a93e13f --- /dev/null +++ b/lec2.2-dirichlet_BC.html @@ -0,0 +1,244 @@ + + + + + + Dirichlet Boundary Conditions - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Dirichlet Boundary Conditions

+

Potential energies aren't the only means of modeling physical phenomena; constraints are equally vital. Let's start by considering the simplest form, linear equality constraints. The constrained optimization problem is defined as follows: + +Here, \(A\in \mathbb{R}^{m\times dn}\) and \(b\in \mathbb{R}^{m}\) represent \(m\) linear equality constraints.

+

During simulations, it's often necessary to control the position of certain points on a solid at each timestep. This can involve fixing a set of nodes to model immovable objects like the ground or obstacles, or guiding the motion of solids by moving specific nodes along predetermined paths. For example, in the slingshot scenario (Figure 1.3.1), the Armadillo's feet and ears are stationary. This type of control is known as Dirichlet boundary conditions (BC). These conditions can be expressed as linear equality constraints within the optimization time integrator framework.

+

To put it into perspective, the matrix \(A\) in Equation (2.2.1) would typically be an \(m\times dn\) matrix (with \(m\leq dn\) and \(m \mod d = 0\)), which selects the coordinates of the BC points. Correspondingly, \(b\) would be an \(m \times 1\) vector defining the prescribed locations. By solving the optimization problem, the chosen points are fixed at these specified locations, which can vary from one timestep to the next.

+

At the local minimum of the problem in Equation (2.2.1), the KKT condition + +is met, where \(\lambda \in \mathbb{R}^{m}\) represents the Lagrange multiplier vector, comprising all the Lagrange multipliers.

+
+

+Remark 2.2.1 (Solving KKT Systems). +Solving nonlinear optimization problems with equality constraints is feasible by directly addressing the nonlinear KKT (Karush-Kuhn-Tucker) system, as seen in Equation (2.2.2). Methods like Newton's method are commonly employed for this purpose. However, this approach can be computationally intensive. For boundary conditions, the unique structure of the matrix \(A\) can be leveraged, allowing us to resolve the constrained problem in an unconstrained manner. Techniques for this approach will be demonstrated in later lectures.

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec2.3-contact.html b/lec2.3-contact.html new file mode 100644 index 0000000..f295946 --- /dev/null +++ b/lec2.3-contact.html @@ -0,0 +1,280 @@ + + + + + + Contact - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Contact

+

To accurately simulate solids, it's essential to ensure that they don't interpenetrate, as shown in the figure below (left side). One effective approach is to enforce the CFL (Courant-Friedrichs-Lewy condition) upper limit on timestep sizes, particularly in methods like MPM. In Finite Element Methods (FEM), this requires precise modeling of contact forces. However, accurately modeling contact poses a challenge. Contact is inherently a non-smooth process, happening abruptly as solids make contact. There isn't a potential energy formulation that can accurately depict this phenomenon.

+
+ +
+Figure 2.3.1 (Simulation Examples of Contact and Friction). On the left, an intriguing simulation shows four characters plunging into a funnel and then being extruded by a moving plane. The flawless execution, marked by the absence of any interpenetration during this complex interaction, highlights the precision of the models employed. On the right, we see a simulation of the classic table cloth trick, executed at varying speeds. The realism in this simulation, especially the accurate depiction of friction, becomes apparent as the cloth is pulled away without disturbing the table setting — mirroring what one would expect in real life. These simulations showcase the incredible capabilities and precision of contemporary computational models in simulating contact, vividly and engagingly bringing abstract physical concepts to life.
+
+

In practical applications, determining if two objects have collided typically involves visually and mentally assessing their proximity. When the distance between them isn't zero, it indicates that space remains and no collision has occurred. This concept is crucial in modeling interactions between objects in a computational context.

+

To avoid collision or penetration, we can ensure that the distance between the surfaces of the moving objects never reduces to zero. This approach is particularly useful in time integration problems within computational simulations. We model this scenario using inequality constraints, which, when combined with boundary conditions, formulate our time integration problem as follows: + +Here, \(c_k\) measures the distance between specific pairs of regions on the surface of the solids, and \(\epsilon \rightarrow 0\) is a tiny positive value to ensure \(c_k(x)\) remains strictly positive.

+

At the local minimum of the problem in Equation (2.3.1), we adhere to the Karush-Kuhn-Tucker (KKT) condition, as follows: + +In this condition, \(\gamma_k\) is the Lagrange multiplier for the constraint \(c_k(x) \geq \epsilon\). To break it down, \(\nabla c_k(x)\) points in the direction of the contact force for contacting pair \(k\). The combination of this direction with the magnitude represented by \(\gamma_k\) gives us the actual contact force at that point.

+
+

+Remark 2.3.1 (The Complementarity Slackness Condition). +The complementarity slackness condition \(\gamma_k (c_k(x) - \epsilon) = 0\) plays a critical role in ensuring that contact forces are present (\(\gamma_k \neq 0\)) exclusively when the solids are in touch (\(c_k(x) = \epsilon\)). On the contrary, when the solids are not touching (\(c_k(x) > \epsilon\)), there should be no contact forces (\(\gamma_k = 0\)).

+
+
+

+Definition 2.3.1 (Active Set). +In optimization problems with inequality constraints defined as +\[ +\forall k, \ c_k(x) \geq 0, +\] +the active set is defined as +\[ +\{ l \ | \ c_l(x^*) = 0 \}. +\] +Here, \(x^*\) is a local optimal solution of the problem.

+
+
+

+Remark 2.3.2 (Combinatorial Difficulty). +The complementarity slackness condition reveals that only constraints within the active set will exhibit non-zero Lagrange multiplier \(\gamma_k\) at the solution. This suggests that, unlike equality constraints, inequality constraints not only require solving for the value of the Lagrange multipliers but also demand the identification of which \(\gamma_k\) should be set to \(0\). This presents a combinatorial difficulty.

+
+

A wide array of techniques are available for addressing optimization problems with inequality constraints. Each method introduces a distinct approach, effectively targeting various facets of the problem.

+
    +
  • +

    Primal-Dual Methods: This class of methods tackles both the primal problem (the original optimization problem) and its dual problem simultaneously. The dual problem often provides valuable insights into the primal problem's solution, making this approach attractive. These methods are iterative, refining an initial solution by leveraging the relationship between the primal and dual problems. However, designing and implementing primal-dual algorithms can be intricate, requiring a careful balance between the two problem types. While effective, these methods may not be efficient or straightforward for complex, high-dimensional problems.

    +
  • +
  • +

    Projected Steepest Descent Methods: A modification of the classic steepest descent method, these methods address constraints. At each iteration, the algorithm moves in the steepest descent direction, then projects back onto the feasible set if it deviates due to constraints. This method's simplicity and straightforwardness make it popular, but it may struggle with ill-conditioned problems where convergence is slow, or with constraints that are challenging to project onto.

    +
  • +
  • +

    Interior-Point Methods: Also known as barrier methods, these techniques introduce a barrier function that penalizes infeasible solutions, thereby steering the solution towards the feasible region's interior. This approach effectively transforms a constrained problem into an unconstrained one, solvable using conventional techniques. However, the barrier function's choice significantly impacts the method's performance. While efficient for certain problem types, these methods may falter with problems where the feasible region is difficult to define or lacks a simple interior.

    +
  • +
+

While each of these methodologies has its own strengths and weaknesses, our primary focus will be on a robust and accurate contact modeling method, known as Incremental Potential Contact (IPC). IPC distinguishes itself by approximating the contact process with a smooth potential energy. This transformation effectively turns the problem into an unconstrained one, facilitating the application of various efficient and robust optimization techniques. A key feature of IPC is its capability to control the approximation error relative to the non-smooth formulation within a predetermined bound. This characteristic adds a layer of robustness and reliability to the method, making it an especially promising approach for the problem at hand.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec2.4-friction.html b/lec2.4-friction.html new file mode 100644 index 0000000..14ed2ce --- /dev/null +++ b/lec2.4-friction.html @@ -0,0 +1,236 @@ + + + + + + Friction - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Friction

+

Friction is a crucial element in physical interactions involving movement, often significantly influencing simulation outcomes. Thus, its precise modeling is vital for realistic and reliable simulations. See Figure 2.3.1 on the right for a demonstration of a scenario that requires a precise representation of friction.

+

One of the most widely adopted models for friction is the Coulomb Friction model. This model hinges on the Maximal Dissipation Principal (MDP), effectively capturing the nonsmooth transition between static and dynamic frictions. Static friction is the force preventing an object from initiating movement, whereas dynamic friction, or kinetic friction, opposes the motion of a moving object. The Coulomb Friction model accurately depicts the critical transition between these two friction types.

+

In the standard Material Point Method (MPM), friction is inherently modeled by the grid. However, this method has its drawbacks, notably an uncontrollable and unrealistically large friction coefficient.

+

For the Finite Element Method (FEM), friction can be more realistically and controllably represented through an approximated potential energy in the Incremental Potential Contact (IPC) model. This fits well within our optimization time integration framework. By using potential energy to approximate friction, we not only maintain the robustness of the simulation but also gain control over the accuracy of the friction model.

+

In subsequent lectures, we will delve into the specific techniques and methodologies employed in the IPC model to represent friction forces and their role in enhancing the accuracy and realism of simulations.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec2.5-summary.html b/lec2.5-summary.html new file mode 100644 index 0000000..cc16b9e --- /dev/null +++ b/lec2.5-summary.html @@ -0,0 +1,241 @@ + + + + + + Summary - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Summary

+

The objective of our discussions so far has been to devise a reliable solution for the unconditional stable implicit time integration problem. We aimed to address the issue of non-convergent solutions arising from truncation errors. We tackled this by reformulating the time integration problem as a minimization problem. This formulation not only allowed us to apply well-established optimization techniques, but it also facilitated a consistent modeling framework for different physical phenomena.

+

Here is a quick summary of the techniques used for modeling various phenomena within this framework:

+
    +
  • For conservative forces like gravity and elasticity, we used potential energies. These were integrated into the objective function to create an accurate representation of the forces involved.
  • +
  • Boundary conditions, which specify the constraints on the system, were modeled using simple linear equality constraints. This helped us restrict the system to feasible states while performing the simulation.
  • +
  • To prevent interpenetration between solid objects during the simulation, we used inequality constraints to model contact and friction. These constraints ensured that objects maintained their physical integrity and behaved as expected when they came in contact with each other.
  • +
+

An important aspect to note here is that, we can utilize the unique structure of the boundary conditions to enforce the equality constraints in an unconstrained way. This will lead to a significant reduction in computational complexity.

+

Moreover, we introduced the concept of the Incremental Potential Contact (IPC) method. The IPC method models contact and friction as smooth potential energies with a controllable level of accuracy. This ensures a robust and accurate simulation of solid objects, free from interpenetration.

+

Moving forward, in the next lecture, we will delve into the projected Newton method for solving unconstrained optimization problems. This method offers the advantage of global convergence, meaning that the method is guaranteed to converge regardless of the initial configuration, provided it is feasible. This feature is highly desirable for complex simulations and it helps make the method more robust and reliable.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec20-pw_linear_boundary.html b/lec20-pw_linear_boundary.html new file mode 100644 index 0000000..17490d9 --- /dev/null +++ b/lec20-pw_linear_boundary.html @@ -0,0 +1,234 @@ + + + + + + Piecewise Linear Boundaries - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Piecewise Linear Boundaries

+

In this lecture, we will continue our discussion on linear finite elements by focusing on boundary conditions and frictional self-contact on piecewise linear boundaries. Specifically, we will examine the computation of the boundary integral term:

+

+

We will cover this in the context of Dirichlet and Neumann boundaries, as well as normal and frictional self-contact forces.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec20.1-boundary_conditions.html b/lec20.1-boundary_conditions.html new file mode 100644 index 0000000..5344c93 --- /dev/null +++ b/lec20.1-boundary_conditions.html @@ -0,0 +1,252 @@ + + + + + + Boundary Conditions - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Boundary Conditions

+

Dirichlet

+

Due to the accurate boundary resolution of the Finite Element Method (FEM), enforcing Dirichlet boundary conditions is straightforward. We only need to constrain the world-space coordinates of the boundary nodes to the prescribed values:

+

+

Once these constraints are properly enforced, the Dirichlet boundary integral term can be ignored.

+

This same mechanism can also be used to prescribe the displacement of any interior nodes. Although this does not directly correspond to any physical effects, it can simplify the simulation setup.

+

Neumann

+

For Neumann boundary conditions, we can evaluate the boundary integral term using the parameter space variables and . With triangle mesh discretization, we have:

+

+

where is the edge of triangle that is on the Neumann boundary.

+

For any boundary node in 2D, there will be at most two incident triangles to consider in the integration for linear shape functions. Let's examine the case with two incident triangles. Consider one of the integrals. Without loss of generality, assume (where corresponds to in triangle ), and that is the other node of on the boundary edge. Then, switching the integration variables to gives us:

+

+

Here, is simply the edge length . If is constant over the boundary at , we can compute:

+

+

Therefore, to add a constant Neumann force to the discrete system, we first calculate the length weight of each boundary node by distributing the length of the boundary edges evenly to their vertices, and then multiply by the traction . If is not constant over the boundary, more complex boundary integral calculations are needed. For a boundary node with only one incident triangle, its length weight comes from its two incident edges within the same triangle.

+
+

+Remark 20.1.1 (Neumann Boundary Conditions). Here, we observe that the specified traction in standard Neumann boundary conditions is independent of , which simplifies the derivation of the potential energy, even in the continuous setting for varying Neumann forces over the domain: + +To verify this, we can replace with for spatial discretization. Taking the derivative with respect to gives us the force integral term in the discrete weak form: +

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec20.2-obstacle_contact.html b/lec20.2-obstacle_contact.html new file mode 100644 index 0000000..a260cc1 --- /dev/null +++ b/lec20.2-obstacle_contact.html @@ -0,0 +1,255 @@ + + + + + + Solid-Obstacle Contact - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Solid-Obstacle Contact

+

Recall that we used a conservative force model to approximate the contact traction , allowing it to be directly evaluated given the current configuration of the solids. This results in a contact potential:

+

+

where is the barrier energy density function, and is an infinitesimal region around where contact is ignored for theoretical soundness.

+
+
+

For normal contact between simulated solids and collision obstacles (ignoring self-contact for now), can be written in a much simpler form + +Here and are the boundaries of the simulated solids and obstacles respectively, is the point-obstacle distance, and the simplification from two terms to one single term is due to symmetry in the continuous setting. +With triangle discretization, + +Similar to the derivation for Neumann boundaries, for any boundary node , with 2 incident triangles, let us look at one of the integral. Without loss of generality, we can assume ( corresponds to in triangle ), and that is the other node of on the boundary edge. Then, switching the integration variables to gives us + +Since and are both highly nonlinear functions, we could not obtain a closed-form expression for Equation (20.2.2). If we take the two end points and as quadrature points both with weights , we can approximate the integral as + +Then, the whole boundary integral can be approximated as + +assuming that and are the two neighbors of on the boundary. This is now exactly what has been implemented in Filter Line Search.

+
+

+Remark 20.2.1 (Quadrature Choice for Line Segment). Selecting the two end points () as quadrature points for a line segment integral (Equation (20.2.3)) is not a common design choice. Typically, Gaussian quadrature would use . The advantage of choosing is that it results in fewer quadrature points globally, thus reducing computational costs, as neighboring edges share end points.

+
+

To see how connects to the boundary integral (Equation (20.1)) in the discrete weak form, let us take the derivative of the discretized contact potential (Equation (20.2.1)) with respect to : + +Then we also verified that here.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec20.3-self_contact.html b/lec20.3-self_contact.html new file mode 100644 index 0000000..f81dbbe --- /dev/null +++ b/lec20.3-self_contact.html @@ -0,0 +1,253 @@ + + + + + + Self-Contact - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Self-Contact

+

With triangle discretization, the boundary of the domain is approximated as a polyline formed by a set of edges. Let us denote this set of boundary edges as , and the barrier potential becomes:

+

+

Here, is the set of edges that contain . Completely ignoring these edges is a specific choice of under the current discretization. The term is simply the point-edge distance , which can be calculated as either a point-point distance or a point-line distance depending on the relative positions of the point and the edge.

+

As we know, the barrier energy density function is already a smooth approximation to the discontinuous normal contact forces that prevent interpenetration between two colliding points. However, when considering self-contact between discrete surfaces (piecewise linear here), the non-smooth operator on point-edge distances is inevitable. This non-smoothness can still pose challenges for optimization time integrators.

+

To obtain a smooth barrier potential even in the case of piecewise linear boundaries, we first transform the operator to a operator, as the energy density function is a non-ascending function everywhere in the domain. This gives us:

+

+

Next, we need to smoothly approximate the operator. A straightforward choice is to use the smooth max function, such as the -norm function:

+

+

with sufficiently large. However, the exponent will couple multiple inputs together, increasing the stencil size and making the Hessian less sparse, which will make the simulation more computationally expensive.

+

Fortunately, due to the local support of , where the contact force only exists for distances smaller than , using is sufficient. With a relatively small , there will only be some redundant contact forces at the interface of boundary elements (Figure 20.3.1).

+
+
+ +
+
+Figure 20.3.1. In this simple two-edge illustration, the yellow and green regions are only counted once by the summation, but the blue region and the yellow-green overlap are counted twice. If we subtract once the blue region, then for the right-top boundary (convex), it becomes perfect, but for the left-bottom boundary (concave), we can still see some overlap that are counted twice.
+
+

Since the overlapping supports of from multiple boundary elements can be clearly identified, it is also possible to subtract the redundant barrier potentials in those regions, as discussed in detail in [Li et al. 2023]. For this book, let us keep it simple by using with the -norm formulation, which is just summation:

+

+

Approximating the integral under triangle discretization and picking the end points of each boundary edge as the quadrature points, we obtain the fully discrete form:

+

+

Similar to the solid-obstacle contact cases, can be derived by taking the derivative of the whole contact potential with respect to the nodal degrees of freedom (DOFs).

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec20.4-summary.html b/lec20.4-summary.html new file mode 100644 index 0000000..d0f209f --- /dev/null +++ b/lec20.4-summary.html @@ -0,0 +1,237 @@ + + + + + + Summary - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Summary

+

We have connected the discrete weak form (Equation (19.1)) to the implementations in Filter Line Search for boundary conditions and contact. Additionally, we have derived self-contact between discrete surfaces in 2D, which will be implemented in the next lecture.

+

The derivations follow a consistent methodology: first, rewrite the global integral as a summation of local element-wise integrals, and then approximate or analytically evaluate the local integrals using certain quadrature rules.

+

We didn't explicitly discuss friction in this lecture because its force definition in the continuous setting was covered in Boundary Conditions and Frictional Contact. Its integral approximation can be performed similarly to normal contact forces (see Case Study: 2D Frictional Self-Contact for details).

+

During the derivation, we also observed that the route we have taken from the strong form to the optimization time integration implementation, namely:

+

+

is not unique. We can directly write the continuous form of the potential energies and then perform spatial discretization and approximation to obtain the nodal forces. Readers interested in this approach can refer to Lagrangian Mechanics or Hamiltonian Mechanics.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec21-2d_self_contact.html b/lec21-2d_self_contact.html new file mode 100644 index 0000000..6ff9b2c --- /dev/null +++ b/lec21-2d_self_contact.html @@ -0,0 +1,234 @@ + + + + + + Case Study: 2D Self-Contact* - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Case Study: 2D Self-Contact*

+

We have finished connecting linear finite elements to the weak form derivation for elastodynamics and frictional contact. Now, it's time to see how these concepts are implemented in code. In this lecture, we will implement 2D frictionless self-contact based on our Python development of the inversion-free elasticity simulation from Case Study: Inversion-free Elasticity.

+

The executable Python project for this section can be found at https://github.com/phys-sim-book/solid-sim-tutorial under the 7_self_contact folder.

+

We will implement frictional self-contact in the next lecture.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec21.1-scene_setup.html b/lec21.1-scene_setup.html new file mode 100644 index 0000000..7d7d969 --- /dev/null +++ b/lec21.1-scene_setup.html @@ -0,0 +1,286 @@ + + + + + + Scene Setup and Boundary Element Collection - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Scene Setup and Boundary Element Collection

+

To begin with, we set up a new scene with two squares falling onto the ground, compressed by the ceiling so that self-contact will occur between these squares.

+

+Implementation 21.1.1 (Simulation setup, simulator.py).

+
# simulation setup
+side_len = 0.45
+rho = 1000      # density of square
+E = 1e5         # Young's modulus
+nu = 0.4        # Poisson's ratio
+n_seg = 2       # num of segments per side of the square
+h = 0.01        # time step size in s
+DBC = [(n_seg + 1) * (n_seg + 1) * 2]   # dirichlet node index
+DBC_v = [np.array([0.0, -0.5])]         # dirichlet node velocity
+DBC_limit = [np.array([0.0, -0.7])]     # dirichlet node limit position
+ground_n = np.array([0.0, 1.0])         # normal of the slope
+ground_n /= np.linalg.norm(ground_n)    # normalize ground normal vector just in case
+ground_o = np.array([0.0, -1.0])        # a point on the slope  
+mu = 0.4        # friction coefficient of the slope
+
+# initialize simulation
+[x, e] = square_mesh.generate(side_len, n_seg)       # node positions and triangle node indices of the top square
+e = np.append(e, np.array(e) + [len(x)] * 3, axis=0) # add triangle node indices of the bottom square
+x = np.append(x, x + [side_len * 0.1, -side_len * 1.1], axis=0) # add node positions of the bottom square
+
+

In line 17, we adapt the DOF index of the ceiling from seg+1) to seg+1)2, as we now have two squares. Line 26 generates the first square on the top, while lines 27 and 28 generate the second square on the bottom by creating copies and offsets.

+

The initial frame, as shown in Figure 21.1.1, is now established. However, without handling self-contact, these two squares cannot interact with each other yet.

+
+
+ +
+Figure 21.1.1. The new scene setup with 2 squares to fall.
+
+
+

To handle contact, we first need to collect all boundary elements. In 2D, this involves identifying the nodes and edges on the boundary where contact forces will be applied to all close but non-incident point-edge pairs. The following function finds all boundary nodes and edges given a triangle mesh:

+

+Implementation 21.1.2 (Collect boundary elements, square_mesh.py).

+
def find_boundary(e):
+    # index all half-edges for fast query
+    edge_set = set()
+    for i in range(0, len(e)):
+        for j in range(0, 3):
+            edge_set.add((e[i][j], e[i][(j + 1) % 3]))
+
+    # find boundary points and edges
+    bp_set = set()
+    be = []
+    for eI in edge_set:
+        if (eI[1], eI[0]) not in edge_set:
+            # if the inverse edge of a half-edge does not exist,
+            # then it is a boundary edge
+            be.append([eI[0], eI[1]])
+            bp_set.add(eI[0])
+            bp_set.add(eI[1])
+    return [list(bp_set), be]
+
+

This function is called in simulator.py, and the boundary elements are then passed to the time integrator for energy, gradient, and Hessian evaluations, as well as line search filtering.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec21.2-point_edge_dist.html b/lec21.2-point_edge_dist.html new file mode 100644 index 0000000..e8e20e7 --- /dev/null +++ b/lec21.2-point_edge_dist.html @@ -0,0 +1,319 @@ + + + + + + Point-Edge Distance - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Point-Edge Distance

+

Next, we calculate the point-edge distance and its derivatives. These will be used to solve for the contact forces. For a node and an edge , their squared distance is defined as

+

+

which is the closest squared distance between and any point on .

+
+

+Remark 21.2.1 (Distance Calculation Optimization). +Here, we use the squared unsigned distances for evaluating the contact energies. This approach avoids taking square roots, which can complicate the expression of the derivatives and increase numerical rounding errors during computation. Additionally, unsigned distances can be directly extended for codimensional pairs, such as point-point pairs, which are useful when simulating particle contacts in 2D. They also do not suffer from locking issues, as signed distances do, when there are large displacements.

+
+

Fortunately, is a piece-wise smooth function w.r.t. the DOFs: + +where the smooth expression can be determined by checking whether the node is inside the orthogonal span of the edge. Given these smooth expressions, we can differentiate each of them and obtain the derivatives of the point-edge distance function. The implementations are as follows:

+

+Implementation 21.2.1 (Point-Edge distance calculation (Hessian omitted), PointEdgeDistance.py).

+
import numpy as np
+
+import distance.PointPointDistance as PP
+import distance.PointLineDistance as PL
+
+def val(p, e0, e1):
+    e = e1 - e0
+    ratio = np.dot(e, p - e0) / np.dot(e, e)
+    if ratio < 0:    # point(p)-point(e0) expression
+        return PP.val(p, e0)
+    elif ratio > 1:  # point(p)-point(e1) expression
+        return PP.val(p, e1)
+    else:            # point(p)-line(e0e1) expression
+        return PL.val(p, e0, e1)
+
+def grad(p, e0, e1):
+    e = e1 - e0
+    ratio = np.dot(e, p - e0) / np.dot(e, e)
+    if ratio < 0:    # point(p)-point(e0) expression
+        g_PP = PP.grad(p, e0)
+        return np.reshape([g_PP[0:2], g_PP[2:4], np.array([0.0, 0.0])], (1, 6))[0]
+    elif ratio > 1:  # point(p)-point(e1) expression
+        g_PP = PP.grad(p, e1)
+        return np.reshape([g_PP[0:2], np.array([0.0, 0.0]), g_PP[2:4]], (1, 6))[0]
+    else:            # point(p)-line(e0e1) expression
+        return PL.grad(p, e0, e1)
+
+

It can be verified that the point-edge distance function is -continuous everywhere, including at the interfaces between different segments. For the point-point case, we have:

+

+Implementation 21.2.2 (Point-Point distance calculation, PointPointDistance.py).

+
import numpy as np
+
+def val(p0, p1):
+    e = p0 - p1
+    return np.dot(e, e)
+
+def grad(p0, p1):
+    e = p0 - p1
+    return np.reshape([2 * e, -2 * e], (1, 4))[0]
+
+def hess(p0, p1):
+    H = np.array([[0.0] * 4] * 4)
+    H[0, 0] = H[1, 1] = H[2, 2] = H[3, 3] = 2
+    H[0, 2] = H[1, 3] = H[2, 0] = H[3, 1] = -2
+    return H
+
+

For the point-line case, the distance evaluations can be implemented as follows, and the derivatives can be obtained using symbolic differentiation tools.

+

+Implementation 21.2.3 (Point-Line distance calculation (Hessian omitted), PointLineDistance.py).

+
import numpy as np
+
+def val(p, e0, e1):
+    e = e1 - e0
+    numerator = e[1] * p[0] - e[0] * p[1] + e1[0] * e0[1] - e1[1] * e0[0]
+    return numerator * numerator / np.dot(e, e)
+
+def grad(p, e0, e1):
+    g = np.array([0.0] * 6)
+    t13 = -e1[0] + e0[0]
+    t14 = -e1[1] + e0[1]
+    t23 = 1.0 / (t13 * t13 + t14 * t14)
+    t25 = ((e0[0] * e1[1] + -(e0[1] * e1[0])) + t14 * p[0]) + -(t13 * p[1])
+    t24 = t23 * t23
+    t26 = t25 * t25
+    t27 = (e0[0] * 2.0 + -(e1[0] * 2.0)) * t24 * t26
+    t26 *= (e0[1] * 2.0 + -(e1[1] * 2.0)) * t24
+    g[0] = t14 * t23 * t25 * 2.0
+    g[1] = t13 * t23 * t25 * -2.0
+    t24 = t23 * t25
+    g[2] = -t27 - t24 * (-e1[1] + p[1]) * 2.0
+    g[3] = -t26 + t24 * (-e1[0] + p[0]) * 2.0
+    g[4] = t27 + t24 * (p[1] - e0[1]) * 2.0
+    g[5] = t26 - t24 * (p[0] - e0[0]) * 2.0
+    return g
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec21.3-barrier_and_derivatives.html b/lec21.3-barrier_and_derivatives.html new file mode 100644 index 0000000..c7df107 --- /dev/null +++ b/lec21.3-barrier_and_derivatives.html @@ -0,0 +1,293 @@ + + + + + + Barrier Energy and Its Derivatives - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Barrier Energy and Its Derivatives

+

With the point-edge distance functions implemented, we can traverse all point-edge pairs to assemble the total barrier energy and its derivatives. These will be used to solve for the search direction in the time-stepping optimization.

+

Since squared distances are used, here we rescale the barrier function to + +so that + +still holds. Analogous to elasticity, can be viewed as a strain measure, then the 2nd-order derivative of the energy density (per area) function w.r.t. at would correspond to Young's modulus times thickness , which makes physically meaningful and convenient to set.

+

Based on Equation (20.3.1), we can derive the gradient and Hessian of the barrier potential as + +where and we omitted the superscripts and subscripts for the squared point-edge distance functions ( denotes here).

+

The energy, gradient, and Hessian of the barrier contact potential are implemented as follows:

+

+Implementation 21.3.1 (Barrier energy computation, BarrierEnergy.py).

+
    # self-contact
+    dhat_sqr = dhat * dhat
+    for xI in bp:
+        for eI in be:
+            if xI != eI[0] and xI != eI[1]: # do not consider a point and its incident edge
+                d_sqr = PE.val(x[xI], x[eI[0]], x[eI[1]])
+                if d_sqr < dhat_sqr:
+                    s = d_sqr / dhat_sqr
+                    # since d_sqr is used, need to divide by 8 not 2 here for consistency to linear elasticity:
+                    sum += 0.5 * contact_area[xI] * dhat * kappa / 8 * (s - 1) * math.log(s)
+
+

+Implementation 21.3.2 (Barrier energy gradient computation, BarrierEnergy.py).

+
    # self-contact
+    dhat_sqr = dhat * dhat
+    for xI in bp:
+        for eI in be:
+            if xI != eI[0] and xI != eI[1]: # do not consider a point and its incident edge
+                d_sqr = PE.val(x[xI], x[eI[0]], x[eI[1]])
+                if d_sqr < dhat_sqr:
+                    s = d_sqr / dhat_sqr
+                    # since d_sqr is used, need to divide by 8 not 2 here for consistency to linear elasticity:
+                    local_grad = 0.5 * contact_area[xI] * dhat * (kappa / 8 * (math.log(s) / dhat_sqr + (s - 1) / d_sqr)) * PE.grad(x[xI], x[eI[0]], x[eI[1]])
+                    g[xI] += local_grad[0:2]
+                    g[eI[0]] += local_grad[2:4]
+                    g[eI[1]] += local_grad[4:6]
+
+

+Implementation 21.3.3 (Barrier energy Hessian computation, BarrierEnergy.py).

+
    # self-contact
+    dhat_sqr = dhat * dhat
+    for xI in bp:
+        for eI in be:
+            if xI != eI[0] and xI != eI[1]: # do not consider a point and its incident edge
+                d_sqr = PE.val(x[xI], x[eI[0]], x[eI[1]])
+                if d_sqr < dhat_sqr:
+                    d_sqr_grad = PE.grad(x[xI], x[eI[0]], x[eI[1]])
+                    s = d_sqr / dhat_sqr
+                    # since d_sqr is used, need to divide by 8 not 2 here for consistency to linear elasticity:
+                    local_hess = 0.5 * contact_area[xI] * dhat * utils.make_PSD(kappa / (8 * d_sqr * d_sqr * dhat_sqr) * (d_sqr + dhat_sqr) * np.outer(d_sqr_grad, d_sqr_grad) \
+                        + (kappa / 8 * (math.log(s) / dhat_sqr + (s - 1) / d_sqr)) * PE.hess(x[xI], x[eI[0]], x[eI[1]]))
+                    index = [xI, eI[0], eI[1]]
+                    for nI in range(0, 3):
+                        for nJ in range(0, 3):
+                            for c in range(0, 2):
+                                for r in range(0, 2):
+                                    IJV[0].append(index[nI] * 2 + r)
+                                    IJV[1].append(index[nJ] * 2 + c)
+                                    IJV[2] = np.append(IJV[2], local_hess[nI * 2 + r, nJ * 2 + c])
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec21.4-ccd.html b/lec21.4-ccd.html new file mode 100644 index 0000000..81dd070 --- /dev/null +++ b/lec21.4-ccd.html @@ -0,0 +1,324 @@ + + + + + + Continuous Collision Detection - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Continuous Collision Detection

+

Now, we have all the ingredients to solve for the search direction in a simulation with self-contact. After obtaining the search direction, we perform line search filtering for the point-edge pairs.

+

+Implementation 21.4.1 (Line search filtering, BarrierEnergy.py).

+
    # self-contact
+    for xI in bp:
+        for eI in be:
+            if xI != eI[0] and xI != eI[1]: # do not consider a point and its incident edge
+                if CCD.bbox_overlap(x[xI], x[eI[0]], x[eI[1]], p[xI], p[eI[0]], p[eI[1]], alpha):
+                    toc = CCD.narrow_phase_CCD(x[xI], x[eI[0]], x[eI[1]], p[xI], p[eI[0]], p[eI[1]], alpha)
+                    if alpha > toc:
+                        alpha = toc
+
+

Here, we perform an overlap check on the bounding boxes of the spans of the point and edge first to narrow down the number of point-edge pairs for which we need to compute the time of impact:

+

+Implementation 21.4.2 (Bounding box overlap check, CCD.py).

+
from copy import deepcopy
+import numpy as np
+import math
+
+import distance.PointEdgeDistance as PE
+
+# check whether the bounding box of the trajectory of the point and the edge overlap
+def bbox_overlap(p, e0, e1, dp, de0, de1, toc_upperbound):
+    max_p = np.maximum(p, p + toc_upperbound * dp) # point trajectory bbox top-right
+    min_p = np.minimum(p, p + toc_upperbound * dp) # point trajectory bbox bottom-left
+    max_e = np.maximum(np.maximum(e0, e0 + toc_upperbound * de0), np.maximum(e1, e1 + toc_upperbound * de1)) # edge trajectory bbox top-right
+    min_e = np.minimum(np.minimum(e0, e0 + toc_upperbound * de0), np.minimum(e1, e1 + toc_upperbound * de1)) # edge trajectory bbox bottom-left
+    if np.any(np.greater(min_p, max_e)) or np.any(np.greater(min_e, max_p)):
+        return False
+    else:
+        return True
+
+

To calculate a sufficiently large conservative estimation of the time of impact (TOI), we cannot directly calculate the TOI and take a proportion of it as we did for point-ground contact in Filter Line Search. Directly calculating the TOI for contact primitive pairs requires solving quadratic or cubic root-finding problems in 2D and 3D, which are prone to numerical errors, especially when distances are tiny and configurations are numerically degenerate (e.g., nearly parallel edge-edge pairs in 3D).

+

Thus, we implement the additive CCD method (ACCD) [Li et al. 2021], which iteratively moves the contact pairs along the search direction until the minimum separation distance is reached, to robustly estimate the TOI.

+

Taking a point-edge pair as an example, the key insight of ACCD is that, given the current positions , , and search directions , , , its TOI can be calculated as

+

+

assuming is the point on the edge that will first collide with. +The issue is that we do not know a priori. However, we can derive a lower bound for as

+

+

By taking a step with this lower bound , we are guaranteed to have no interpenetration for this pair. However, although straightforward to compute, can be much smaller than . Therefore, we iteratively calculate and advance a copy of the participating nodes by this amount, accumulating all to monotonically improve the estimate of until the point-edge pair reaches a distance smaller than the minimum separation, e.g., the original distance. The implementation is as follows, where we first remove the shared components of the search directions so that they have smaller magnitudes to achieve earlier termination of the algorithm.

+

+Implementation 21.4.3 (ACCD method implementation, CCD.py).

+
# compute the first "time" of contact, or toc,
+# return the computed toc only if it is smaller than the previously computed toc_upperbound
+def narrow_phase_CCD(_p, _e0, _e1, _dp, _de0, _de1, toc_upperbound):
+    p = deepcopy(_p)
+    e0 = deepcopy(_e0)
+    e1 = deepcopy(_e1)
+    dp = deepcopy(_dp)
+    de0 = deepcopy(_de0)
+    de1 = deepcopy(_de1)
+
+    # use relative displacement for faster convergence
+    mov = (dp + de0 + de1) / 3 
+    de0 -= mov
+    de1 -= mov
+    dp -= mov
+    maxDispMag = np.linalg.norm(dp) + math.sqrt(max(np.dot(de0, de0), np.dot(de1, de1)))
+    if maxDispMag == 0:
+        return toc_upperbound
+
+    eta = 0.1 # calculate the toc that first brings the distance to 0.1x the current distance
+    dist2_cur = PE.val(p, e0, e1)
+    dist_cur = math.sqrt(dist2_cur)
+    gap = eta * dist_cur
+    # iteratively move the point and edge towards each other and
+    # grow the toc estimate without numerical errors
+    toc = 0
+    while True:
+        tocLowerBound = (1 - eta) * dist_cur / maxDispMag
+
+        p += tocLowerBound * dp
+        e0 += tocLowerBound * de0
+        e1 += tocLowerBound * de1
+        dist2_cur = PE.val(p, e0, e1)
+        dist_cur = math.sqrt(dist2_cur)
+        if toc != 0 and dist_cur < gap:
+            break
+
+        toc += tocLowerBound
+        if toc > toc_upperbound:
+            return toc_upperbound
+
+    return toc
+
+

The final simulation results are demonstrated in Figure 21.4.1.

+
+
+ +
+
+Figure 21.4.1. Two squares dropped onto the ground and compressed by a ceiling. The ground has friction coefficient but there is no friction between the squares so that the top square slides down to the ground without significantly changing the position of the bottom one.
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec21.5-summary.html b/lec21.5-summary.html new file mode 100644 index 0000000..9bad6d0 --- /dev/null +++ b/lec21.5-summary.html @@ -0,0 +1,236 @@ + + + + + + Summary - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Summary

+

We have implemented frictionless self-contact with guaranteed non-intersection for 2D FEM simulations by discretizing barrier energies onto the non-incident point-edge pairs on the boundary.

+

To compute the barrier energies, we used squared point-edge distances to avoid potential numerical issues. The point-edge distance is a piecewise smooth function with closed-form expressions depending on the relative positions of the point and the edge, and the overall function is -continuous everywhere. The derivatives of the function can be conveniently obtained by applying symbolic differentiation to each expression.

+

For line search filtering, instead of directly computing the time of impact (TOI) which is prone to numerical issues, we implemented the additive CCD method (ACCD) to obtain a sufficiently large and conservative estimate of TOI. ACCD is an iterative method that accumulates lower bounds of TOI while progressively advancing the nodes along the search direction. Before running ACCD, we perform overlap checks on the bounding boxes of the point's and edge's spans to quickly filter out non-colliding pairs.

+

In later lectures, we will see that for large-scale scenes in 3D, efficient spatial indexing strategies such as spatial hashing and bounding box hierarchies (BVH) will be needed to significantly reduce the expensive spatial search costs.

+

In the next lecture, we will implement frictional self-contact based on what we have just developed.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec22-2d_self_fric.html b/lec22-2d_self_fric.html new file mode 100644 index 0000000..f2d6856 --- /dev/null +++ b/lec22-2d_self_fric.html @@ -0,0 +1,234 @@ + + + + + + 2D Frictional Self-Contact* - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

2D Frictional Self-Contact*

+

In this lecture, we implement 2D friction based on our 2D self-contact implementation in Case Study: 2D Self-Contact. The executable Python project for this section can be found at https://github.com/phys-sim-book/solid-sim-tutorial.

+

For simplicity, we will focus on implementing a semi-implicit version of friction. This means the normal force magnitude and the tangent operator will be discretized to the last time step, and we solve the optimization once per time step without further fixed-point iterations that converge to solutions with fully-implicit friction (Frictional Contact) under the 8_self_friction folder.

+

Combined with the smoothly approximated static-dynamic friction transition in IPC, implementing friction into an optimization time integration framework is as straightforward as adding an extra potential energy.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec22.1-disc_and_approx.html b/lec22.1-disc_and_approx.html new file mode 100644 index 0000000..18c877f --- /dev/null +++ b/lec22.1-disc_and_approx.html @@ -0,0 +1,248 @@ + + + + + + Discretization and Approximation - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Discretization and Approximation

+

From Equation (18.4.2), the friction force per unit area is defined as

+

+

where is the friction coefficient, is the normal contact force, and is the relative sliding velocity. Here when , while takes any unit vector orthogonal to the normal when . Additionally, the friction scaling function is also nonsmooth with respect to , as when , and when .

+

It is important to note that without temporal discretization, there is no potential energy for friction. However, similar to Frictional Contact, once we discretize the normal force magnitude and the tangent operator to the last time step and smoothly approximate the friction scaling function , the friction force at the -th time step becomes integrable with respect to , and we obtain

+

+

Here, is the approximate relative sliding velocity, where and are the normal direction and the point in contact with in the last time step, , and

+

+

Therefore, considering self-contact, the approximate friction potential over the entire boundary can be written as

+

+

where the scaling comes from double counting the friction between each pair of contact points in the integral (similar to the normal contact forces in Boundary Conditions and Frictional Contact).

+

After discretizing the boundary curves as polylines and approximating the max operator in the normal contact force component using summations (Piecewise Linear Boundaries), we similarly obtain the spatially discretized friction potential:

+

+

Here, is the point-edge distance between and edge in the last time step, and is the approximate relative sliding velocity of the point-edge pair with contact normal and the closest point discretized to the last time step (see next section for details).

+

If we choose boundary nodes as quadrature points to approximate the integral, we finally obtain our discrete friction potential:

+

+

where is the integration weight. Denoting and , the expression of agrees with the discrete form of Equation (9.2.1) we directly derived, except that here traverses all non-incident point-edge pairs on the boundary.

+

Based on this discrete form of the smoothed semi-implicit friction potential, we now need to determine how to calculate and for point-edge pairs, implement the computation of the value, gradient, and Hessian of , and then incorporate them into the optimization.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec22.2-precompute.html b/lec22.2-precompute.html new file mode 100644 index 0000000..dfaa2b6 --- /dev/null +++ b/lec22.2-precompute.html @@ -0,0 +1,281 @@ + + + + + + Precomputing Normal and Tangent Information - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Precomputing Normal and Tangent Information

+

To make the temporally discretized friction force integrable, we must explicitly discretize certain normal and tangent information. This information only needs to be calculated once at the beginning of each time step, as it will remain constant during each optimization.

+

First, we need to calculate for each point-edge pair using . Recall that we used squared distances as input for the barrier functions, so should be calculated using the chain rule as follows:

+

+

According to the scaled barrier function taking squared distance as input (Equation (21.3.1)), we can derive

+

+
+

+Remark 22.2.1. The set of point-edge pairs for friction in our semi-implicit friction setting is fixed in each time step and is different from the set of normal contact pairs. The set for friction only contains those pairs with , and this does not change with the optimization variable in the current time step.

+
+

Now for the tangent information, the key is to keep the normal and the barycentric coordinate of the closest point on the edge constant. For the -th point-edge pair, if we denote the node indices for the point and edge as , , and , then we can write the relative sliding velocity as

+

+

where is the barycentric coordinate and is the normal of the edge. Here we see that and are both dependent on , so directly integrating is nontrivial. By calculating and using , we obtain the semi-implicit relative sliding velocity

+

+

and now only the velocities are dependent on , which makes both integration and differentiation straightforward. If we denote , we obtain

+

+

Code

+

Next, let's look at the code. Implementation 22.2.1 calculates the barycentric coordinate of the closest point and the normal given point-edge nodal positions. The idea is to orthogonally project onto the edge.

+

+Implementation 22.2.1 (Calculating contact point and normal, PointEdgeDistance.py).

+
# compute normal and the parameterization of the closest point on the edge
+def tangent(p, e0, e1):
+    e = e1 - e0
+    ratio = np.dot(e, p - e0) / np.dot(e, e)
+    if ratio < 0:    # point(p)-point(e0) expression
+        n = p - e0
+    elif ratio > 1:  # point(p)-point(e1) expression
+        n = p - e1
+    else:            # point(p)-line(e0e1) expression
+        n = p - ((1 - ratio) * e0 + ratio * e1)
+    return [n / np.linalg.norm(n), ratio]
+
+

Then, Implementation 22.2.2 traverses all non-incident point-edge pairs with a distance smaller than , calculates , and calls the above function to calculate and .

+

As in Frictional Contact, these lines of code are executed at the beginning of each time step in time_integrator.py, and the information for each friction pair is stored and passed to the energy, gradient, and Hessian computation functions that we will discuss next.

+

+Implementation 22.2.2 (Semi-implicit friction precomputation, BarrierEnergy.py).

+
    # self-contact
+    mu_lambda_self = []
+    dhat_sqr = dhat * dhat
+    for xI in bp:
+        for eI in be:
+            if xI != eI[0] and xI != eI[1]: # do not consider a point and its incident edge
+                d_sqr = PE.val(x[xI], x[eI[0]], x[eI[1]])
+                if d_sqr < dhat_sqr:
+                    s = d_sqr / dhat_sqr
+                    # since d_sqr is used, need to divide by 8 not 2 here for consistency to linear elasticity
+                    # also, lambda = -\partial b / \partial d = -(\partial b / \partial d^2) * (\partial d^2 / \partial d)
+                    mu_lam = mu * -0.5 * contact_area[xI] * dhat * (kappa / 8 * (math.log(s) / dhat_sqr + (s - 1) / d_sqr)) * 2 * math.sqrt(d_sqr)
+                    [n, r] = PE.tangent(x[xI], x[eI[0]], x[eI[1]]) # normal and closest point parameterization on the edge
+                    mu_lambda_self.append([xI, eI[0], eI[1], mu_lam, n, r])
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec22.3-fric_and_derivatives.html b/lec22.3-fric_and_derivatives.html new file mode 100644 index 0000000..51b947d --- /dev/null +++ b/lec22.3-fric_and_derivatives.html @@ -0,0 +1,289 @@ + + + + + + Friction Energy and Its Derivatives - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Friction Energy and Its Derivatives

+

With , , and precomputed for each friction point-edge pair, we can now conveniently compute the energy (Implementation 22.3.1), gradient (Implementation 22.3.2), and Hessian (Implementation 22.3.3) of the friction potential and add them into the optimization.

+

+Implementation 22.3.1 (Friction energy value, FrictionEnergy.py).

+
    # self-contact:
+    for i in range(0, len(mu_lambda_self)):
+        [xI, eI0, eI1, mu_lam, n, r] = mu_lambda_self[i]
+        T = np.identity(2) - np.outer(n, n)
+        rel_v = v[xI] - ((1 - r) * v[eI0] + r * v[eI1])
+        vbar = np.transpose(T).dot(rel_v)
+        sum += mu_lam * f0(np.linalg.norm(vbar), epsv, hhat)
+
+

When computing the gradient and Hessian, we used the relative velocity as an intermediate variable to make the implementation more organized. This approach is given by: + +where the derivatives of with respect to have exactly the same forms as in Frictional Contact.

+

+Implementation 22.3.2 (Friction energy gradient, FrictionEnergy.py).

+
    # self-contact:
+    for i in range(0, len(mu_lambda_self)):
+        [xI, eI0, eI1, mu_lam, n, r] = mu_lambda_self[i]
+        T = np.identity(2) - np.outer(n, n)
+        rel_v = v[xI] - ((1 - r) * v[eI0] + r * v[eI1])
+        vbar = np.transpose(T).dot(rel_v)
+        g_rel_v = mu_lam * f1_div_vbarnorm(np.linalg.norm(vbar), epsv) * T.dot(vbar)
+        g[xI] += g_rel_v
+        g[eI0] += g_rel_v * -(1 - r)
+        g[eI1] += g_rel_v * -r
+
+

+Implementation 22.3.3 (Friction energy Hessian, FrictionEnergy.py).

+
    # self-contact:
+    for i in range(0, len(mu_lambda_self)):
+        [xI, eI0, eI1, mu_lam, n, r] = mu_lambda_self[i]
+        T = np.identity(2) - np.outer(n, n)
+        rel_v = v[xI] - ((1 - r) * v[eI0] + r * v[eI1])
+        vbar = np.transpose(T).dot(rel_v)
+        vbarnorm = np.linalg.norm(vbar)
+        inner_term = f1_div_vbarnorm(vbarnorm, epsv) * np.identity(2)
+        if vbarnorm != 0:
+            inner_term += f_hess_term(vbarnorm, epsv) / vbarnorm * np.outer(vbar, vbar)
+        hess_rel_v = mu_lam * T.dot(utils.make_PSD(inner_term)).dot(np.transpose(T)) / hhat
+        index = [xI, eI0, eI1]
+        d_rel_v_dv = [1, -(1 - r), -r]
+        for nI in range(0, 3):
+            for nJ in range(0, 3):
+                for c in range(0, 2):
+                    for r in range(0, 2):
+                        IJV[0].append(index[nI] * 2 + r)
+                        IJV[1].append(index[nJ] * 2 + c)
+                        IJV[2] = np.append(IJV[2], d_rel_v_dv[nI] * d_rel_v_dv[nJ] * hess_rel_v[r, c])
+
+

After these implementations, we can finally run our compressing squares example with frictional self-contact (see: Figure 22.3.1). From the figure, we observe that once the two squares touch, the large friction between them and the ground restricts any sliding. This causes the squares to rotate counter-clockwise as they are compressed by the ceiling.

+
+
+ +
+
+Figure 22.3.1. Two squares dropped onto the ground and compressed by a ceiling. The friction coefficient is between any contacting surfaces, which restricts any sliding here in this scene and results in counter-clockwise rotations of the two squares under compression. As their interface becomes nearly vertical, the squares are finally detached.
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec22.4-summary.html b/lec22.4-summary.html new file mode 100644 index 0000000..9c9ca60 --- /dev/null +++ b/lec22.4-summary.html @@ -0,0 +1,236 @@ + + + + + + Summary - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Summary

+

We implemented semi-implicit friction in 2D based on squared unsigned distances of point-edge pairs and incorporated it into the time-stepping optimization.

+

We began by making the friction force integrable in the continuous setting through semi-implicit temporal discretization and a smooth approximation of the dynamic-static friction transition. The spatial discretization of the approximate friction potential follows a similar approach to the barrier potential.

+

Next, we examined the computation of the normal force magnitude , normal direction , and barycentric coordinate of the closest point for point-edge pairs. These values are calculated at the beginning of each time step and remain constant during the optimization. It is important to note that the set of point-edge pairs for friction is also constant per optimization and differs from the set used for the barrier.

+

Finally, we implemented the computation of the discrete friction potential and its derivatives. We used relative velocities as intermediate variables and applied the chain rule to organize the calculations.

+

Up to now, we have covered both the theoretical and practical aspects of a 2D solid simulator with inversion-free elastodynamics and interpenetration-free frictional self-contact. Next, we will explore the additional steps needed to extend these concepts to 3D!

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec23-3d_elastodynamics.html b/lec23-3d_elastodynamics.html new file mode 100644 index 0000000..e9ebe14 --- /dev/null +++ b/lec23-3d_elastodynamics.html @@ -0,0 +1,232 @@ + + + + + + 3D Elastodynamics - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

3D Elastodynamics

+

To extend our 2D solid simulator (2D Frictional Self-Contact) to 3D, we can use -simplex tetrahedral elements to discretize the 3D solid domains. In this approach, the surface of the solid is represented as a triangle mesh, which is a common method in computer graphics for representing 3D geometries. Additionally, we need to sample vertices in the interior of the solid to form the tetrahedral elements required for discretizing the inertia and elasticity energies.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec23.1-kinematics.html b/lec23.1-kinematics.html new file mode 100644 index 0000000..801fe0d --- /dev/null +++ b/lec23.1-kinematics.html @@ -0,0 +1,237 @@ + + + + + + Kinematics - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Kinematics

+

Similar to 2D triangle elements, we use with to express the material space coordinates of an arbitrary point in the tetrahedral element defined by vertices and as follows: + +Here, is a linear function of . Using linear shape functions, the approximate world-space coordinate is also a linear function of : + +where is denoted as . This implies that the shape functions are: +

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec23.2-mass_matrix.html b/lec23.2-mass_matrix.html new file mode 100644 index 0000000..561acc8 --- /dev/null +++ b/lec23.2-mass_matrix.html @@ -0,0 +1,241 @@ + + + + + + Mass Matrix - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Mass Matrix

+

Recall that the mass matrix can be calculated as + +where represents the material space of tetrahedron . Changing the integration variable from to results in +

+

For element with vertices , , , and , + +where is the volume of tetrahedron .

+

Here, we will omit the detailed derivations of each entry in the consistent mass matrix. Assuming uniform density , for the lumped mass matrix, + +where denotes the set of tetrahedra incident to node . In other words, the mass of each tetrahedron is evenly distributed among its 4 nodes, which is intuitively analogous to the 2D case.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec23.3-elasticity.html b/lec23.3-elasticity.html new file mode 100644 index 0000000..5bab197 --- /dev/null +++ b/lec23.3-elasticity.html @@ -0,0 +1,284 @@ + + + + + + Elasticity - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Elasticity

+

For elasticity, similar to the 2D case, the deformation gradient is also constant within each tetrahedron, and we can compute it as + +For force and Hessian computation, the required can be computed using + +and similarly + +With , the computation of strain energy , stress and stress derivative can all be found in Strain Energy and Stress and Its Derivatives, and the computation of forces and Hessian matrices follow the same spirit as in 2D.

+

To guarantee non-inversion of the tetrahedral elements during the simulation, the critical step size that first brings the volume of any tetrahedra to can be obtained by solving a 1D equation per tetrahedron + +and then take the minimum of the solved step sizes. +Here is the search direction of node , and in 3D, this is equivalent to + +with and , . Expanding Equation (23.3.1), we obtain the following cubic equation for :

+

+

This cubic equation can sometimes degenerate into a quadratic or linear equation, particularly when node movements do not substantially alter the tetrahedron's volume. To address potential numerical instability, we scale the equation terms based on the constant term coefficient:

+

+

ensuring that magnitude checks can be safely performed with standard thresholds (e.g., ).

+

Practically, we also ensure some safety margin by solving for that reduces the volume of any tetrahedron by 80%, modifying the constant term coefficient in Equation (23.3.2) from to . If no positive real roots are found, the step size can be considered safe, and inversion will not occur. Here is the C++ code snippet for solving this scaled cubic equation:

+

+Implementation 23.3.1 (Cubic Equation Solver).

+
double getSmallestPositiveRealRoot_cubic(double a, double b, double c, double d,
+    double tol)
+{
+    // return negative value if no positive real root is found
+    double t = -1;
+
+    if (abs(a) <= tol)
+        t = getSmallestPositiveRealRoot_quad(b, c, d, tol); // covered in the 2D case
+    else {
+        complex<double> i(0, 1);
+        complex<double> delta0(b * b - 3 * a * c, 0);
+        complex<double> delta1(2 * b * b * b - 9 * a * b * c + 27 * a * a * d, 0);
+        complex<double> C = pow((delta1 + sqrt(delta1 * delta1 - 4.0 * delta0 * delta0 * delta0)) / 2.0, 1.0 / 3.0);
+        if (std::abs(C) == 0.0) // a corner case
+            C = pow((delta1 - sqrt(delta1 * delta1 - 4.0 * delta0 * delta0 * delta0)) / 2.0, 1.0 / 3.0);
+
+        complex<double> u2 = (-1.0 + sqrt(3.0) * i) / 2.0;
+        complex<double> u3 = (-1.0 - sqrt(3.0) * i) / 2.0;
+
+        complex<double> t1 = (b + C + delta0 / C) / (-3.0 * a);
+        complex<double> t2 = (b + u2 * C + delta0 / (u2 * C)) / (-3.0 * a);
+        complex<double> t3 = (b + u3 * C + delta0 / (u3 * C)) / (-3.0 * a);
+
+        if ((abs(imag(t1)) < tol) && (real(t1) > 0))
+            t = real(t1);
+        if ((abs(imag(t2)) < tol) && (real(t2) > 0) && ((real(t2) < t) || (t < 0)))
+            t = real(t2);
+        if ((abs(imag(t3)) < tol) && (real(t3) > 0) && ((real(t3) < t) || (t < 0)))
+            t = real(t3);
+    }
+    return t;
+}
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec23.4-summary.html b/lec23.4-summary.html new file mode 100644 index 0000000..4da3fe2 --- /dev/null +++ b/lec23.4-summary.html @@ -0,0 +1,235 @@ + + + + + + Summary - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Summary

+

In this section, we delve into the process of extending our solid simulator to accommodate 3D elastodynamic simulation.

+

This enhancement involves discretizing the solid domain using 3-simplex tetrahedral elements. Consequently, the kinematics, mass matrix, and elasticity energies adopt the same approach as in 2D, but now incorporate an additional dimension for the per-element parameter space, integration, and deformation gradient.

+

To maintain inversion-free elements, line search filtering operates similarly, though it now entails solving cubic equations for each element.

+

In the following section, we will explore the extension of the frictional contact component to 3D scenarios.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec24-3d_fric_self_contact.html b/lec24-3d_fric_self_contact.html new file mode 100644 index 0000000..a668c4d --- /dev/null +++ b/lec24-3d_fric_self_contact.html @@ -0,0 +1,232 @@ + + + + + + 3D Frictional Self-Contact - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

3D Frictional Self-Contact

+

In 3D, the contact between the solid domain boundaries represented as triangle meshes can be reduced to point-triangle and edge-edge contacts. Intuitively, the point-edge contact pairs in 2D extend directly to 3D as point-triangle pairs. However, even if we prevent all point-triangle interpenetrations in 3D, the triangle meshes can still penetrate each other. This necessitates accounting for edge-edge pairs, especially when the resolution of the mesh is not very high.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec24.1-barrier_and_dist.html b/lec24.1-barrier_and_dist.html new file mode 100644 index 0000000..9040d69 --- /dev/null +++ b/lec24.1-barrier_and_dist.html @@ -0,0 +1,261 @@ + + + + + + Barrier and Distances - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Barrier and Distances

+

With triangle mesh discretization, the barrier potential in the continuous settings (Equation (18.3.5)) can be approximated as + +where is the set of all surface triangles, is the set of all surface triangles that hold point , and is the point-triangle distance. +Further approximating the max operator with summations and use mesh surface nodes as quadrature points, we have + +where is the integration weight and is the area of node 's incident surface triangle .

+

Now, getting back to the second line of Equation (24.1.1), if we only use points on the edges to approximate the minimum distance, we obtain + +Then if we choose a special quadrature point per surface edge and approximate the max operators with summations, we get + +where is the integration weight and is the area of 's incident surface triangle . +Next, if we always select to be the closest point to on , we will get + +where is the set of all the surface edge neighbors of plus itself. For the summation over all surface edges in Equation (24.1.3), if we only account for with or the other way around, then the coefficient can be omitted.

+

Now we have two kinds of discretizations for the 3D barrier potential energy. To use them together in practice, we can take advantage of a linear combination of them, and the coefficient could usually be set to .

+

For point-triangle and edge-edge distances, they are also both small optimization problems with analytical solutions, which can be represented as piecewise smooth functions like the 2D Point-Edge distance in Equation (21.2.1). +For example, in the point-triangle case, the expression can be determined by checking which region the projection of the point onto the triangle plane is located.

+
+

+Definition 24.1.1 (3D Point-Triangle Distance). The distance between point and triangle with vertices , , and can be defined as

+
+
+

+Definition 24.1.2 (3D Edge-Edge Distance). The distance between edge with end nodes and and edge with end nodes and can be defined as +

+
+
+

+Remark 24.1.1 (Smoothness of 3D Distance Functions). Note that the point-triangle distance is at least continuous everywhere. This means that even when the projected point is located on the borders of the piecewise function, the distance gradient still exists and is continuous. However, for edge-edge distance, when the edges are parallel, the distance function is only continuous, as the gradient of the expressions in adjacent regions do not agree. To address this issue, IPC [Li et al. 2020] proposed multiplying a mollifier to the edge-edge barrier energy density function to make the potential continuous everywhere. This mollifier smoothly decreases to zero when the edges are parallel. This ensures that gradient-based optimization methods can still be applied efficiently to solve the problem.

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec24.2-collision_detection.html b/lec24.2-collision_detection.html new file mode 100644 index 0000000..5f6ea2c --- /dev/null +++ b/lec24.2-collision_detection.html @@ -0,0 +1,241 @@ + + + + + + Collision Detection - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Collision Detection

+

Collision detection in 3D can be significantly more computationally intensive than in 2D due to the larger number of surface primitives involved. Thankfully, spatial data structures like spatial hashing and bounding volume hierarchies (BVH) help efficiently reduce the number of candidate primitive pairs, making continuous collision detection (CCD) more manageable.

+

Spatial Hashing

+

The core idea of spatial hashing is to partition the space into a uniform grid and assign each grid cell an array to store the indices of primitives whose bounding boxes intersect with that cell. To find the nearby primitives of a given primitive (e.g., a point), we identify the grid cells intersecting with 's bounding box and retrieve the primitive indices stored in these cells. This approach ensures that only nearby primitives are checked for collisions using CCD, eliminating the need for a nested loop to examine all primitive pairs.

+

Bounding Volume Hierarchies (BVH)

+

BVH is another effective method for broad-phase collision detection. It organizes primitives into a hierarchy of bounding volumes, allowing for efficient pruning of the search space when detecting potential collisions.

+

ACCD Method

+

The ACCD (Adaptive Continuous Collision Detection) method, as discussed in Continuous Collision Detection, is applicable in 3D. In this context, the distance calculations need to be adapted for point-triangle and edge-edge pairs.

+

Broad Phase Collision Detection

+

For computing the barrier potential energy, gradient, and Hessian, it is faster and essential to first gather a set of nearby candidate primitive pairs. Then, we compute their distances to determine if they are active (i.e., within a distance ). This filtering process is part of the broad-phase collision detection and can be efficiently implemented using spatial hashing or BVH.

+

By employing these spatial data structures, we significantly reduce the computational load, focusing our detailed collision checks on a manageable subset of nearby primitives.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec24.3-friction.html b/lec24.3-friction.html new file mode 100644 index 0000000..71f7812 --- /dev/null +++ b/lec24.3-friction.html @@ -0,0 +1,233 @@ + + + + + + Friction - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Friction

+

3D friction is quite similar to its 2D counterpart, with the primary difference being the types of contact pairs involved. In 3D, these contact pairs are point-triangle and edge-edge pairs. Consequently, the barycentric coordinates of the closest points are now two-dimensional, represented by the optimal values of and in the definitions provided in Definition 24.1.1 and Definition 24.1.2.

+

In practice, this means that while the principles of friction remain the same, the specific calculations adjust to account for the geometry of the contact pairs in 3D space.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec24.4-summary.html b/lec24.4-summary.html new file mode 100644 index 0000000..b300154 --- /dev/null +++ b/lec24.4-summary.html @@ -0,0 +1,235 @@ + + + + + + Summary - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Summary

+

In this section, we discussed the main technical details of implementing a 3D contact handling method based on Implicit Contact Prediction (IPC).

+

In 3D, both distance and friction basis computations become more complex. These computations rely on point-triangle and edge-edge primitive pairs, similar to the point-edge pairs used in 2D.

+

For edge-edge distances, which are only -continuous, an additional mollification function that smoothly decreases to zero is necessary. This function is multiplied with the barrier energy density function to achieve -continuity, enabling the use of efficient gradient-based optimization methods.

+

Due to the significantly larger number of primitive pairs in 3D, spatial data structures like spatial hashing or bounding volume hierarchies (BVH) are often used in the broad phase to filter candidates before computing distances or performing CCD.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec3-projected_Newton.html b/lec3-projected_Newton.html new file mode 100644 index 0000000..132ca83 --- /dev/null +++ b/lec3-projected_Newton.html @@ -0,0 +1,231 @@ + + + + + + Projected Newton - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Projected Newton

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec3.1-conv_issue_Newton.html b/lec3.1-conv_issue_Newton.html new file mode 100644 index 0000000..22be926 --- /dev/null +++ b/lec3.1-conv_issue_Newton.html @@ -0,0 +1,263 @@ + + + + + + Convergence of Newton's Method - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Convergence Issue of Newton's Method

+

In addressing the minimization problem presented by implicit Euler time integration (referenced in Equation (2.1.1)), employing Newton's method (outlined in Algorithm 1.5.1) is a viable strategy for the resultant system of nonlinear equations. This involves setting the gradient of the Incremental Potential Energy to zero:

+

+

However, the application of this method to cases such as nonlinear elasticity, particularly in the Neo-Hookean model, does not always guarantee convergence. The presence of truncation errors, especially in scenarios involving large time steps or significant deformations, can adversely affect the convergence process.

+
+

+Example 3.1.1 (Illustration of Newton's Convergence Issue). +To elucidate the issue of Newton's method non-convergence, let's consider a one-dimensional minimization problem characterized by the objective function: + +We can evaluate the function at and approximate it using a quadratic energy , which is defined as: + +The joint plot of and (Figure 3.1.1) distinctly exhibits that the next iteration would exceed the actual target, landing at a point () further from the actual solution at . The subsequent iterations amplify this deviation, leading to a trajectory that diverges. It's worth noting that this demonstration involves a convex function . The problem can become even more complex when Newton's method is applied to non-convex elasticity energies.

+
+ +
+
+Figure 3.1.1. An iteration of Newton's method for at .

+
+ +
+

+Remark 3.1.1 (Convexity of Energies). Convex functions are characterized by symmetric and positive-definite (SPD) second-order derivatives throughout their domain. Conversely, the energy in most models of nonlinear elasticity used in computer graphics is rotation invariant. This implies that the energy value remains unchanged regardless of the rotational orientation of objects or elements. Such rotation invariance leads to non-convexity, making the optimization process more complex.

+
+
+

+Definition 3.1.1 (Symmetric Positive-Definiteness). +A square matrix is symmetric positive-definite if

+
    +
  • , and
  • +
  • for all .
  • +
+
+

Unlike directly solving nonlinear equations, a minimization problem provides an energy measure that enables the assurance of global convergence using a technique called line search.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec3.2-line_search.html b/lec3.2-line_search.html new file mode 100644 index 0000000..2102b50 --- /dev/null +++ b/lec3.2-line_search.html @@ -0,0 +1,253 @@ + + + + + + Line Search - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ + +

In iterative minimization methods, line search is a technique used to select a fraction of the step in each iteration, ensuring the objective energy decreases at the new point.

+

Specifically, for Newton's method, line 4 in Algorithm 1.5.1 is modified from \(x^i \leftarrow x\) to \(x^i \leftarrow x^i + \alpha (x - x^i)\), where \(\alpha \in (0,1]\) is the step size, essential for the reduction of energy. This leads to two critical questions: Does such an \(\alpha\) always exist? And how is \(\alpha\) calculated?

+
+

+Remark 3.2.1 (Existence of \(\alpha\)). For a smooth objective energy \(E(x)\) at \(x^i\) where \(\nabla E(x^i) \neq 0\), if a search direction \(p=x-x^i\) is descent, namely \(p^T \nabla E(x^i) < 0\), then there exists \(\alpha > 0\) such that \(E(x^i + \alpha p) < E(x^i)\).

+
+
+

+Method 3.2.1 (Backtracking Line Search). Given a descent direction, we can find a reasonably large \(\alpha\) by simply halving it starting from \(1\) until the energy at the new location is smaller than the current (see Algorithm 3.2.1).

+
+
+Algorithm 3.2.1 (The Backtracking Line Search Algorithm).
+ +

+
+ +
+

+Remark 3.2.2 (Other Line Search Methods). +There are other line search methods that attempt to apply polynomial interpolations to find an \(\alpha\) such that the energy at the new location is closer to a local minimum on the line segment \(x^i + s p\), (\(s\in(0,1]\)). However, these methods generally incur higher computational costs and may not necessarily enhance the overall wall-clock timing of the optimization.

+
+

Now, with line search, if Newton's method consistently generates a descent search direction, then the method is guaranteed to converge for any initial configuration on any smooth energy with a lower bound. We know that in iteration \(i\), \(p = -(\nabla^2 E(x^i))^{-1} \nabla E(x^i)\), so \(p^T \nabla E(x^i)\) equals \(-\nabla E(x^i)^T (\nabla^2 E(x^i))^{-T} \nabla E(x^i)\). For convex energies, \(\nabla^2 E(x^i)\) is always Symmetric Positive Definite (SPD), and so is \((\nabla^2 E(x^i))^{-T}\), making \(p\) always a descent direction. However, for non-convex energies, this assurance does not always hold. One approach to address this issue is to approximate the energies locally using convex energy proxies.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec3.3-grad_based_opt.html b/lec3.3-grad_based_opt.html new file mode 100644 index 0000000..1b3c4e1 --- /dev/null +++ b/lec3.3-grad_based_opt.html @@ -0,0 +1,262 @@ + + + + + + Gradient-Based Optimization - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Gradient-based Optimization

+

The search direction of the standard Newton's method is calculated by minimizing the local quadratic approximation of the objective energy: + +where \(P = \nabla^2 E(x^i)\). In general gradient-based optimization methods, \(p\) can be calculated by Equation (3.3.1) with any proxy matrix \(P\). Setting \(P = I\) results in \(p = -\nabla E(x^i)\), as used in the standard gradient descent method. This approach converges more slowly than Newton's method, as the energy approximation is of a lower order. The closer the proxy matrix \(P\) is to the Hessian matrix \(\nabla^2 E(x^i)\), the faster the convergence. Hence, using an SPD approximation of the Hessian matrix as the proxy ensures that the search direction is always descent, while maintaining a convergence rate close to quadratic. This is akin to approximating non-convex energies locally using a convex energy proxy.

+

A straightforward method to obtain such an SPD approximation involves first projecting \(\nabla^2 E(x^i)\) onto its closest semi-definite matrix by solving + +and then introducing perturbations to ensure that \(P\) is invertible. The solution in this case is \(P = Q \hat{\Lambda} Q^{-1}\), where \(P = Q \Lambda Q^{-1}\) is the eigendecomposition, and if \(\Lambda_{ij} > 0\), otherwise \(\hat{\Lambda}_{ij} = 0\). Intuitively, \(P\) is obtained by zeroing out all the negative eigenvalues of \(\nabla^2 E(x^i)\).

+
+

+Definition 3.3.1 (Eigendecomposition). The eigendecomposition of a square matrix \(A \in \mathbb{R}^{n \times n}\) is + +where \(Q = [q_1, q_2, ..., q_n]\) is composed of the eigenvectors \(q_i\) of \(A\), ; \(\Lambda = [\lambda_1, \lambda_2, ..., \lambda_n]\), with \(\lambda_1 \geq \lambda_2 \geq ..., \lambda_n\) being the eigenvalues of \(A\); and \(Aq_i = \lambda_i q_i\).

+
+

However, in simulation, \(\nabla^2 E(x^i)\) is usually a large sparse matrix, and performing eigendecomposition on it would be prohibitively expensive. Fortunately, we will discover later in this book that the Incremental Potential in solids simulation can be expressed as a separable sum of energies defined on local stencils, such as a triangle in the 2D Finite Element Method (FEM) mesh: + +where \(\mathbf{x}_{jk}\) are the nodes associated with the energy \(E_j\). Consequently, we can conveniently obtain a reasonably good SPD approximation by zeroing out the negative eigenvalues of each \(\nabla^2 E_i\) defined on a small number of nodes and aggregating them.

+
+

+Example 3.3.1 (Local Projection Method). To simulate elasticity in 2D on a triangle mesh with 10,201 nodes and 20,000 triangles, the Hessian matrix \(\nabla^2 E(x)\) is \(20,402 \times 20,402\). For the local projection method described above, it requires 20,000 eigendecompositions on \(6 \times 6\) matrices. Considering the computational complexity of eigendecomposition on an \(n \times n\) matrix is worse than \(O(n^2)\), this rough estimation already suggests a more than \(500\times\) speedup for this medium-sized problem when employing the local projection methods.

+
+

In addition, since the mass matrix in \(\nabla^2 E(x^i)\) is Symmetric Positive Definite (SPD) and the sum of SPD matrices remains SPD, there is no need for perturbations when projecting other matrices. We now summarize the globally convergent projected Newton method for backward Euler time integration in Algorithm 3.3.1.

+
+
+
+Algorithm 3.3.1 (Projected Newton Method for Backward Euler Time Integration).
+ +
+
+
+

+Remark 3.3.1 (Stopping Criteria). From Equation (3.3.1), we understand that can be interpreted as a quadratic approximation of the distance from the current estimate \(x^i\) to the optimal solution. Hence, we utilize as a more intuitive measure for the stopping criteria. This approach transforms it into a velocity unit and takes the maximum magnitude across every node.

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec3.4-summary.html b/lec3.4-summary.html new file mode 100644 index 0000000..0ad5eee --- /dev/null +++ b/lec3.4-summary.html @@ -0,0 +1,237 @@ + + + + + + Summary - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Summary

+
    +
  • After examining the convergence issues of traditional Newton's method, even on smooth convex energies, we introduced a backtracking line search scheme for minimizing the Incremental Potential of Implicit Euler time integration, ensuring global convergence.
  • +
  • To guarantee the discovery of a positive step size, the Incremental Potential Hessian is projected onto a nearby Symmetric Positive Definite (SPD) matrix. This SPD projection is efficiently achieved by eliminating the negative eigenvalues of the Hessian matrices for each non-convex energy stencil, involving only a few nodes.
  • +
  • A convergence criterion that provides a more intuitive and consistent method for setting tolerance is also introduced, utilizing the Newton search direction.
  • +
+

In the next lecture, we will conclude with a clear demonstration of all the covered topics through a simple 2D case study.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec4-2d_mass_spring.html b/lec4-2d_mass_spring.html new file mode 100644 index 0000000..369ab7c --- /dev/null +++ b/lec4-2d_mass_spring.html @@ -0,0 +1,235 @@ + + + + + + Case Study: 2D Mass-Spring* - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Case Study: 2D Mass Spring*

+

Up to now, we have completed a high-level introduction to the optimization-based solids simulation framework. In this lecture, we elaborate on how to implement a simple 2D elastodynamics simulator with Python3.

+

Sections in this book with Python implementations will be marked with a * right after the title. +All the Python implementations can be found at https://github.com/phys-sim-book/solid-sim-tutorial. +The excutable Python project for this section is in the /1_mass_spring folder of this repository.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec4.1-discretizations.html b/lec4.1-discretizations.html new file mode 100644 index 0000000..0c04124 --- /dev/null +++ b/lec4.1-discretizations.html @@ -0,0 +1,274 @@ + + + + + + Spatial and Temporal Discretizations - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Spatial and Temporal Discretizations

+

In representing solid geometries, we employ a mesh structure. We can further simplify the representation by connecting nodes on the mesh with edges. To facilitate this process, especially for geometries like squares, we can script a mesh generator. This generator allows for specifying both the side length of the square and the desired resolution of the mesh.

+

+Implementation 4.1.1 (Square Mesh Generation, square_mesh.py).

+
import numpy as np
+import os
+
+def generate(side_length, n_seg):
+    # sample nodes uniformly on a square
+    x = np.array([[0.0, 0.0]] * ((n_seg + 1) ** 2))
+    step = side_length / n_seg
+    for i in range(0, n_seg + 1):
+        for j in range(0, n_seg + 1):
+            x[i * (n_seg + 1) + j] = [-side_length / 2 + i * step, -side_length / 2 + j * step]
+    
+    # connect the nodes with edges
+    e = []
+    # horizontal edges
+    for i in range(0, n_seg):
+        for j in range(0, n_seg + 1):
+            e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j])
+    # vertical edges
+    for i in range(0, n_seg + 1):
+        for j in range(0, n_seg):
+            e.append([i * (n_seg + 1) + j, i * (n_seg + 1) + j + 1])
+    # diagonals
+    for i in range(0, n_seg):
+        for j in range(0, n_seg):
+            e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j + 1])
+            e.append([(i + 1) * (n_seg + 1) + j, i * (n_seg + 1) + j + 1])
+
+    return [x, e]
+
+

In the code, n_seg represents the number of edges along each side of the square. The nodes are uniformly distributed across the square and interconnected through horizontal, vertical, and diagonal edges. For instance, calling generate(1.0, 4) constructs a mesh as depicted in Figure 4.1.1. This implementation utilizes the array data structures from the Numpy library, which provides convenient methods for handling the vector algebra required in subsequent steps.

+
+
+ +
+
+Figure 4.1.1. A square mesh generated by calling generate(1.0, 4) defined in Square Mesh Generation script above.
+
+

For temporal discretization, our approach is the implicit Euler method. The Incremental Potential, which needs to be minimized in time step \(n\), is represented as follows: + +Next, our focus shifts to implementing the calculations for the energy value, gradient, and Hessian for both the inertia term and the potential energy \(P(x)\).

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec4.2-inertia.html b/lec4.2-inertia.html new file mode 100644 index 0000000..a00b4e0 --- /dev/null +++ b/lec4.2-inertia.html @@ -0,0 +1,275 @@ + + + + + + Inertia Term - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Inertia Term

+

For the inertia term, with \(\tilde{x}^n = x^n + h v^n\), we have +\[ +E_I(x) = \frac{1}{2}\|x - \tilde{x}^n \|_M^2, \quad \nabla E_I(x) = M(x - \tilde{x}^n), \quad \text{and} \quad \nabla^2 E_I(x) = M, +\] +which is straightforward to implement:

+

+Implementation 4.2.1 (InertiaEnergy.py).

+
import numpy as np
+
+def val(x, x_tilde, m):
+    sum = 0.0
+    for i in range(0, len(x)):
+        diff = x[i] - x_tilde[i]
+        sum += 0.5 * m[i] * diff.dot(diff)
+    return sum
+
+def grad(x, x_tilde, m):
+    g = np.array([[0.0, 0.0]] * len(x))
+    for i in range(0, len(x)):
+        g[i] = m[i] * (x[i] - x_tilde[i])
+    return g
+
+def hess(x, x_tilde, m):
+    IJV = [[0] * (len(x) * 2), [0] * (len(x) * 2), np.array([0.0] * (len(x) * 2))]
+    for i in range(0, len(x)):
+        for d in range(0, 2):
+            IJV[0][i * 2 + d] = i * 2 + d
+            IJV[1][i * 2 + d] = i * 2 + d
+            IJV[2][i * 2 + d] = m[i]
+    return IJV
+
+

The functions val(), grad(), and hess() are designed to compute different components of the inertia term. Specifically:

+
    +
  • val(): Computes the value of the inertia term.
  • +
  • grad(): Calculates the gradient of the inertia term.
  • +
  • hess(): Determines the Hessian of the inertia term.
  • +
+

Regarding the Hessian matrix, a memory-efficient approach is employed. Rather than allocating a large two-dimensional array to store all entries of the Hessian matrix, only the nonzero entries are kept. This is achieved using the IJV structure, which consists of three lists:

+
    +
  1. Row Index: Identifies the row position of each nonzero entry.
  2. +
  3. Column Index: Indicates the column position of each nonzero entry.
  4. +
  5. Value: The actual nonzero value at the specified row and column.
  6. +
+

This method significantly reduces memory usage and computational costs associated with downstream processing.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec4.3-mass_spring_energy.html b/lec4.3-mass_spring_energy.html new file mode 100644 index 0000000..cc35478 --- /dev/null +++ b/lec4.3-mass_spring_energy.html @@ -0,0 +1,292 @@ + + + + + + Mass-Spring Potential Energy - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Mass-Spring Potential Energy

+

In this case study, we focus exclusively on incorporating the mass-spring elasticity potential into our system. The concept of mass-spring elasticity is akin to treating each edge of the mesh as if it were a spring. This approach is inspired by Hooke's Law, allowing us to formulate the potential energy on edge as follows:

+

+

Here, and represent the current positions of the two endpoints of the edge. The variable denotes the original length of the edge, and is a parameter controlling the spring's stiffness. Notably, when the distance between the two endpoints equals the original length , the potential energy attains its global minimum value of , indicating no force is exerted.

+

An important aspect of this formulation is the inclusion of at the beginning. This is analogous to integrating the spring energy across the solid and choosing edges as quadrature points. This integration helps maintain a consistent relationship between the stiffness behavior and the parameter , regardless of mesh resolution variations.

+

Another deviation from standard spring energy formulations is our avoidance of the square root operation. We directly use , making our model polynomial in nature. This simplification yields more streamlined expressions for the gradient and Hessian:

+

+

+

The total potential energy of the system, denoted as , can be derived by summing the potential energy across all edges. This is calculated using Equation (4.3.1). Thus, the total potential energy is expressed as: + +where the summation is taken over all edges in the mesh.

+

+Implementation 4.3.1 (MassSpringEnergy.py).

+
import numpy as np
+import utils
+
+def val(x, e, l2, k):
+    sum = 0.0
+    for i in range(0, len(e)):
+        diff = x[e[i][0]] - x[e[i][1]]
+        sum += l2[i] * 0.5 * k[i] * (diff.dot(diff) / l2[i] - 1) ** 2
+    return sum
+
+def grad(x, e, l2, k):
+    g = np.array([[0.0, 0.0]] * len(x))
+    for i in range(0, len(e)):
+        diff = x[e[i][0]] - x[e[i][1]]
+        g_diff = 2 * k[i] * (diff.dot(diff) / l2[i] - 1) * diff
+        g[e[i][0]] += g_diff
+        g[e[i][1]] -= g_diff
+    return g
+
+def hess(x, e, l2, k):
+    IJV = [[0] * (len(e) * 16), [0] * (len(e) * 16), np.array([0.0] * (len(e) * 16))]
+    for i in range(0, len(e)):
+        diff = x[e[i][0]] - x[e[i][1]]
+        H_diff = 2 * k[i] / l2[i] * (2 * np.outer(diff, diff) + (diff.dot(diff) - l2[i]) * np.identity(2))
+        H_local = utils.make_PSD(np.block([[H_diff, -H_diff], [-H_diff, H_diff]]))
+        # add to global matrix
+        for nI in range(0, 2):
+            for nJ in range(0, 2):
+                indStart = i * 16 + (nI * 2 + nJ) * 4
+                for r in range(0, 2):
+                    for c in range(0, 2):
+                        IJV[0][indStart + r * 2 + c] = e[i][nI] * 2 + r
+                        IJV[1][indStart + r * 2 + c] = e[i][nJ] * 2 + c
+                        IJV[2][indStart + r * 2 + c] = H_local[nI * 2 + r, nJ * 2 + c]
+    return IJV
+
+

In dealing with the Hessian matrix of the mass-spring energy, a key consideration is its non-symmetric positive definite (SPD) nature. To address this, a specific modification is employed: we neutralize the negative eigenvalues of the local Hessian corresponding to each edge. This is done prior to incorporating these local Hessians into the global matrix. The process involves setting negative eigenvalues to zero, thus ensuring that the resulting global Hessian matrix adheres more closely to the desired SPD properties. This modification is crucial for Newton's method.

+

+Implementation 4.3.2 (Positive Semi-Definite Projection).

+
import numpy as np
+import numpy.linalg as LA
+
+def make_PSD(hess):
+    [lam, V] = LA.eigh(hess)    # Eigen decomposition on symmetric matrix
+    # set all negative Eigenvalues to 0
+    for i in range(0, len(lam)):
+        lam[i] = max(0, lam[i])
+    return np.matmul(np.matmul(V, np.diag(lam)), np.transpose(V))
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec4.4-opt_time_integrator.html b/lec4.4-opt_time_integrator.html new file mode 100644 index 0000000..afd5697 --- /dev/null +++ b/lec4.4-opt_time_integrator.html @@ -0,0 +1,292 @@ + + + + + + Optimization Time Integrator - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Optimization Time Integrator

+

Having established the capability to evaluate the Incremental Potential for arbitrary configurations, we now turn our attention to the implementation of the optimization time integrator. This integrator is crucial for minimizing the Incremental Potential, which in turn updates the nodal positions and velocities. This implementation follows the approach outlined in Algorithm 3.3.1:

+

+Implementation 4.4.1 (time_integrator.py).

+
import copy
+from cmath import inf
+
+import numpy as np
+import numpy.linalg as LA
+import scipy.sparse as sparse
+from scipy.sparse.linalg import spsolve
+
+import InertiaEnergy
+import MassSpringEnergy
+
+def step_forward(x, e, v, m, l2, k, h, tol):
+    x_tilde = x + v * h     # implicit Euler predictive position
+    x_n = copy.deepcopy(x)
+
+    # Newton loop
+    iter = 0
+    E_last = IP_val(x, e, x_tilde, m, l2, k, h)
+    p = search_dir(x, e, x_tilde, m, l2, k, h)
+    while LA.norm(p, inf) / h > tol:
+        print('Iteration', iter, ':')
+        print('residual =', LA.norm(p, inf) / h)
+
+        # line search
+        alpha = 1
+        while IP_val(x + alpha * p, e, x_tilde, m, l2, k, h) > E_last:
+            alpha /= 2
+        print('step size =', alpha)
+
+        x += alpha * p
+        E_last = IP_val(x, e, x_tilde, m, l2, k, h)
+        p = search_dir(x, e, x_tilde, m, l2, k, h)
+        iter += 1
+
+    v = (x - x_n) / h   # implicit Euler velocity update
+    return [x, v]
+
+def IP_val(x, e, x_tilde, m, l2, k, h):
+    return InertiaEnergy.val(x, x_tilde, m) + h * h * MassSpringEnergy.val(x, e, l2, k)     # implicit Euler
+
+def IP_grad(x, e, x_tilde, m, l2, k, h):
+    return InertiaEnergy.grad(x, x_tilde, m) + h * h * MassSpringEnergy.grad(x, e, l2, k)   # implicit Euler
+
+def IP_hess(x, e, x_tilde, m, l2, k, h):
+    IJV_In = InertiaEnergy.hess(x, x_tilde, m)
+    IJV_MS = MassSpringEnergy.hess(x, e, l2, k)
+    IJV_MS[2] *= h * h    # implicit Euler
+    IJV = np.append(IJV_In, IJV_MS, axis=1)
+    H = sparse.coo_matrix((IJV[2], (IJV[0], IJV[1])), shape=(len(x) * 2, len(x) * 2)).tocsr()
+    return H
+
+def search_dir(x, e, x_tilde, m, l2, k, h):
+    projected_hess = IP_hess(x, e, x_tilde, m, l2, k, h)
+    reshaped_grad = IP_grad(x, e, x_tilde, m, l2, k, h).reshape(len(x) * 2, 1)
+    return spsolve(projected_hess, -reshaped_grad).reshape(len(x), 2)
+
+

Here step_forward() is essentially a direct translation of the projected Newton method with line search (Algorithm 3.3.1), and we implemented the Incremental Potential value (IP_val()), gradient (IP_grad()), and Hessian (IP_hess()) evaluations as separate functions for clarity.

+

For the computation of search directions, we utilize the linear solver from the Scipy library, which is adept at handling sparse matrices. Notably, this solver accepts matrices in the Compressed Sparse Row (CSR) format. The choice of this format and solver is driven by their efficiency in processing and memory usage, which is particularly advantageous when dealing with large-scale problems with large sparse matricies often encountered in computational simulations.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec4.5-sim_with_vis.html b/lec4.5-sim_with_vis.html new file mode 100644 index 0000000..d5503c7 --- /dev/null +++ b/lec4.5-sim_with_vis.html @@ -0,0 +1,348 @@ + + + + + + Simulation with Visualization - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Simulator with Visualization

+

Having gathered all necessary elements for our 2D mass-spring simulator, the next step is to implement the simulator. This implementation will operate in a step-by-step manner and include visualization capabilities to enhance understanding and engagement.

+

+Implementation 4.5.1 (simulator.py).

+
# Mass-Spring Solids Simulation
+
+import numpy as np  # numpy for linear algebra
+import pygame       # pygame for visualization
+pygame.init()
+
+import square_mesh   # square mesh
+import time_integrator
+
+# simulation setup
+side_len = 1
+rho = 1000  # density of square
+k = 1e5     # spring stiffness
+initial_stretch = 1.4
+n_seg = 4   # num of segments per side of the square
+h = 0.004   # time step size in s
+
+# initialize simulation
+[x, e] = square_mesh.generate(side_len, n_seg)  # node positions and edge node indices
+v = np.array([[0.0, 0.0]] * len(x))             # velocity
+m = [rho * side_len * side_len / ((n_seg + 1) * (n_seg + 1))] * len(x)  # calculate node mass evenly
+# rest length squared
+l2 = []
+for i in range(0, len(e)):
+    diff = x[e[i][0]] - x[e[i][1]]
+    l2.append(diff.dot(diff))
+k = [k] * len(e)    # spring stiffness
+# apply initial stretch horizontally
+for i in range(0, len(x)):
+    x[i][0] *= initial_stretch
+
+# simulation with visualization
+resolution = np.array([900, 900])
+offset = resolution / 2
+scale = 200
+def screen_projection(x):
+    return [offset[0] + scale * x[0], resolution[1] - (offset[1] + scale * x[1])]
+
+time_step = 0
+square_mesh.write_to_file(time_step, x, n_seg)
+screen = pygame.display.set_mode(resolution)
+running = True
+while running:
+    # run until the user asks to quit
+    for event in pygame.event.get():
+        if event.type == pygame.QUIT:
+            running = False
+    
+    print('### Time step', time_step, '###')
+
+    # fill the background and draw the square
+    screen.fill((255, 255, 255))
+    for eI in e:
+        pygame.draw.aaline(screen, (0, 0, 255), screen_projection(x[eI[0]]), screen_projection(x[eI[1]]))
+    for xI in x:
+        pygame.draw.circle(screen, (0, 0, 255), screen_projection(xI), 0.1 * side_len / n_seg * scale)
+
+    pygame.display.flip()   # flip the display
+
+    # step forward simulation and wait for screen refresh
+    [x, v] = time_integrator.step_forward(x, e, v, m, l2, k, h, 1e-2)
+    time_step += 1
+    pygame.time.wait(int(h * 1000))
+    square_mesh.write_to_file(time_step, x, n_seg)
+
+pygame.quit()
+
+

For 2D visualization in our simulator, we utilize the Pygame library. The simulation is initiated with a scene featuring a single square, which is initially elongated horizontally. During the simulation, the square begins to revert to its original horizontal dimensions. Subsequently, due to inertia, it will start to stretch vertically, oscillating back and forth until it eventually stabilizes at its rest shape, as illustrated in (Figure 4.5.1).

+
+
+ +
+
+Figure 4.5.1. From left to right: initial, intermediate, and final static frame of the initially stretched square simulation.
+
+

In addition to storing node positions x and edges e, our simulation also requires allocating memory for several other key variables:

+
    +
  • Node Velocities (v): To track the movement of each node over time.
  • +
  • Masses (m): Node masses are calculated by uniformly distributing the total mass of the square across each node. This is a preliminary approach; more detailed methods for calculating nodal mass in Finite Element Method (FEM) or Material Point Method (MPM) will be explored in future chapters.
  • +
  • Squared Rest Length of Edges (l2): Important for calculating the potential energy in the mass-spring system.
  • +
  • Spring Stiffnesses (k): A crucial parameter influencing the dynamics of the springs.
  • +
+

For visualization purposes beyond our simulator, we enable the export of the mesh data into .obj files. This is achieved by calling the write_to_file() function at the start and at each frame of the simulation. This feature facilitates the use of alternative visualization software to analyze and present the simulation results.

+

+Implementation 4.5.2 (Output Square Mesh, square_mesh.py).

+
def write_to_file(frameNum, x, n_seg):
+    # Check if 'output' directory exists; if not, create it
+    if not os.path.exists('output'):
+        os.makedirs('output')
+
+    # create obj file
+    filename = f"output/{frameNum}.obj"
+    with open(filename, 'w') as f:
+        # write vertex coordinates
+        for row in x:
+            f.write(f"v {float(row[0]):.6f} {float(row[1]):.6f} 0.0\n") 
+        # write vertex indices for each triangle
+        for i in range(0, n_seg):
+            for j in range(0, n_seg):
+                #NOTE: each cell is exported as 2 triangles for rendering
+                f.write(f"f {i * (n_seg+1) + j + 1} {(i+1) * (n_seg+1) + j + 1} {(i+1) * (n_seg+1) + j+1 + 1}\n")
+                f.write(f"f {i * (n_seg+1) + j + 1} {(i+1) * (n_seg+1) + j+1 + 1} {i * (n_seg+1) + j+1 + 1}\n")
+
+

With all components properly set up, the next phase involves initiating the simulation loop. This loop advances the time integration and visualizes the results at each time step. To execute the simulation program, the following command is used in the terminal:

+
python3 simulator.py
+
+
+

+Remark 4.5.1 (Practical Considerations). +With our simulator implementation in place, it provides us with the flexibility to experiment with various configurations of the optimization time integration scheme. Such testing is invaluable for gaining deeper insights into the roles and impacts of each essential component.

+

Consider an example: if we opt not to project the mass-spring Hessian to a Symmetric Positive Definite (SPD) form, peculiar behaviors may emerge under certain conditions. For instance, running the simulation with a frame-rate time step size of h=0.02 and an initial_stretch of 0.5 could lead to line search failures. This, in turn, results in very small step sizes, hampering the optimization process and preventing significant progress.

+

While line search might seem superfluous in this simplistic 2D example, its necessity becomes apparent in more complex 3D elastodynamics simulations, especially those involving large deformations. Here, line search is crucial to ensure the convergence of the simulation.

+

Another point of interest is the stopping criteria applied in traditional solids simulators. Many such simulators forego a dynamic stopping criterion and instead terminate the optimization process after a predetermined number of iterations. This approach, while straightforward, can lead to numerical instabilities or 'explosions' in more challenging scenarios. This underscores the importance of carefully considering the integration scheme and its parameters to ensure stable and accurate simulations.

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec4.6-summary.html b/lec4.6-summary.html new file mode 100644 index 0000000..b4062d6 --- /dev/null +++ b/lec4.6-summary.html @@ -0,0 +1,239 @@ + + + + + + Summary - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Summary

+

We have successfully demonstrated the implementation of a basic 2D mass-spring simulator encompassing several critical components:

+
    +
  • Mesh Generation: This involves the creation of nodes and connecting elements. In practical scenarios, simulators often import meshes from pre-existing files.
  • +
  • Incremental Potential Energy Evaluation: Comprises the computation of the potential energy value, its gradient, and the Symmetric Positive Definite (SPD)-projected Hessian.
  • +
  • Optimization Time Integrator: This includes linear solves for determining search directions, line search techniques to ensure global convergence, and rules for updating nodal positions and velocities.
  • +
  • Simulator Structure: Encompasses scene setup, variable initialization, and the execution of the simulation loop. (Note: Visualization aspects can be decoupled from the simulator itself.)
  • +
+

In the forthcoming chapter, we will delve into boundary treatments, including prescribed motion and frictional contact, which are implemented through equality or inequality constraints in the optimization framework. This discussion will be enriched with practical case studies, illustrating the application of each boundary treatment in computational simulations.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec5-dirichlet_BC_solve.html b/lec5-dirichlet_BC_solve.html new file mode 100644 index 0000000..5e5b351 --- /dev/null +++ b/lec5-dirichlet_BC_solve.html @@ -0,0 +1,232 @@ + + + + + + Dirichlet Boundary Conditions* - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Dirichlet Boundary Conditions*

+

Boundary treatments, including boundary conditions and frictional contacts, play a crucial role in solid simulations. They not only enhance the expressiveness of scene setup but also capture intricate dynamics within the simulation. This lecture introduces Dirichlet boundary conditions, a pivotal concept for prescribing the motion of specific nodes in solid structures. Understanding these conditions is essential for accurately modeling and manipulating the behavior of solids in various simulation scenarios.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec5.1-equality_constraints.html b/lec5.1-equality_constraints.html new file mode 100644 index 0000000..6652dbf --- /dev/null +++ b/lec5.1-equality_constraints.html @@ -0,0 +1,262 @@ + + + + + + Equality Constraint Formulation - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Equality Constraint Formulation

+

Dirichlet boundary conditions (BC), when integrated into the optimization time integrator, are represented as linear equality constraints: + +In this equation, the matrix \(A\) is a \(m \times dn\) matrix, where \(m \leq dn\). This matrix functions to select the degrees of freedom (DOFs) at the nodes that are subject to the boundary conditions. The vector \(b\) is a \(m \times 1\) vector, which specifies the precise spatial values that are prescribed by these conditions.

+
+

+Example 5.1.1 (Sticky Dirichlet Boundary Condition). +For a 2D system containing two nodes \((x_{11}, x_{12})\) and \((x_{21}, x_{22})\), to fix the second node at position \((1, 2)\), the boundary condition (Equation (5.1.1)) can be expressed as +

+
+

The two most common types of Dirichlet boundary conditions are sticky and slip:

+

Sticky Boundary Conditions: These conditions effectively fix the position of certain nodes within a time step. They are characterized by a block-wise constraint Jacobian matrix \(A\). In this matrix, each set of \(d\) rows includes exactly one \(d \times d\) identity matrix. The rest of the matrix consists of zero matrices. This configuration is illustrated in Example 5.1.1. The implementation of sticky boundary conditions ensures that the specified nodes remain stationary, adhering to the prescribed positions during the simulation.

+

Slip Boundary Conditions: These conditions are designed to constrain each boundary condition (BC) node within a specific linear subspace, such as a plane or a line, which may not necessarily be axis-aligned. As an example, consider planar slip boundary conditions. Here, for each BC node, there is a corresponding row in the matrix \(A\) that contains the normal vector of the plane. This vector occupies the columns corresponding to the BC node, as detailed in Example 5.1.2. Such conditions allow the nodes to move, but only within the defined linear subspace, thus adding a layer of complexity and realism to the simulation.

+
+

+Example 5.1.2 (Slip Dirichlet Boundary Condition). +For the same two-node system in Example 5.1.1, to constrain the first node in the line with equation \(2x + 3y = 4\), the constraint (Equation (5.1.1)) can be expressed as +

+
+

At the start of each time step, if we are given that all boundary conditions are satisfied, then the goal during optimization is simply to maintain the positions of the boundary condition nodes. This is represented as: + +Here, \(\Delta x\) is the search direction in each optimization iteration. Maintaining this condition ensures that any updated nodal position \(x + \alpha \Delta x\), with \(\alpha\) being the step size from line search, still satisfies the boundary conditions: + +This guarantees the adherence to boundary conditions throughout the optimization process.

+

To enforce the linear equality constraints (Equation (5.1.2)) for sticky DBC in a time step, we address this in each Newton iteration while solving for the search direction \( \Delta x \). This process involves forming the Lagrangian with a quadratic approximation to the Incremental Potential:

+

+

Here, \( \lambda \) is the \( m\times 1 \) Lagrange multiplier vector. The gradient and Hessian of the Incremental Potential are denoted by \( g \) and \( H \), respectively.

+

The solution is approached through a max-min optimization problem:

+

+

which leads to the formulation of a Karush-Kuhn-Tucker (KKT) system:

+

+

Solving this KKT system is essential to determine the search direction. Note that this system is not Symmetric Positive Definite (SPD) and its size increases with the number of BC nodes.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec5.2-DOF_elimin.html b/lec5.2-DOF_elimin.html new file mode 100644 index 0000000..29f69c1 --- /dev/null +++ b/lec5.2-DOF_elimin.html @@ -0,0 +1,265 @@ + + + + + + DOF Elimination Method - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

DOF Elimination Method

+

Considering the simplest sticky Dirichlet boundary condition as an example, its constraint Jacobian \( A \) acts as a selection matrix. Consequently, \( AA^T \) forms a \( m \times m \) identity matrix, and \( A^T A \) becomes a \( dn \times dn \) diagonal matrix. In this matrix, the entries corresponding to the BC nodes are one, and all other entries are zero.

+

When we left-multiply \( A \) to the first block row of Equation (5.1.3), the resulting equation is:

+

+

This manipulation allows us to directly solve for \( \lambda \) as:

+

+

By substituting Equation (5.2.1) back into the first block row of Equation (5.1.3), we derive the following equation:

+

+

Here, left-multiplying by \((I - A^T A)\) effectively zeroes out the rows corresponding to the BC nodes. Hence, Equation (5.2.2) represents an under-constrained system. However, the second block row of Equation (5.1.3) actually provides us with the values of \(\Delta x\) at the BC nodes (so they are not really unknowns). By considering this information, we can rewrite Equation (5.2.2) into a Symmetric Positive Definite (SPD) system:

+

+

where the matrices and vectors are partitioned as follows:

+

+

and the subscript \(B\) denotes the BC nodes. Knowing that \(\Delta x_B = 0\), the system simplifies to:

+

+

which represents a SPD system that excludes the BC nodes.

+

A More Practical Approach

+

The method outlined above serves primarily for mathematical explanation. In practical applications, constructing Equation (5.2.3) is often avoided. This is because it entails reordering degrees of freedom (DOFs) and separating the BC nodes from unconstrained nodes, a process that can be both tedious and inefficient, particularly when the set of Dirichlet nodes varies over time.

+

To circumvent the need to reorder DOFs, a direct modification of the original linear system can be made to align it with Equation (5.2.3). This adjustment involves setting all entries in the rows corresponding to BC nodes in \( H \) and \( g \) to \( 0 \). Additionally, for the columns associated with BC nodes in \( H \), all off-diagonal entries are set to \( 0 \) while diagonal entries are assigned \( 1 \) or another positive real number to ensure the system remains well-conditioned. After solving this modified system, the resulting values of \( \Delta x_U \) are immediately aquired, and all \( \Delta x_B \) values are guaranteed to be \( 0 \).

+
+

+Example 5.2.1 (DOF Elimination). +For the problem defined in Example 5.1.1 where the second node \((x_{21}, x_{22})\) is fixed at \((1,2)\) in a 2D two-node system, assuming in a certain iteration of a time step + +we solve the system + +for search direction \(\Delta x\) so that \(\Delta x_{21} = \Delta x_{22} = 0\) and after line search we for sure know that \((x_{21}, x_{22}) = (1, 2)\) still holds since . Here (5.2.4) is essentially +

+
+
+

+Remark 5.2.1 (Limitations of DOF Elimination). +The DOF elimination method described is effective when sticky BC nodes are established at the beginning of the time step. However, if this is not the case, and the constraint function in Equation (5.1.3) has a non-zero right-hand side (rhs), the DOF elimination method becomes inapplicable. The issue here is not the inability to solve for \( \Delta x \) under constraints with a non-zero rhs. Rather, the concern is that the resulting \( \Delta x \) might not lead to a descent direction in the Incremental Potential. This can result in exceedingly small step sizes after a line search, potentially stalling the optimization process.

+

Intuitively, if the direction of \( \Delta x_B \) is towards the prescribed BC coordinates, it could inadvertently increase the Incremental Potential, which is not adjusted to consider the BCs. Conversely, if \( \Delta x_B \) is simply \( 0 \) when the BCs are already satisfied, it effectively minimizes the Incremental Potential using a subset of variables, which remains a valid approach.

+

One might then ask why not adjust the DOFs to meet the BCs before starting the optimization. However, this strategy could lead to infeasible configurations, such as those involving intersections. A viable alternative is to initially apply stiff spring forces to gradually 'drag' the BC nodes to their constrained positions during optimization. After this, switching to the DOF elimination method can enhance convergence. This technique is further discussed in the section Moving Boundary Conditions*.

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec5.3-hanging_square.html b/lec5.3-hanging_square.html new file mode 100644 index 0000000..d22c0ae --- /dev/null +++ b/lec5.3-hanging_square.html @@ -0,0 +1,299 @@ + + + + + + Case Study: Hanging Sqaure* - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Case Study: Hanging Square*

+

We use a simple case study to end this lecture. Based on the mass-spring system developed in a previous section, we implement gravitational energy and sticky Dirichlet boundary conditions to simulate a hanging square. +The excutable Python project for this section can be found at https://github.com/phys-sim-book/solid-sim-tutorial under the 2_dirichlet folder.

+

Gravitational energy has + +which can be trivially implemented:

+

+Implementation 5.3.1 (GravityEnergy.py).

+
import numpy as np
+
+gravity = [0.0, -9.81]
+
+def val(x, m):
+    sum = 0.0
+    for i in range(0, len(x)):
+        sum += -m[i] * x[i].dot(gravity)
+    return sum
+
+def grad(x, m):
+    g = np.array([gravity] * len(x))
+    for i in range(0, len(x)):
+        g[i] *= -m[i]
+    return g
+
+# Hessian is 0
+
+

Then we just need to make sure the gravitational energy is added into the Incremental Potential (IP):

+

+Implementation 5.3.2 (Adding gravity to IP, time_integrator.py).

+
def IP_val(x, e, x_tilde, m, l2, k, h):
+    return InertiaEnergy.val(x, x_tilde, m) + h * h * (MassSpringEnergy.val(x, e, l2, k) + GravityEnergy.val(x, m))     # implicit Euler
+
+def IP_grad(x, e, x_tilde, m, l2, k, h):
+    return InertiaEnergy.grad(x, x_tilde, m) + h * h * (MassSpringEnergy.grad(x, e, l2, k) + GravityEnergy.grad(x, m))   # implicit Euler
+
+

For the sticky Dirichlet boundary condition, we modify the system accordingly when computing search direction:

+

+Implementation 5.3.3 (DOF elimination, time_integrator.py).

+
def search_dir(x, e, x_tilde, m, l2, k, is_DBC, h):
+    projected_hess = IP_hess(x, e, x_tilde, m, l2, k, h)
+    reshaped_grad = IP_grad(x, e, x_tilde, m, l2, k, h).reshape(len(x) * 2, 1)
+    # eliminate DOF by modifying gradient and Hessian for DBC:
+    for i, j in zip(*projected_hess.nonzero()):
+        if is_DBC[int(i / 2)] | is_DBC[int(j / 2)]: 
+            projected_hess[i, j] = (i == j)
+    for i in range(0, len(x)):
+        if is_DBC[i]:
+            reshaped_grad[i * 2] = reshaped_grad[i * 2 + 1] = 0.0
+    return spsolve(projected_hess, -reshaped_grad).reshape(len(x), 2)
+
+

Here is_DBC is an array marking whether a node is Dirichlet or not as we store the Dirichlet node indices in DBC:

+

+Implementation 5.3.4 (DBC definition, simulator.py).

+
DBC = [n_seg, (n_seg + 1) * (n_seg + 1) - 1]  # fix the left and right top nodes
+
+# ...
+
+# identify whether a node is Dirichlet
+is_DBC = [False] * len(x)
+for i in DBC:
+    is_DBC[i] = True
+
+

Finally, after making sure is_DBC is passed to the time integrator, we can simulate an energetic hanging square (no initial stretching) with a smaller spring stiffness k=1e3 at framerate time step size h=0.02 (Figure 5.3.1).

+
+
+ +
+
+Figure 5.3.1. From left to right: initial, intermediate, and final static frame of the hanging square simulation.
+
+
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec5.4-summary.html b/lec5.4-summary.html new file mode 100644 index 0000000..bd34267 --- /dev/null +++ b/lec5.4-summary.html @@ -0,0 +1,234 @@ + + + + + + Summary - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Summary

+

In this section, we explored Dirichlet boundary conditions (DBC), integral to optimization time integrators, and presented them as straightforward linear equality constraints. There are two types of DBCs: sticky and slip. Sticky DBCs immobilize certain nodes, fixing their positions, whereas slip DBCs restrict the movement of nodes to within a plane or a line.

+

We focused on cases where sticky DBCs are already met at the start of a time step. In such scenarios, the DOF elimination method proves efficient. This technique modifies the gradient and Hessian of the Incremental Potential, ensuring that the resulting search direction remains within the feasible space.

+

In the following lecture, we will delve into the handling of slip DBCs and demonstrate methods for their efficient incorporation into optimization problems.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec6-slip_DBC.html b/lec6-slip_DBC.html new file mode 100644 index 0000000..8db32eb --- /dev/null +++ b/lec6-slip_DBC.html @@ -0,0 +1,233 @@ + + + + + + Slip Dirichlet Boundary Conditions - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Slip Dirichlet Boundary Conditions

+

Although they might be satisfied at the start of a time step, general slip Dirichlet boundary conditions (DBC) present unique challenges. Unlike the sticky DBCs, they cannot be directly addressed using the DOF elimination method, primarily because their constraint Jacobian does not consist of identity matrix blocks. To navigate this complexity, we can adopt a change-of-basis strategy.

+

Before delving into the more general scenarios, it's insightful to first examine a particular type of slip DBC: those that are axis-aligned. Understanding this specific case will lay the groundwork for tackling the broader range of slip DBCs.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec6.1-axis_aligned.html b/lec6.1-axis_aligned.html new file mode 100644 index 0000000..069cc15 --- /dev/null +++ b/lec6.1-axis_aligned.html @@ -0,0 +1,243 @@ + + + + + + Axis-Aligned Slip DBC - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Axis-Aligned Slip DBC

+

Axis-Aligned slip Dirichlet boundary conditions (DBC) uniquely restrict the movement of certain nodes to linear subspaces that are aligned with the axes. For instance, these constraints could limit motion to lines parallel to the x-axis or planes parallel to the yz-plane. An advantageous aspect of Axis-Aligned slip DBC is that their constraint Jacobians bear resemblance to those of sticky DBCs. Consequently, they can be efficiently managed using the same DOF elimination method.

+
+

+Example 6.1.1 (Axis-Aligned Slip DBC). +Consider the previously mentioned two-node system in a 2D space, as referenced in the slip DBC example (Example 5.1.2). To apply a slip DBC that constrains the first node, represented by coordinates \((x_{11}, x_{12})\), to move only along the line \(y = 3\), we express this constraint as a linear equality: + +Then similar to sticky DBC, in a time step where this slip DBC is already satisfied, assume we have + +we can solve the system + +for search direction so that \(\Delta x_{12} = 0\) and the first node will stay on the \(y=3\) line for arbitrary step size since its \(y\) coordinate will not vary.

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec6.2-change_of_vars.html b/lec6.2-change_of_vars.html new file mode 100644 index 0000000..78e0d9e --- /dev/null +++ b/lec6.2-change_of_vars.html @@ -0,0 +1,254 @@ + + + + + + Change of Variables - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Change of Variables

+

Challenges with General Slip DBCs and the DOF Elimination Method

+

When dealing with general linear equality constraints, such as slip DBCs that aren't axis-aligned, the direct Degree of Freedom (DOF) elimination method faces certain limitations. This becomes evident particularly when \( AA^T \) is not an \( m \times m \) identity matrix. According to the Karush-Kuhn-Tucker (KKT) system (Equation (5.1.3)), the Lagrange multiplier vector \( \lambda \) can be solved as follows:

+

+

When we substitute Equation (6.2.1) back into the KKT system, it results in:

+

+

This leads to an under-constrained system. The key challenge here is that \( I - A^T (AA^T)^{-1} A \) does not possess a special structure that can be conveniently exploited to derive an equivalent, non-singular system while still satisfying the constraints. This makes the direct application of the DOF elimination method impractical for general slip DBCs.

+

Simplifying Constraints Using Singular Value Decomposition

+

Our approach involves transforming the degrees of freedom (DOF) into a new set of variables, making the constraints as straightforward as those in sticky DBC. To achieve this, we employ singular value decomposition (SVD) on the constraint Jacobian matrix \( A \). The SVD of \( A \) is expressed as: + +Here, \( U \) is a \( m \times m \) orthogonal matrix, \( V \) is a \( dn \times dn \) orthogonal matrix, and \( S \) is a \( m \times dn \) diagonal matrix.

+

By defining \( y = V^T \Delta x \), we can reframe the Karush-Kuhn-Tucker (KKT) system (Equation (5.1.3)) into a new format:

+

+

In this transformed system, \( \lambda' = U^T \lambda \). Notably, the presence of the diagonal matrix \( S \) in the off-diagonal blocks allows the direct application of the DOF elimination method. Once we solve for \( y \), the original variable \( \Delta x \) is easily recovered through the matrix-vector product \( \Delta x = V y \).

+
+

+Remark 6.2.1 (Limitations of Using SVD for DOF Elimination). +While we utilized singular value decomposition (SVD) to illustrate the concept, it's important to recognize the limitations of applying SVD in practice, especially on large matrices. There are two primary concerns:

+
    +
  1. Intractability with Large Matrices: Performing SVD on matrices of substantial size can be computationally challenging and often impractical.
  2. +
  3. Impact on Computational Efficiency: The Incremental Potential Hessian \( H \) typically exhibits sparsity, making it efficient to factorize in linear solves during simulations. However, if the resulting \( V \) from the SVD is dense, then \( V^T H V \) will also be dense. This not only slows down the computation but also significantly increases the cost of linear solves.
  4. +
+

It's crucial to note that the new basis set (the column vectors of \( V \)) needs to be linearly independent but does not necessarily have to be orthonormal. This insight opens up the possibility of identifying a sparse basis set. Such a set can maintain computational efficiency when dealing with general linear equality constraints. For a practical example of this approach, see [Chen et al. 2022].

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec6.3-general_slip_DBC.html b/lec6.3-general_slip_DBC.html new file mode 100644 index 0000000..6fa4706 --- /dev/null +++ b/lec6.3-general_slip_DBC.html @@ -0,0 +1,262 @@ + + + + + + General Slip DBC - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

General Slip DBC

+

Fortunately, for constraints like slip DBCs that are decoupled per node, SVD simply results in block-diagonal and which could be constructed procedurally in an efficient way. +3D planar slip DBC at node can be expressed as + +where is the normal of the plane that node is slipping, and is an arbitrary point on that plane. +As discussed near Equation (5.1.2), if at the beginning of the time step node is already on the plane, the constraint simplifies to + +Then performing SVD on the row vector , we obtain + +where unit vectors , , and together form an orthonormal basis in 3D.

+

Then it becomes clear that globally, is simply a identity matrix, is a matrix where every row contains exactly one unit-valued entry in the column corresponding to the first DOF of the slip BC node, and is a block-diagonal matrix with the orthonormal blocks only on those corresponding to BC nodes, and identity matrix elsewhere.

+

To compute and from , we first note that there are an infinite number of possible solutions. +Therefore, we can simply first construct , or if is almost colinear with , and then construct . +To obtain , one only needs to left-multiply each to . +As for , first left-multiply each to every block on the -th block row of to obtain . Then for the -th block column of , left-multiply to every block. +Finally, after solving for by applying the DOF elimination method on the modified system (Equation (6.2.3)), can be obtained by with similar block(node)-wise operations.

+
+

+Example 6.3.1 (General Slip DBC). +For the same two-node system in 2D as mentioned in the slip DBC example (Example 5.1.2), to constrain the first node inside the line, the slip DBC can be expressed as + +and we can build + +for changing the basis. +Then in a time step where this slip DBC is already satisfied, assume we have + +we can compute + +and solve the system + +for . Then the search direction can be obtained by so that and so the first node will stay on the line for arbitrary step size.

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec6.4-summary.html b/lec6.4-summary.html new file mode 100644 index 0000000..1b42cfc --- /dev/null +++ b/lec6.4-summary.html @@ -0,0 +1,234 @@ + + + + + + Summary - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Summary

+

This section has demonstrated that, with a change in the basis of variables, general slip Dirichlet boundary conditions (DBC) can be effectively managed using the Degree of Freedom (DOF) elimination method, much like axis-aligned slip DBCs.

+

While singular value decomposition (SVD) can be used to find the basis for general linear equality constraints, this approach may not be feasible for large or complex constraints. Nonetheless, it's possible to develop procedural routines for computing the basis, specifically tailored to node-wise slip DBC constraints.

+

Currently, our focus has been on maintaining DBCs that are already satisfied within the simulation framework. Moving forward, the discussion will shift towards exploring frictional contact between points and analytic surfaces. Additionally, we will revisit scenarios where DBCs are not satisfied at the start of a time step, delving into more complex cases.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec7-dist_barrier.html b/lec7-dist_barrier.html new file mode 100644 index 0000000..b8a2a95 --- /dev/null +++ b/lec7-dist_barrier.html @@ -0,0 +1,232 @@ + + + + + + Distance Barrier for Nonpenetration - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Distance Barrier for Nonpenetration

+

Contact modeling is a crucial aspect of ensuring that solids do not intersect with obstacles or themselves. This topic was briefly touched upon in a previous section. In this lecture, we delve deeper into the specifics of non-interpenetration within the framework of the Incremental Potential Contact (IPC) method. Our focus will be on a simplified yet significant scenario: contact between solids and obstacles that have closed boundaries. This specific focus allows us to thoroughly explore the mechanics and principles of the IPC method in a controlled setting.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec7.1-signed_dists.html b/lec7.1-signed_dists.html new file mode 100644 index 0000000..15849f5 --- /dev/null +++ b/lec7.1-signed_dists.html @@ -0,0 +1,269 @@ + + + + + + Signed Distances - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Signed Distances

+

The Incremental Potential Contact (IPC) method is designed to ensure non-interpenetration in solids of any codimension by maintaining the unsigned distances between solid boundaries above zero throughout their movement. This approach is robust as it applies universally, irrespective of the solid's specific characteristics.

+

However, when signed distances are accessible, the application of IPC becomes not only straightforward but also more streamlined. Signed distances extend the concept of unsigned distances to encompass solid geometries with closed boundaries. With IPC enforcing non-interpenetration, the possibility of negative distances inside a solid is eliminated. Therefore, in scenarios where signed distances remain non-negative (including the state of being exactly zero), it's an indication of successful non-interpenetration.

+
+

+Definition 7.1.1 (Codimension). +If \(W\) is a linear subspace of a finite-dimensional vector space \(V\), then the codimension of \(W\) in \(V\) is the difference between their dimensions: + +For example, in 3D, a surface has codimension \(1\), and a line has codimension \(2\). +In computer graphics, when simulating cloth and hair, codimension 1 and 2 geometry representations are often applied respectively for efficiency. However, their signed distances are not well-defined. This also explains why unsigned distances are more general for modeling solid contact.

+
+

In a previous section, we explored various methods for representing solid geometries. One notable approach is the analytical representation. For instance, a 3D ball centered at \( \mathbf{c} \) with radius \( r \) can be analytically described by the parameterization:

+

+

This principle of defining solid geometries extends beyond simple spheres. Many other shapes, such as half-spaces, boxes, ellipsoids, and tori, can be similarly parameterized. The key to these parameterizations lies in defining the "interior" of these objects, which can often be achieved through functions like signed distances. These functions provide a versatile tool for describing a wide range of simple and complex shapes in a concise and mathematical manner.

+
+

+Example 7.1.1 (Ball Signed Distance Function). +The signed distance function \(d(\mathbf{x})\) and its derivatives of a ball centered at \(\mathbf{c}\) with radius \(r\) can be defined as +

+
+
+

+Example 7.1.2 (Half-Space Signed Distance Function). +The signed distance function \(d(\mathbf{x})\) and its derivatives of a half-space with normal \(\mathbf{n}\) and \(d(\mathbf{o}) = 0\) can be defined as +

+
+

Representing more intricate geometries, like those commonly encountered in real-life scenarios, can be a challenging task due to their complexity. An effective alternative to intricate parameterizations is the use of a uniform Euclidean grid. This grid serves as a storage mechanism for the signed distances of a solid object, with these distances precomputed at each grid node. When the distance at any arbitrary point within the solid is required, interpolation can be applied to the grid data.

+
+

+Example 7.1.3 (Grid Signed Distance Field). +For a signed distance field stored on a uniform Euclidean grid with spacing \(\Delta x\), to query the distance at an arbitrary location \(\mathbf{x} = (x,y)\) where \(x = x_i + \alpha \Delta x\) and \(y = y_i + \beta \Delta x\) (\(\mathbf{x}_{i,j} = (x_i, y_j)\) are the location of grid nodes, \(0 \leq \alpha,\beta \leq 1\)), with bilinear interpolation (Figure 7.1.1 right), + +From Figure 7.1.1 we also see that to approximate a solid boundary smoothly in this setting, a higher-order interpolation scheme such as quadratic b-spline interpolation is needed.

+
+ +
+
+Figure 7.1.1. The signed distance between the grid nodes and the sphere boundary is precomputed and stored (left). With bilinear interpolation, part of the sphere boundary is approximated as the blue polyline (right).

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec7.2-dist_barrier_formulation.html b/lec7.2-dist_barrier_formulation.html new file mode 100644 index 0000000..8c20887 --- /dev/null +++ b/lec7.2-dist_barrier_formulation.html @@ -0,0 +1,262 @@ + + + + + + Distance Barrier - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Distance Barrier

+

Constrained Optimization

+

In scenarios like a solid interacting with a planar ground, where the signed distance function \( d(\mathbf{x}) \) is smooth outside the obstacle, we can approach the modeling of contact by incorporating non-interpenetration constraints. These constraints are formulated using \( d(\mathbf{x}) \), while we also aim to minimize the Incremental Potential of the system.

+

Assuming that the solids are densely sampled with nodes \(\mathbf{x}\), we apply these constraints at the level of nodal Degrees of Freedom (DOFs) in relation to the obstacles:

+

+

In this equation, \( d_{ij} \) represents the signed distance between node \( i \) and obstacle \( j \). By ensuring that \( d_{ij} \) is non-negative, we effectively prevent the solids from intersecting with the obstacles1.

+

Logarithm Barrier Potential in Contact Modeling

+

To address the inequality constraints in our contact modeling, we introduce a barrier potential \( P_b(\mathbf{x}) \). This potential transforms the constrained problem, as described in Equation (7.2.1), into an "unconstrained" optimization problem:

+

+

The barrier potential is defined as follows:

+

+

In this formulation, \( b() \) represents the barrier energy density function. As the distance approaches zero, this function tends to infinity, thereby providing a strong repulsion force to prevent interpenetration (refer to Figure 7.2.1). The distance threshold \( \hat{d} \) above which no contact force is exerted, the contact stiffness \( \kappa \) which controls the rate of change of the contact forces with respect to distance, and \( A_i \), the contact area of node \( i \), are key parameters in this setup. By integrating the energy density over the solid boundary, the barrier formulation effectively models a potential energy field that is of thickness \( \hat{d} \).

+
+
+ +
+
+Figure 7.2.1. The barrier energy density function plotted with different . Decreasing asymptotically matches the discontinuous definition of the contact condition.
+
+
+

+Remark 7.2.1 (Contact Layer Interpretation). +Imagine the barrier potential \( P_b(\mathbf{x}) \) as representing the elasticity of an ultra-thin layer of virtual material that exists just outside the boundaries of the solids. This virtual layer has an effective thickness of \( \hat{d} \), which correlates with the distance threshold in the barrier function.

+

Consequently, the integration or summation used in computing \( P_b(\mathbf{x}) \) is weighted by the volume element \( w_i = A_i \hat{d} \), where \( A_i \) represents the contact area of each node. As solids approach and begin to compress this virtual elastic layer, contact forces arise. These forces, akin to a unique type of elasticity force, serve to prevent interpenetration by providing a repulsion effect whenever the solids come too close to each other. This model allows us to simulate the physical response of contact without actual penetration of the solids.

+
+

Applying chain rules with distance being the intermediate variables, we can derive the gradient and Hessian of \(P_b(\mathbf{x})\) as + +and +

+
1 +

As we are using signed distances here, the inequality constraints can be defined without introducing an \(\epsilon\) as in Equation (2.3.1) with unsigned distances.

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec7.3-sol_accuracy.html b/lec7.3-sol_accuracy.html new file mode 100644 index 0000000..d2fa7f5 --- /dev/null +++ b/lec7.3-sol_accuracy.html @@ -0,0 +1,247 @@ + + + + + + Solution Accuracy - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Solution Accuracy

+

So why can we solve Equation (7.2.2) to approximate the solution of the original problem in Equation (7.2.1)? +Similar to Dirichlet Boundary Conditions, at the solution \(x^*\) of Equation (7.2.1), the following KKT conditions all hold: + +While at the local optimum \(x'\) of Equation (7.2.2), we have + +which is equivalently + +and + +if we plug in the expression of \(\nabla b(d_{ij})\). +Let \(\gamma_{ij}' = -h^2 A_i \hat{d} \frac{\partial b}{\partial d}(d_{ij}(x'))\), we can further rewrite Equation (7.3.2) as + +which is essentially the stationarity condition (first line in Equation (7.3.1)) if we take \(\gamma_{ij}'\) as the dual variable. +Now since the barrier function provides arbitrarily large repulsion to avoid interpenetration, we know that \(\forall i,j\), \(d_{ij}(x') \geq 0\). In addition, \(\gamma_{ij}' \geq 0\) also holds for all \(i,j\) because \(\frac{\partial b}{\partial d} \leq 0\) by construction. This means that at \(x'\), we have momentum balance, no interpenetrations, and contact forces only push but not pull.

+

In our simulation, the only Karush-Kuhn-Tucker (KKT) condition not strictly satisfied at \( x' \) is the complementarity slackness condition. This arises due to the way our barrier approximation functions. Specifically, we have a situation where \( \gamma_{ij} > 0 \Longleftrightarrow 0 < d_{ij} < \hat{d} \), representing the activation of contact forces based on the distance between solids and obstacles.

+

As the threshold \( \hat{d} \) decreases, contact forces become active only when the solids are in closer proximity (as illustrated in Figure 7.2.1). This adjustment leads to a reduction in the complementarity slackness error, which can be controlled to a certain extent. However, it's important to note that this control comes at a cost: computational efficiency may be reduced. This is because sharper objective functions, resulting from smaller \( \hat{d} \) values, tend to require more Newton iterations to resolve. Therefore, there is a trade-off between the accuracy of the simulation (in terms of adhering to the KKT condition) and the computational resources required.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec7.4-summary.html b/lec7.4-summary.html new file mode 100644 index 0000000..fcce468 --- /dev/null +++ b/lec7.4-summary.html @@ -0,0 +1,248 @@ + + + + + + Summary - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Summary

+

In simulating contact between solids and obstacles, we primarily focus on enforcing non-negativity on the signed distances between solid degrees of freedom (DOFs) and obstacles, in conjunction with minimizing the Incremental Potential.

+
    +
  • +

    Transformation to an Unconstrained Problem: The inherent inequality-constrained minimization issue for each time step is transformed into an unconstrained problem. This is achieved through the introduction of a barrier potential. This potential rises to infinity as distances approach zero, effectively generating large repulsion forces that prevent interpenetration.

    +
  • +
  • +

    Outcomes at Local Minimum: At the local minimum of this barrier-augmented Incremental Potential, we attain a balance of momentum, ensure non-interpenetration, and generate contact forces that only push but do not pull. The only exception in the Karush-Kuhn-Tucker (KKT) conditions is the complementarity slackness, which is not strictly satisfied. The accuracy in satisfying this condition can be controlled by adjusting the distance threshold , albeit at the expense of computational efficiency.

    +
  • +
  • +

    Limitations and Next Steps: While the distance barrier method effectively addresses many contact scenarios, it cannot alone prevent artificial tunneling in dynamic simulations. To overcome this limitation, our next lecture will introduce the filtered line search scheme, an advanced technique designed to provide more guarantees to our simulations.

    +
  • +
+
+

+Remark 7.4.1 (Tunneling). Artificial tunneling in the context of simulations, particularly in computational physics and computer graphics, refers to a phenomenon where fast-moving objects pass through other objects or barriers without physically interacting with them, as if there were a tunnel through the barrier. This typically happens in scenarios involving discrete time steps, such as in computer simulations of physical systems.

+

In a real-world scenario, when two objects collide, there should be a physical interaction like a bounce, a stop, or a deformation. However, in a simulation with discrete time steps, if an object is moving very fast or the time steps are too large, the object's position might be calculated as being on one side of a barrier in one step and then on the other side in the next, without ever detecting a collision. This "skipping" of the collision step leads to what appears as tunneling through the object.

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec8-filter_line_search.html b/lec8-filter_line_search.html new file mode 100644 index 0000000..3d3ee46 --- /dev/null +++ b/lec8-filter_line_search.html @@ -0,0 +1,234 @@ + + + + + + Filter Line Search* - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Filter Line Search*

+

The Incremental Potential Contact (IPC) method effectively maintains non-interpenetration constraints within solid simulations. This method models a constitutive relationship that directly correlates contact forces with their respective distances, thus converting the constrained problem into an unconstrained one. By using appropriately small time steps, the IPC allows for robust and accurate solid simulations free from obstacle interpenetration within an optimization-based time integration framework.

+

However, challenges arise when using larger time steps, which can introduce multiple local minima in the Incremental Potential. This condition can lead to tunneling issues, where solids might unexpectedly pass through obstacles due to overly large search directions. To mitigate this risk, we introduce a filter line search strategy supplemented by continuous collision detection (CCD). This approach is designed to prevent tunneling by continuously adjusting the trajectory of solids in response to potential collisions.

+

To illustrate these concepts, we will examine a case study where an elastic square falls onto the ground. This example will demonstrate the effectiveness of the IPC method along with the filter line search and CCD in managing the dynamics of solid bodies and ensuring accurate, interpenetration-free simulations.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec8.1-tunneling.html b/lec8.1-tunneling.html new file mode 100644 index 0000000..c85cc51 --- /dev/null +++ b/lec8.1-tunneling.html @@ -0,0 +1,251 @@ + + + + + + Tunneling Issue - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

The Tunneling Issue

+
+

+Example 8.1.1 (Tunneling). +Let's consider a simple illustrative example. Without external forces like gravity, for a particle (no elasticity) at \(\mathbf{x}_0 = (0, 0)\) with mass \(m\) and initial velocity \(\mathbf{v}_0 = (1, 0)\) hitting a fixed square obstacle centered at \((0.005, 0) \), the Incremental Potential minimization problem for the first time step is + +Since \(\hat{d}\) is usually set small enough such as \(10^{-4}m\) in this case, the barrier potential \(P_b(\mathbf{x})\) is not yet active at \(\mathbf{x}_0\) as the particle is not touching the obstacle. This makes the problem in Equation (8.1.1) quadratic, and our projected Newton (PN) method (Algorithm 3.3.1) will produce a search direction + +at the first iteration, which directly leads to the global minimum of the Incremental Potential at \(\mathbf{x}_0 + h\mathbf{v}_0\) after line search. Taking \(h=0.01s\) (Figure 8.1.1), the particle will tunnel through the obstacle. +However, scenarios where particles pass through obstacles due to large time steps are clearly unrealistic, as the expected physical behavior is for the particle to collide with the obstacle and either stop or bounce back.

+
+
+
+ +
+
+Figure 8.1.1. An illustration of the tunneling issue. With the projected Newton method introduced earlier, tunneling artifact could happen as shown in the middle. The physically plausible result shown on the right could be obtained with the filter line search scheme. The blue arrows show the optimization path.
+
+

From Example 8.1.1, we understand that simply ensuring the signed distances to be non-negative at the final solution is inadequate, especially in scenarios involving large time step sizes, high-speed impacts, or thin obstacles. These conditions can lead to inaccuracies and unrealistic outcomes in simulations.

+

The Incremental Potential Contact (IPC) method addresses this issue by ensuring that distances remain non-zero across the entire motion trajectory of solids. This approach is crucial for maintaining the physical accuracy and realism of the simulation.

+

But what exactly do we mean by "motion trajectory" in the context of discrete time integration? We will explain this next.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec8.2-nonpenetration_traj.html b/lec8.2-nonpenetration_traj.html new file mode 100644 index 0000000..558ba39 --- /dev/null +++ b/lec8.2-nonpenetration_traj.html @@ -0,0 +1,287 @@ + + + + + + Penetration-free Trajectory - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Penetration-free Trajectory

+

The most straightforward way of defining the motion trajectory between \(x^n\) and \(x^{n+1}\) at time \(t^n\) and \(t^{n+1}\) respectively would be the high-dimensional line segment connecting these two configurations. However, although enforcing non-negative signed distances on this trajectory could avoid the tunneling issue in Example 8.1.1, this strategy could potentially result in unrealistic behaviors as it alters the local optimum of the minimization problem (Equation (7.2.1)) in a nonphysical way (Figure 8.2.1).

+
+
+ +
+
+Figure 8.2.1. For the setup in the tunneling example, enforcing non-negative signed distance along the motion trajectory approximated by the line segment between and results in a nonphysical simulation result.
+
+

A more rigorous definition of the motion trajectory between \(x^n\) and \(x^{n+1}\) could be + +However, evaluating the configurations on this trajectory requires solving extra optimization problems, which could significantly complicate the time integration.

+

Instead, IPC takes the optimization path as an approximation to the motion trajectory. Specifically, for the time step solving from \(x^n\) to \(x^{n+1}\), if the optimization took \(l\) iterations, and each iteration we get iterate \(x^i\) after line search, the optimization path is simply the high-dimensional polyline + +Now the time integration problem in time step \(n\) becomes finding such optimization path \(x_0, x_1, ..., x_l\) where \(x^l\) locally minimizes the Incremental Potential (Equation (7.2.2)) subject to + +This enables enforcing the non-negative distance constraints per optimization iteration on the line segment between \(x^i\) and \(x^{i+1}\), which will not alter the local optimum of the time integration problem, and can be handled efficiently.

+

Recall from Algorithm 3.2.1 that the line search scheme updates the iterate as \(x^{i+1} \leftarrow x^i + \alpha p\), which means \(x^{i+1} - x^{i} = \alpha p\). Therefore, given an interpenetration-free \(x^i\), to ensure all the configurations on the line segment between \(x^i\) and \(x^{i+1}\) are interpenetration-free, we just need to find such \(\alpha\) that makes sure + +Based on the intuition that a sufficiently small \(\alpha\) could definitely make this happen, we can simply calculate an upper bound of such \(\alpha\) in every iteration, and make sure the backtracking line search results in a step size smaller than this upper bound. This upper bound can be conveniently calculated with continuous collision detection (CCD).

+
+

+Definition 8.2.1 (Continuous Collision Detection (CCD)). +For a distance function \(d_{jk}(x + \alpha p)\) defined with the initial interpenetration-free configuration of the solids and obstacles \(x\), their intended displacement \(p\), and the step size \(\alpha\), CCD calculates the step size \(\alpha^C_{jk}\) given \(x\) and \(p\) such that + +Note that the problem definition implicitly requires \(d_{jk}(x) > 0\). Under this setting, if we denote \(d^a_{jk}(\alpha) = d_{jk}(x + \alpha p)\), \(\alpha^C_{jk}\) is simply the smallest positive real root of \(d^a_{jk}(\alpha)\) (see Figure 8.2.2 for an example), or \(\alpha^C_{jk} = \infty\) if \(d^a_{jk}(\alpha)\) does not have any positive real roots. There are many methods to obtain the exact or a conservative estimate of \(\alpha^C_{jk}\), we will see a specific example in the case study of this lecture. After computing \(\alpha^C_{jk}\) for all nodes \(j\) and obstacle \(k\), a step size upper bound \(\alpha^C\) for the line search could then be obtained as +

+
+ +
+
+Figure 8.2.2. An illustration of CCD with a solid particle at hitting a fixed vertical plane at . With the intended displacement , we obtain .

+
+ +

Now, we can introduce our filter line search method (Algorithm 8.2.1), specifically designed to enforce non-interpenetration constraints throughout the entire approximated motion trajectory. This strategic enforcement is key in preventing tunneling issues that commonly occur in simulations with insufficient constraint handling.

+

This new scheme differs from the traditional backtracking line search method in a critical aspect: it initializes the step size. Instead of starting with a step size of \(1\), the filter line search method begins with \(\alpha^C\). This modification is subtle yet significant.

+
+
+
+Algorithm 8.2.1 (Filter Backtracking Line Search).
+ +
+
+
+

+Remark 8.2.1 (Algorithm Dependency Issue). +Using the optimization path to approximate the motion trajectory is still not perfect as it is algorithm dependent. Other than the projected Newton (PN) method, there could be an algorithm that walks around an obstacle and ended up with a configuration on the other side, still providing a tunneling solution (Figure 8.2.3). +Even with projected Newton, although in practice it always generates straightforward and physically plausible trajectories, there is no theoretical guarantee that it will never encounter tunneling issues. +An intuition is that the search direction in every PN iteration always significantly decreases the Incremental Potential (IP), and so it is unlikely to walk around any contacts which often results in iterations that do not sufficiently decrease the IP. +In fact, this kind of issue also happens in elastodynamics simulation without contact. Elasticity energy itself is also nonconvex, which can result in multiple local optima for the IP. The key to obtaining physical behaviors is to locally minimize IP, in other words, finding the nearby local minimum as the solution.

+
+ +
+
+Figure 8.2.3. For the setup in the tunneling example, even with the filter line search scheme, if an optimization method other than projected Newton is applied, it could still lead to the tunneling issue.

+
+ + +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec8.3-square_drop.html b/lec8.3-square_drop.html new file mode 100644 index 0000000..a4ad85f --- /dev/null +++ b/lec8.3-square_drop.html @@ -0,0 +1,317 @@ + + + + + + Case Study: Square Drop* - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Case Study: Square Drop

+

To conclude, let's consider a case study where we simulate a square dropped onto a fixed planar ground. Building on our previous mass-spring model for an elastic square, we augment a barrier potential into its Incremental Potential and apply the filter line search scheme to manage the contact between the square's degrees of freedom (DOFs) and the ground.

+

The excutable Python project for this section can be found at https://github.com/phys-sim-book/solid-sim-tutorial under the 3_contact folder.

+

If we further limit the planar ground to be horizontal, e.g. at \(y=y_0\), its signed distance function can be made even simpler than Equation (7.1.1): + +Combining it with Equation (7.2.4) and Equation (7.2.5), we can conveniently implement the gradient and Hessian computation for the barrier potential of this horizontal ground:

+

+Implementation 8.3.1 (Barrier energy value, gradient, and Hessian, BarrierEnergy.py).

+
import math
+import numpy as np
+
+dhat = 0.01
+kappa = 1e5
+
+def val(x, y_ground, contact_area):
+    sum = 0.0
+    for i in range(0, len(x)):
+        d = x[i][1] - y_ground
+        if d < dhat:
+            s = d / dhat
+            sum += contact_area[i] * dhat * kappa / 2 * (s - 1) * math.log(s)
+    return sum
+
+def grad(x, y_ground, contact_area):
+    g = np.array([[0.0, 0.0]] * len(x))
+    for i in range(0, len(x)):
+        d = x[i][1] - y_ground
+        if d < dhat:
+            s = d / dhat
+            g[i][1] = contact_area[i] * dhat * (kappa / 2 * (math.log(s) / dhat + (s - 1) / d))
+    return g
+
+def hess(x, y_ground, contact_area):
+    IJV = [[0] * len(x), [0] * len(x), np.array([0.0] * len(x))]
+    for i in range(0, len(x)):
+        IJV[0][i] = i * 2 + 1
+        IJV[1][i] = i * 2 + 1
+        d = x[i][1] - y_ground
+        if d < dhat:
+            IJV[2][i] = contact_area[i] * dhat * kappa / (2 * d * d * dhat) * (d + dhat)
+        else:
+            IJV[2][i] = 0.0
+    return IJV
+
+

For the filter line search, with the position in the last iteration \(\mathbf{x}\) and a search direction \(\mathbf{p}\) of a specific node, the signed distance function is simply +\[ +d(\mathbf{x} + \alpha \mathbf{p}) = \mathbf{x}_y + \alpha \mathbf{p}_y - y_0, +\] +where \(\alpha\) is the step size, and there is only one positive real root \(\alpha = (y_0 - \mathbf{x}_y) / \mathbf{p}_y\) when \(\mathbf{p}_y < 0\) since \(\mathbf{x}_y > y_0\) (no interpenetration up to current iteration). Taking the minimum of the positive real root per node then gives us the step size upper bound \(\alpha_C\) defined in Equation (8.2.1):

+

+Implementation 8.3.2 (Ground CCD, BarrierEnergy.py).

+
def init_step_size(x, y_ground, p):
+    alpha = 1
+    for i in range(0, len(x)):
+        if p[i][1] < 0:
+            alpha = min(alpha, 0.9 * (y_ground - x[i][1]) / p[i][1])
+    return alpha
+
+

Here we scale the upper bound by \(0.9\times\) so that exact touching configurations with \(d=0\) and \(b = \infty\) (floating-point number overflow) can be avoided.

+

Then once we make sure the step size upper bound is used to initialize the line search

+

+Implementation 8.3.3 (Filter line search, time_integrator.py).

+
        # filter line search
+        alpha = BarrierEnergy.init_step_size(x, y_ground, p)  # avoid interpenetration and tunneling
+        while IP_val(x + alpha * p, e, x_tilde, m, l2, k, y_ground, contact_area, h) > E_last:
+            alpha /= 2
+
+

and that the contact area weights for all nodes are calculated

+

+Implementation 8.3.4 (Contact area, simulator.py).

+
contact_area = [side_len / n_seg] * len(x)     # perimeter split to each node
+
+

and passed to our simulator, we can simulate the square drop with mass-spring stiffness k=2e4 and time step size h=0.01 as shown in Figure 8.3.1.

+
+
+ +
+
+Figure 8.3.1. A mass-spring elastic square is dropped onto the ground with initial velocity under gravity. Here we show the frames when the square is: just dropped, first touching the ground, compressed to the maximum in this simulation, and becoming static.
+
+
+

+Remark 8.3.1 (Contact Layer Integration). +Since in practice, contact forces are only exerted on the boundary of the solids, the barrier potential should be integrated only on the boundary as well. +This also explains why in our case study the contact area weight per node is simply calculated as the diameter of the square evenly distributed onto each boundary node. +However, as mass-spring elasticity cannot guarantee that all interior nodes will stay inside the boundary of the solid, we simply apply the barrier potential to all nodal DOFs of the square.

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec8.4-summary.html b/lec8.4-summary.html new file mode 100644 index 0000000..d78f40f --- /dev/null +++ b/lec8.4-summary.html @@ -0,0 +1,235 @@ + + + + + + Summary - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Summary

+

To mitigate tunneling issues in solid simulation with large time steps, it is crucial to enforce non-negativity constraints of signed distances between solids and obstacles throughout the entire motion trajectory, not just at the final solution.

+

While directly using the optimization path to approximate the motion trajectory isn't perfect theoretically, it supports the design of a filter line search scheme. This scheme utilizes continuous collision detection (CCD) and the projected Newton method, effectively preventing tunneling in practical scenarios.

+

The projected Newton method, a gradient-based approach for minimizing the Incremental Potential, requires that the potential energy has a continuous gradient. Consequently, the distance functions employed in our barrier potential need to be at least continuous. For grid-based signed distance fields (Example 7.1.3), mere bilinear interpolation is considered insufficient.

+

Additionally, handling self-contact on the piece-wise linear boundary of a mesh necessitates further approximations to smooth the distance function. Detailed exploration of self-contact will be addressed in future sections

add ref

. Before that, we will first transition to discussing solids-obstacle friction in our next lecture.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec9-friction.html b/lec9-friction.html new file mode 100644 index 0000000..78b4151 --- /dev/null +++ b/lec9-friction.html @@ -0,0 +1,232 @@ + + + + + + Frictional Contact - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Frictional Contact

+

In the macroscopic view, contact forces comprise not only the normal forces that prevent interpenetrations but also tangential friction forces that dampen shearing motions at the interfaces. Most surfaces, when observed microscopically, are not perfectly smooth but are formed of jagged edges. Friction essentially arises from forces preventing non-interpenetration between these jagged edges. In this lecture, we introduce the Coulomb friction model, incorporating approximations that make it compatible with optimization time integrators.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec9.1-smooth_fric.html b/lec9.1-smooth_fric.html new file mode 100644 index 0000000..e0f62ae --- /dev/null +++ b/lec9.1-smooth_fric.html @@ -0,0 +1,270 @@ + + + + + + Smooth Dynamic-Static Transition - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Smooth Dynamic-Static Transition

+

To model frictional contact, local frictional forces can be added for every active contact point pair . +For each such pair , at the current state , a consistently oriented sliding basis can be constructed, where is the total number of simulated nodes and is the dimension of space, such that provides the local relative sliding velocity that is orthogonal to the distance gradient in the normal direction .

+
+

+Example 9.1.1 (Particle Sliding on Sphere). +For a particle with velocity moving on the surface of a sphere with velocity (no rotation), the relative sliding velocity here can be calculated as + +If we stack the velocity of the particle and the sphere for this system to obtain , we now know that is simply + +For more general cases like mesh-mesh contact, the form of only varies in how the relative velocity at the contact point pair is related to the velocity at the simulated nodes.

+
+

Maximizing dissipation rate subject to the Coulomb constraint defines friction forces variationally + +where is the contact force magnitude +and is the local friction coefficient. This is equivalent to + +with when , while takes any unit vector orthogonal to when . In addition, the friction scaling function, , is also nonsmooth with respect to since when , and when . These non-smoothness would severely slow down and even break convergence of gradient-based optimization.

+
+
+ +
+
+Figure 9.1.1. An illustration of , , , and when a point slides on a sphere.
+
+
+

+Remark 9.1.1 (Contact Force Magnitude). + is the contact force magnitude because at node , the contact force is . Therefore, since and .

+
+

To enable efficient and stable optimization, the friction-velocity relation in the transition to static friction can be mollified by replacing with a smoothly approximated function. Following IPC, we use + +where and a velocity magnitude bound (in units of ) below which sliding velocities are treated as static is defined for bounded approximation error (Figure 9.1.2).

+
+
+ +
+
+Figure 9.1.2. A 1D illustration of the smoothed relation between friction force and sliding velocity. Decreasing asymptotically matches the discontinuous Coulomb friction model.
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec9.2-semi_imp_fric.html b/lec9.2-semi_imp_fric.html new file mode 100644 index 0000000..14cac5d --- /dev/null +++ b/lec9.2-semi_imp_fric.html @@ -0,0 +1,266 @@ + + + + + + Semi-Implicit Discretization - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Semi-Implicit Discretization

+

However, challenges still remain on incorporating friction into the optimization time integration. A major problem is that friction is not a conservative force and there is no well-defined potential such that taking the opposite of its gradient produces the frictional force. In other words, implicit friction force is not integrable. Without a potential energy, backtracking line search could not be performed, and thus guarantees on the stability and convergence of the optimization will be broken.

+

In fact, whether a force has well-defined potential energy really depends on the temporal discretization. For example, with explicit time integration, any force is constant within a time step and it has a potential energy . +Taking this inspiration, we could make friction force integrable with a smarter temporal discretization. Making friction force constant within a time step would certainly restrict the size of the time step to obtain high quality results. Therefore, we discretize part of the friction force explicitly and formulate an integrable semi-implicit friction force.

+

Following IPC, we fix the normal force magnitude (the ones only used in calculating friction) and the tangent operator during the nonlinear optimization to the value in the last time step : , and , which then makes the friction force integrable with a potential energy + +where , , and + +so that . Here is a constant multiple of the time step size for most linear (multi-)step time integration methods including implicit Euler and higher-order backward difference formulas, etc. +Then, taking the gradient of Equation (9.2.1) w.r.t. we obtain + +which is a semi-implicit discretization of our mollified friction force with explicit terms and . +The Hessian of can be calculated as +

+
+

+Remark 9.2.1. +In the friction gradient and Hessian expression (Equation (9.2.3) and Equation (9.2.4)), there are in the denominators, which could be when there is no relative sliding motion at a contact point. +To avoid division by during the computation, for friction gradient, we can derive + +which is well-defined everywhere, and so we obtain + +For friction Hessian, we can derive + +which is also well-defined everywhere, and since when , we know that +

+
+
+

+Remark 9.2.2. +The friction formulation in this lecture is introduced slightly differently from the original IPC [Li et al. 2020] in 2 places:

+
    +
  1. We directly use the relative sliding velocity rather than the relative sliding displacement in IPC as the input to the mollifier , and so our differs from that in the IPC on in the denominators. When time integration rules other than implicit Euler is applied (so ), calling the relative sliding displacement is inappropriate and may cause confusions.
  2. +
  3. We did not introduce a tangent basis to express relative sliding velocity in the tangent space, because this is not necessary in computing the friction energy, gradient, and Hessian.
  4. +
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec9.3-fixed_point_iter.html b/lec9.3-fixed_point_iter.html new file mode 100644 index 0000000..6538cc9 --- /dev/null +++ b/lec9.3-fixed_point_iter.html @@ -0,0 +1,271 @@ + + + + + + Fixed-Point Iteration - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Fixed-Point Iteration

+

To obtain the solution with fully implicit friction, we can iteratively alternate between the nonlinear optimization with fixed , and given as + +and friction update until convergence (Algorithm 9.3.1).

+
+
+
+Algorithm 9.3.1 (Fixed-Point Iteration for Fully-Implicit Friction).
+ +
+
+

If we denote +\begin{equation} +\begin{aligned} +& f_m({ \lambda, T }) = \text{arg}\min_x E(x, { \lambda, T}) \ +& f_u(x) = \text{FrictionUpdate}(x), +\end{aligned} +\end{equation} +then Algorithm 9.3.1 is essentially a fixed-point iteration that finds the fixed-point of function +\begin{equation} +(f_m \cdot f_u) (x) \equiv f_m( f_u (x)). +\end{equation}

+
+

+Definition 9.3.1. + is a fixed point of function if and only if +\begin{equation} +x = f(x). +\end{equation} +The fixed-point iterations find the fixed-point of a function starting from by iteratively updating the estimate +\begin{equation} +x^{i+1} \leftarrow f(x^i) +\end{equation} +until convergence.

+
+

Since the convergence of fixed-point iterations could only be achieved given an initial guess sufficiently close to the final solution, the convergence of Algorithm 9.3.1 analogously requires small time step sizes. However, note that each minimization with fixed (Algorithm 9.3.1 line 4) is still guaranteed to converge with arbitrarily large time step sizes.

+
+

+Remark 9.3.1. +In practice, semi-implicit friction with frame-rate time step sizes can already produce results with high visual quality. For higher accuracy, running 2 to 3 fixed-point iterations for friction is generally sufficient.

+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/lec9.4-summary.html b/lec9.4-summary.html new file mode 100644 index 0000000..0b56cd0 --- /dev/null +++ b/lec9.4-summary.html @@ -0,0 +1,236 @@ + + + + + + Summary - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Summary

+

We introduced the Coulomb friction model, which non-smoothly penalizes shearing motion at contact points through static and dynamic friction forces in the tangent space.

+

To integrate friction into the optimization time integrator, we first smoothly approximate the dynamic-static transition. This allows friction forces to be uniquely determined using only the nodal velocity degrees of freedom.

+

We then apply a semi-implicit discretization that fixes the normal force magnitude and the tangent operator at the previous time step, enhancing the integrability of friction.

+

To achieve a solution with fully-implicit friction, fixed-point iterations are performed. These iterations alternate between semi-implicit time integration and updates for and .

+

In the next lecture, we will explore a case study involving a square on a slope with varying friction coefficients.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/mark.min.js b/mark.min.js new file mode 100644 index 0000000..1636231 --- /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 + + + + + Preface - Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Overview

+

This free online book marks our commitment to make the theory and algorithms of physics-based simulations accessible to everyone.

+

Contributing

+

If you are interested in contributing to editing and improving this book, please do it through a Github pull request on the mdbook-src repository (not the HTML repository), or directly contact Minchen Li and Chenfanfu Jiang.

+

Depending on the nature of your contribution, you'll be listed as book co-authors or community contributors in future builds of the book.

+

Version 1.0.0 (Released 2024/5):

+

Chapter Contributors

+ +

Community Contributors (Github)

+

liminchen, cffjiang

+

BibTeX

+
@book{li2024physics,
+title={Physics-Based Simulation (V1.0.0)},
+author={Li, Minchen and Jiang, Chenfanfu},
+year={2024}
+}
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + diff --git a/print.html b/print.html new file mode 100644 index 0000000..2586768 --- /dev/null +++ b/print.html @@ -0,0 +1,3831 @@ + + + + + + Physics-Based Simulation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+ +

Overview

+

This free online book marks our commitment to make the theory and algorithms of physics-based simulations accessible to everyone.

+

Contributing

+

If you are interested in contributing to editing and improving this book, please do it through a Github pull request on the mdbook-src repository (not the HTML repository), or directly contact Minchen Li and Chenfanfu Jiang.

+

Depending on the nature of your contribution, you'll be listed as book co-authors or community contributors in future builds of the book.

+

Version 1.0.0 (Released 2024/5):

+

Chapter Contributors

+ +

Community Contributors (Github)

+

liminchen, cffjiang

+

BibTeX

+
@book{li2024physics,
+title={Physics-Based Simulation (V1.0.0)},
+author={Li, Minchen and Jiang, Chenfanfu},
+year={2024}
+}
+
+
+

Lecture 1: Discrete Space and Time

+

In this lecture, we explore the simulation of deformable solids with the aim of developing a discrete, computationally solvable problem. The primary goal is to introduce the abstract algebraic concepts inherent in this problem. We approach elasticity simulation using a top-down architectural view, placing mathematical modeling at the forefront.

+

The study of classical elastic solids physics largely revolves around Partial Differential Equations (PDEs). In continuum mechanics and finite element analysis literature, the norm is to first derive the continuous form of these PDEs, elaborating on each term's origin, before adapting them to discrete programming languages. Often, this adaptation appears in later sections, creating a sense of anticipation for the reader.

+

This book, however, takes a different route. It weaves continuum mechanics and PDEs into the discussion as needed, evenly distributing these topics to avoid overwhelming the reader. This method links theory to practice incrementally, enhancing understanding.

+

We introduce the main problem formulation early, offering an overview of its numerical solutions. This gives readers an initial comprehensive view, sparking curiosity and motivating deeper exploration in later chapters. This strategy makes the learning process smoother and more intuitive, helping readers effortlessly connect complex concepts and quickly grasp the subject's core.

+

Our aim is to provide a well-rounded, thorough, and engaging exploration of deformable solids simulation, valuable for both students and seasoned researchers in the field.

+
+

Representations of a Solid Geometry

+

In everyday life, solid objects are perceived as continuous. Yet, in the digital world of computers, where we use discrete numbers for representation, a range of interesting methods arises.

+

One method is parametrization. Consider a 3D sphere, which can be described as , centered at point \( \mathbf{c} \) with radius \( r \). This approach extends beyond spheres to include shapes like half-spaces, boxes, ellipsoids, tori, and others, characterized by their interior using functions such as signed distances. However, parametrization faces challenges when handling complex geometries that are frequently encountered in real-world scenarios. An emerging exception to this limitation is the use of advanced neural representations employing neural networks. These newer methods show promise in effectively representing more intricate geometrical forms.

+

An alternative is representing with sampling. This involves choosing points on and inside the object. But points alone aren't enough; we typically need to establish connectivity between them to define the object’s boundaries for applications like rendering and 3D printing. Monitoring how a cluster of points shifts over time also helps in measuring deformation.

+

In continuum mechanics, an object is seen as having a continuous density field. Digitally, this continuity must be represented discretely, usually through defining the connectivity of the solid's geometry.

+
+

+Remark 1.1.1 (Other Solid Representations). +There are other methods for representing solid geometries, such as voxel-based approaches. These methods divide the space into a 3D grid of small boxes, or voxels, with each voxel representing a segment of the object, similar to pixels in a 2D image. Voxel-based methods are advantageous for several reasons. Firstly, they can act as a discrete level set representation, capable of modeling complex geometries and tracking their evolution over time. Each voxel contains information about its position relative to the object's surface, offering an efficient discrete approximation of the continuous level set function. This is beneficial for algorithms involved in surface evolution, shape optimization, and collision detection. Secondly, voxel-based approaches are conducive to Constructive Solid Geometry (CSG) operations. This technique in solid modeling uses Boolean operators to combine simpler shapes into complex 3D models. The voxelized framework allows for straightforward and efficient execution of operations like union, intersection, and difference on the voxel grid. This enables the easy creation and modification of intricate shapes.

+
+
+

+Example 1.1.1 (Mesh). +The method of creating a mesh by directly connecting points with edges or triangles is a popular technique in computational geometry. This concept is illustrated in the accompanying figure, where the left and middle images show two different meshes. Notably, even though these meshes utilize the same sampled points or nodes, they have distinct connectivities, resulting in different shapes. The rightmost mesh in the figure demonstrates a transformation from one shape to another. This mesh represents a deformation of the middle mesh, achieved by vertically compressing its upper half.

+Figure 1.1.1. Mesh

+
+
+

+Example 1.1.2 (Particle and Grid). +By implementing a uniform grid structure in our spatial representation, we record the extent of solid matter at each node location. This allows us to use our sampled points to calculate the density of the solid at each grid node. This method is beneficial for quantifying the solid's distribution within the grid and for establishing a network of connectivity among the original sampled points. Refer to the accompanying figure for a visual demonstration of this concept. In the figure, the sampled points are depicted as green dots. The grid nodes, where we record solid densities, are shown as black circles. These nodes are connected through the grid, illustrated with blue lines.

+Figure 1.1.2. Particle and grid

+
+

In the field of modern solid simulation, the described methods of defining connectivity are crucial. The first method, establishing connections through a mesh of edges or triangles, is foundational to Finite Element Method (FEM) simulators. The second approach, which involves using a uniform grid to compute solid density and establish connectivity, is integral to Material Point Method (MPM) simulators [Jiang et al. 2016]. This book largely concentrates on the former method, delving into the intricacies of FEM. The mesh-based structure of FEM is particularly effective in handling complex domains by breaking them down into simpler elements. This makes FEM an essential tool in the study and simulation of deformable solids, and understanding its nuances is vital for those engaged in this area of study.

+

At first glance, the use of two representations of solid geometry in the MPM might appear redundant. Yet, this dual approach gives MPM a significant edge, especially in simulating dynamic events like solid fractures. In such cases, FEM would necessitate meticulous modification of the edges and elements that define the original connectivity to accurately depict the damage. In contrast, MPM efficiently handles these scenarios. The uniform grid naturally accommodates the separation of body parts in a fracture, as the lack of material at fracture nodes leads to an automatic disconnection of adjacent grid nodes. This attribute allows MPM to excel in managing changes in solid topology.

+

However, when it comes to simulation accuracy control, the Finite Element Method (FEM) excels. FEM operates directly on the mesh, obviating the need for constant information transfer, thus ensuring greater precision. This level of accuracy makes FEM an invaluable resource in the precise simulation of deformable solids, which is the primary emphasis of this book.

+

The technique of consolidating coordinates of each sampled point into an extended vector, denoted as \( x\in\mathbb{R}^{dn} \) (refer to the figure below), provides an effective means to describe a specific geometric configuration, given a constant connectivity. In this representation, \(d\) indicates the dimension of space (1, 2, or 3), and \(n\) represents the total number of points. Similarly, attributes like velocity, acceleration, and forces at each sample point can be amalgamated into corresponding extended vectors, symbolized as \(v\), \(a\), and \(f\) respectively. This organized approach to data presentation not only aids in comprehensively understanding the various parameters and their interrelations but also streamlines the mathematical formulation of the simulation process.

+
+Figure 1.1.3. Stacked position vector
+

Newton's Second Law

+

Having defined a method for representing a solid geometry at a single instance in time, we now face the challenge of predicting the solid's motion and deformation over time. This prediction is a key component for accurate simulation.

+

Newton's second law, expressed as \(\mathbf{f} = m \mathbf{a}\), indicates that forces \(\mathbf{f}\) are the primary reasons for changes in velocity, as indicated by acceleration \(\mathbf{a}\). It's important to understand that when a solid's displacement fields extend beyond simple translational or rotational movements, or a linear combination thereof, it indicates deformation. By applying Newton's second law to each sample point, we can effectively predict the movement and deformation of solids. This concept is concisely represented in vector form:

+

+

In this representation, \(M\in\mathbb{R}^{dn\times dn}\) is the mass matrix, and \(x\), \(v\), and \(f\) are the column vectors stacking position, velocity, and force, respectively. This approach lays the groundwork for our simulations of deformable solids, integrating principles of motion in both discrete space and continuous time.

+
+

+Remark 1.2.1 (Stacked Variables). Though the mass matrix \(M\) isn't necessarily a diagonal matrix in theory, it's often simplified to one in practical applications. This results in a lumped mass matrix, representing a system of discrete point masses and offering an efficient way to handle complex systems. +Consider a two-point system in two dimensions to illustrate this. The lumped mass matrix for such a system is represented as: +\[ +M = \begin{pmatrix} +m_1 & & & \\ +& m_1 & & \\ +& & m_2 & \\ +& & & m_2 +\end{pmatrix}, +\] +Here, we assume vectors like \({v}\) (as well as \({x}\) and \({f}\)) are stacked in a specific order: +\[ +v = (v_{11}, v_{12}, v_{21}, v_{22})^T, +\] +where \(v_{i\alpha}\) denotes the \(\alpha\)th component of the velocity \(\mathbf{v}_i\) for the \(i\)th point. Such an organized structure simplifies calculations significantly and enhances the understanding of the system's dynamics.

+
+
+

Time Integration

+

Newton's second law lays the foundation for a series of Ordinary Differential Equations (ODEs) expressed in their continuous forms. This is analogous to how we previously used sampled points in space to discretely represent continuous geometries. Now, we take a similar approach but in the realm of time. By sampling points in time, we can effectively represent time derivatives, such as \(\frac{\mathbf{d} x}{\mathbf{d} t}\) and \(\frac{\mathbf{d} v}{\mathbf{d} t}\).

+
+

+Definition 1.3.1 (Time Integration). +When discretizing time into fixed small intervals, we denote the time at the \(n\)-th step as \(t^n\), commonly referred to as a timestep. The length of this interval, or timestep size, is given by \(\Delta t = t^{n+1} - t^n\). The timestep count, \(n\), is typically a whole number starting from zero, making \(t^0=0 s\) the starting point of a simulation.

+
+

The concept of timesteps leads to the introduction of symbols \(x^n\), \(v^n\), and \(f^n\) to represent the positions, velocities, and forces of nodes at the \(n\)-th timestep, respectively. The term timestepping, or time integration, refers to the process of calculating \(x^{n+1}, v^{n+1}\) from \(x^n, v^n\) at each incremental timestep \(n=0,1,2,\dots\). For a visual demonstration, consider an Armadillo slingshot animation. Each frame in this animation is computed progressively from left to right, as illustrated in the figure below. In this context, timestepping mirrors a cinematic progression, revealing the evolving dynamics of a system in a step-by-step manner.

+
+Figure 1.3.1. Armadillo slingshot frame by frame
+

In the context of this book and the simulation scenarios we examine, a crucial assumption must be emphasized: we always possess exact knowledge of the initial values \(x^0\) and \(v^0\) at the start of our simulation. Furthermore, for each timestep, we either have a method to calculate \(f^n\) based on a physical model, or we have its precise value readily available, as with a constant force such as gravity. This assumption is fundamental to our approach, ensuring that simulations are grounded in known initial conditions and forces, thereby allowing for more accurate and reliable outcomes.

+
+

Explicit Time Integration

+

Explicit time integration schemes provide a direct method to calculate \(x^{n+1},v^{n+1}\) by substituting known values into simple formulas, which is why these are called explicit. This section focuses on two basic explicit schemes: Forward Euler and Symplectic Euler methods.

+

Forward Euler

+

To convert our continuous-time system to a discrete form, we employ the forward difference approximation. In this approximation, the derivative \((\frac{\mathbf{d} x}{\mathbf{d} t})^n\) is estimated as \(\frac{x^{n+1} - x^n}{\Delta t}\), and likewise, \((\frac{\mathbf{d} v}{\mathbf{d} t})^n\) as \(\frac{v^{n+1} - v^n}{\Delta t}\). The superscript \(n\) represents the state variables at the \(n\)th timestep. Consequently, the discrete version of our system is expressed as: + +Assuming a constant mass over time, these equations provide a clear mechanism to update our state variables. Knowing the current values \(x^n\), \(v^n\), and \(f^n\) at timestep \(n\), we can directly determine their values at the next timestep, \(n+1\).

+
+

+Method 1.4.1 (Forward Euler Time Integration for Newton's Second Law). In the Forward Euler method, the state variables \(x^{n+1}\) and \(v^{n+1}\) at the next time step \(n+1\) are calculated based on the current values \(x^n\) and \(v^n\). The update rules are given by: + +Here, \(\Delta t\) represents the time step size, \(M\) is the mass matrix, and \(f^n\) is the force at the current time step \(n\).

+
+

The forward Euler method is considered unconditionally unstable, implying that irrespective of the chosen small time step \(\Delta t\), the numerical solution will eventually grow significantly (explode) for equations with nonconstant \(f\), while the exact solution remains unaffected (refer to Figure 1.4.1, left).

+

Symplectic Euler

+

If we put superscript \(n+1\) on \(v\) in the position derivative discretization while keeping the velocity derivative the same, we get a new update rule:

+
+

+Method 1.4.2 (Symplectic Euler Time Integration for Newton's Second Law). +Given the current state variables, the mass matrix, and the time step size from \(t^n\) to \(t^{n+1}\), + +where \(n=0,1,2,\dots\).

+
+

With a minor alteration, the integration becomes conditionally stable. This implies that if \(\Delta t\) remains within a problem-specific limit, we can effectively confine the numerical error of the solution. Moreover, the Symplectic Euler method exhibits an appealing trait of system energy preservation, as demonstrated in the middle of the figure below.

+
+Figure 1.4.1 (Stability of Time Integrators). The provided illustration showcases a particle executing constant circular motion, simulated using the forward Euler, Symplectic Euler, and implicit Euler methods, respectively from left to right. The varying colors within the illustration represent the progression of time. Notably, each method exhibits distinct characteristics in the simulation: the forward Euler simulation eventually undergoes an unstable escalation, the Symplectic Euler closely adheres to the theoretical trajectory, and the implicit Euler, while maintaining stability, gradually brings the motion to a halt.
+
+

Implicit Time Integration

+

In contrast to explicit time integration, implicit time integration requires solving a system of equations to determine the values of \(x^{n+1}\) and \(v^{n+1}\). A notable benefit of this approach is its potential for greatly improved stability. The simplest form of implicit integration, the backward Euler method, is introduced as follows.

+
+

+Method 1.5.1 (Backward Euler Time Integration Application to Newton's Second Law). +Given the current state variables, the mass matrix, and the time interval from \(t^n\) to \(t^{n+1}\), the update rules are as follows: + +where \(n\) ranges from \(0,1,2,\dots\).

+
+

In many scenarios discussed in this book, the forces are derived from position vectors \(x\). Thus, we can represent \(f^{n+1} = f(x^{n+1})\). It's crucial to recognize that the update for \(x^{n+1}\) depends on knowing \(v^{n+1}\), yet the calculation of \(v^{n+1}\) is contingent on \(x^{n+1}\). This interdependence creates a cyclical dependency, necessitating the resolution of a system of equations to accurately find \(x^{n+1}\) and \(v^{n+1}\). By formulating \(v^{n+1} = (x^{n+1} - x^n) / \Delta t\), Equation (1.5.1) can be rephrased as: + +Given that forces \(f\) often exhibit nonlinearity with respect to positions \(x\), Equation (1.5.2) generally becomes nonlinear, requiring the use of nonlinear root finding techniques like Newton's method for solution.

+
+

+Method 1.5.2 (Newton's Method Applied to Backward Euler Time Integration). +As described in the algorithm below, Newton's method is an iterative technique starting from an initial estimate \(x^i\) of the solution. At the current iteration \(x^i\), it linearly approximates \(f(x^{n+1}) \approx f(x^i) + (x^{n+1}-x^i) \nabla f(x^i)\), then resolves a linear system and updates the iteration. This process is repeated until a satisfactory degree of convergence is reached.

+Algorithm 1.5.1 (Newton's Method for Backward Euler Time Integration).

+
+

While the backward Euler method ensures unconditional stability even for large values of \(\Delta t\), it's crucial to recognize that increasing \(\Delta t\) may lead to poorer system conditioning. This complication can make solving the linear system more challenging. Additionally, it's important to remember that force linearization is an approximation. If the initial estimate for the solution is far from the actual solution, the standard iteration of Newton's method might not converge, and it could even diverge.

+

In later discussions, we will introduce a modified version of Newton's method. This adaptation is designed to guarantee convergence for specific types of problems, regardless of the initial estimate or the size of \(\Delta t\).

+
+

Summary

+

Simulating solids involves predicting changes in their position and form over time. To achieve this on computers, both geometry and time must be represented discretely.

+

Geometries are typically represented using sample points interconnected in specific ways:

+
    +
  • Finite Element Methods (FEM) connect sample points through unstructured meshes.
  • +
  • Material Point Methods (MPM) utilize uniform Cartesian grids to link sample points. +FEM excels in delivering high-precision results, while MPM is advantageous for handling topological changes. This book primarily focuses on FEM.
  • +
+

Time is discretized into distinct moments, with finite difference methods applied to calculate temporal derivatives of physical quantities, in line with Newton's second law.

+

The Forward Euler method is generally avoided due to its unconditional instability. Conversely, the Symplectic Euler method is explicit and conditionally stable, often preferred for well-conditioned problems. For stiff problems, the Backward Euler method, unconditionally stable but requiring the resolution of nonlinear equation systems, is commonly used despite its computational intensity and potential for numerical instability.

+

In the next lecture, we will explore the optimization perspective of implicit time integration, offering robustness in solving these problems.

+
+

Lecture 2: Optimization Framework

+
+

Optimization Time Integrator

+

With the backward Euler method, each timestep necessitates solving a nonlinear system of equations, as outlined in Equation (1.5.2). Effectively, this equates to addressing an optimization problem stated as: + +Here, \(\tilde{x}^n = x^n + \Delta t v^n\), \(\frac{1}{2} \|x - \tilde{x}^n\|^2_M = \frac{1}{2} (x - \tilde{x}^n)^T M (x - \tilde{x}^n)\) represents the inertia term, \(P(x)\) stands for the potential energy for forces \(f(x)\) with \(\frac{\partial P}{\partial x}(x) = -f(x)\), and \(E(x)\) is known as the Incremental Potential. At the local minimum of \(E(x)\), \(\frac{\partial E}{\partial x}(x^{n+1}) = 0\), corresponding to Equation (1.5.2).

+

Viewing time integration as an optimization problem enables us to utilize well-established optimization methods to robustly acquire the solutions. It also allows for a consistent framework for modeling more complex physical phenomena.

+
+

+Definition 2.1.1 (Conservative Forces). +Forces \(f(x)\) for which a potential energy \(P(x)\) exists such that \(\frac{\partial P(x)}{\partial x} = -f(x)\), are termed conservative forces. Both common elasticity forces and body forces such as gravity are examples of conservative forces. They can be easily integrated into the optimization framework by adding the potential energy term into the Incremental Potential.

+
+
+

+Remark 2.1.1 (The gravitational force). +The gravitational force acting on an object of mass \(m\) (represented by the force \(F = -mg\mathbf{z}\)) at a height \(h\) above the Earth's surface, where \(g\) is the acceleration due to gravity and \(\mathbf{z}\) is the upward-pointing unit vector, corresponds to the gravitational potential energy \(U = mgh\). Here, \(U\) is the work done against gravity to move the object from a reference point (at \(h = 0\)) to height \(h\). The force is the negative gradient of the energy with respect to the position (written mathematically as \(F = -\nabla U\)), which confirms the principle of conservation of energy. Taking the derivative of \(U\) with respect to \(h\), we obtain \(\nabla U = mg\mathbf{z}\), and thus \(F = -\nabla U = -mg\mathbf{z}\), which matches our starting expression for the force.

+
+
+

+Remark 2.1.2 (Elasticity). +Elasticity is the capacity of a solid object to maintain its resting shape in response to external forces. Under the influence of elasticity, the sample points on the same solid will be bound together during the simulation. A more rigid solid will have a stiffer elasticity energy, providing a larger elasticity force for the same degree of deformation, thereby aiding in the restoration of the resting shape. The Armadillo slingshot example (Figure 1.3.1) demonstrates typical elasticity effects. Elasticity is a common property across all solids, regardless of their geometric form, and whether they are intuitively rigid or non-rigid, e.g., metal, wood, soft tissue, rubber, cloth, hair, sand, etc.

+
+
+

Dirichlet Boundary Conditions

+

Potential energies aren't the only means of modeling physical phenomena; constraints are equally vital. Let's start by considering the simplest form, linear equality constraints. The constrained optimization problem is defined as follows: + +Here, \(A\in \mathbb{R}^{m\times dn}\) and \(b\in \mathbb{R}^{m}\) represent \(m\) linear equality constraints.

+

During simulations, it's often necessary to control the position of certain points on a solid at each timestep. This can involve fixing a set of nodes to model immovable objects like the ground or obstacles, or guiding the motion of solids by moving specific nodes along predetermined paths. For example, in the slingshot scenario (Figure 1.3.1), the Armadillo's feet and ears are stationary. This type of control is known as Dirichlet boundary conditions (BC). These conditions can be expressed as linear equality constraints within the optimization time integrator framework.

+

To put it into perspective, the matrix \(A\) in Equation (2.2.1) would typically be an \(m\times dn\) matrix (with \(m\leq dn\) and \(m \mod d = 0\)), which selects the coordinates of the BC points. Correspondingly, \(b\) would be an \(m \times 1\) vector defining the prescribed locations. By solving the optimization problem, the chosen points are fixed at these specified locations, which can vary from one timestep to the next.

+

At the local minimum of the problem in Equation (2.2.1), the KKT condition + +is met, where \(\lambda \in \mathbb{R}^{m}\) represents the Lagrange multiplier vector, comprising all the Lagrange multipliers.

+
+

+Remark 2.2.1 (Solving KKT Systems). +Solving nonlinear optimization problems with equality constraints is feasible by directly addressing the nonlinear KKT (Karush-Kuhn-Tucker) system, as seen in Equation (2.2.2). Methods like Newton's method are commonly employed for this purpose. However, this approach can be computationally intensive. For boundary conditions, the unique structure of the matrix \(A\) can be leveraged, allowing us to resolve the constrained problem in an unconstrained manner. Techniques for this approach will be demonstrated in later lectures.

+
+
+

Contact

+

To accurately simulate solids, it's essential to ensure that they don't interpenetrate, as shown in the figure below (left side). One effective approach is to enforce the CFL (Courant-Friedrichs-Lewy condition) upper limit on timestep sizes, particularly in methods like MPM. In Finite Element Methods (FEM), this requires precise modeling of contact forces. However, accurately modeling contact poses a challenge. Contact is inherently a non-smooth process, happening abruptly as solids make contact. There isn't a potential energy formulation that can accurately depict this phenomenon.

+
+ +
+Figure 2.3.1 (Simulation Examples of Contact and Friction). On the left, an intriguing simulation shows four characters plunging into a funnel and then being extruded by a moving plane. The flawless execution, marked by the absence of any interpenetration during this complex interaction, highlights the precision of the models employed. On the right, we see a simulation of the classic table cloth trick, executed at varying speeds. The realism in this simulation, especially the accurate depiction of friction, becomes apparent as the cloth is pulled away without disturbing the table setting — mirroring what one would expect in real life. These simulations showcase the incredible capabilities and precision of contemporary computational models in simulating contact, vividly and engagingly bringing abstract physical concepts to life.
+
+

In practical applications, determining if two objects have collided typically involves visually and mentally assessing their proximity. When the distance between them isn't zero, it indicates that space remains and no collision has occurred. This concept is crucial in modeling interactions between objects in a computational context.

+

To avoid collision or penetration, we can ensure that the distance between the surfaces of the moving objects never reduces to zero. This approach is particularly useful in time integration problems within computational simulations. We model this scenario using inequality constraints, which, when combined with boundary conditions, formulate our time integration problem as follows: + +Here, \(c_k\) measures the distance between specific pairs of regions on the surface of the solids, and \(\epsilon \rightarrow 0\) is a tiny positive value to ensure \(c_k(x)\) remains strictly positive.

+

At the local minimum of the problem in Equation (2.3.1), we adhere to the Karush-Kuhn-Tucker (KKT) condition, as follows: + +In this condition, \(\gamma_k\) is the Lagrange multiplier for the constraint \(c_k(x) \geq \epsilon\). To break it down, \(\nabla c_k(x)\) points in the direction of the contact force for contacting pair \(k\). The combination of this direction with the magnitude represented by \(\gamma_k\) gives us the actual contact force at that point.

+
+

+Remark 2.3.1 (The Complementarity Slackness Condition). +The complementarity slackness condition \(\gamma_k (c_k(x) - \epsilon) = 0\) plays a critical role in ensuring that contact forces are present (\(\gamma_k \neq 0\)) exclusively when the solids are in touch (\(c_k(x) = \epsilon\)). On the contrary, when the solids are not touching (\(c_k(x) > \epsilon\)), there should be no contact forces (\(\gamma_k = 0\)).

+
+
+

+Definition 2.3.1 (Active Set). +In optimization problems with inequality constraints defined as +\[ +\forall k, \ c_k(x) \geq 0, +\] +the active set is defined as +\[ +\{ l \ | \ c_l(x^*) = 0 \}. +\] +Here, \(x^*\) is a local optimal solution of the problem.

+
+
+

+Remark 2.3.2 (Combinatorial Difficulty). +The complementarity slackness condition reveals that only constraints within the active set will exhibit non-zero Lagrange multiplier \(\gamma_k\) at the solution. This suggests that, unlike equality constraints, inequality constraints not only require solving for the value of the Lagrange multipliers but also demand the identification of which \(\gamma_k\) should be set to \(0\). This presents a combinatorial difficulty.

+
+

A wide array of techniques are available for addressing optimization problems with inequality constraints. Each method introduces a distinct approach, effectively targeting various facets of the problem.

+
    +
  • +

    Primal-Dual Methods: This class of methods tackles both the primal problem (the original optimization problem) and its dual problem simultaneously. The dual problem often provides valuable insights into the primal problem's solution, making this approach attractive. These methods are iterative, refining an initial solution by leveraging the relationship between the primal and dual problems. However, designing and implementing primal-dual algorithms can be intricate, requiring a careful balance between the two problem types. While effective, these methods may not be efficient or straightforward for complex, high-dimensional problems.

    +
  • +
  • +

    Projected Steepest Descent Methods: A modification of the classic steepest descent method, these methods address constraints. At each iteration, the algorithm moves in the steepest descent direction, then projects back onto the feasible set if it deviates due to constraints. This method's simplicity and straightforwardness make it popular, but it may struggle with ill-conditioned problems where convergence is slow, or with constraints that are challenging to project onto.

    +
  • +
  • +

    Interior-Point Methods: Also known as barrier methods, these techniques introduce a barrier function that penalizes infeasible solutions, thereby steering the solution towards the feasible region's interior. This approach effectively transforms a constrained problem into an unconstrained one, solvable using conventional techniques. However, the barrier function's choice significantly impacts the method's performance. While efficient for certain problem types, these methods may falter with problems where the feasible region is difficult to define or lacks a simple interior.

    +
  • +
+

While each of these methodologies has its own strengths and weaknesses, our primary focus will be on a robust and accurate contact modeling method, known as Incremental Potential Contact (IPC). IPC distinguishes itself by approximating the contact process with a smooth potential energy. This transformation effectively turns the problem into an unconstrained one, facilitating the application of various efficient and robust optimization techniques. A key feature of IPC is its capability to control the approximation error relative to the non-smooth formulation within a predetermined bound. This characteristic adds a layer of robustness and reliability to the method, making it an especially promising approach for the problem at hand.

+
+

Friction

+

Friction is a crucial element in physical interactions involving movement, often significantly influencing simulation outcomes. Thus, its precise modeling is vital for realistic and reliable simulations. See Figure 2.3.1 on the right for a demonstration of a scenario that requires a precise representation of friction.

+

One of the most widely adopted models for friction is the Coulomb Friction model. This model hinges on the Maximal Dissipation Principal (MDP), effectively capturing the nonsmooth transition between static and dynamic frictions. Static friction is the force preventing an object from initiating movement, whereas dynamic friction, or kinetic friction, opposes the motion of a moving object. The Coulomb Friction model accurately depicts the critical transition between these two friction types.

+

In the standard Material Point Method (MPM), friction is inherently modeled by the grid. However, this method has its drawbacks, notably an uncontrollable and unrealistically large friction coefficient.

+

For the Finite Element Method (FEM), friction can be more realistically and controllably represented through an approximated potential energy in the Incremental Potential Contact (IPC) model. This fits well within our optimization time integration framework. By using potential energy to approximate friction, we not only maintain the robustness of the simulation but also gain control over the accuracy of the friction model.

+

In subsequent lectures, we will delve into the specific techniques and methodologies employed in the IPC model to represent friction forces and their role in enhancing the accuracy and realism of simulations.

+
+

Summary

+

The objective of our discussions so far has been to devise a reliable solution for the unconditional stable implicit time integration problem. We aimed to address the issue of non-convergent solutions arising from truncation errors. We tackled this by reformulating the time integration problem as a minimization problem. This formulation not only allowed us to apply well-established optimization techniques, but it also facilitated a consistent modeling framework for different physical phenomena.

+

Here is a quick summary of the techniques used for modeling various phenomena within this framework:

+
    +
  • For conservative forces like gravity and elasticity, we used potential energies. These were integrated into the objective function to create an accurate representation of the forces involved.
  • +
  • Boundary conditions, which specify the constraints on the system, were modeled using simple linear equality constraints. This helped us restrict the system to feasible states while performing the simulation.
  • +
  • To prevent interpenetration between solid objects during the simulation, we used inequality constraints to model contact and friction. These constraints ensured that objects maintained their physical integrity and behaved as expected when they came in contact with each other.
  • +
+

An important aspect to note here is that, we can utilize the unique structure of the boundary conditions to enforce the equality constraints in an unconstrained way. This will lead to a significant reduction in computational complexity.

+

Moreover, we introduced the concept of the Incremental Potential Contact (IPC) method. The IPC method models contact and friction as smooth potential energies with a controllable level of accuracy. This ensures a robust and accurate simulation of solid objects, free from interpenetration.

+

Moving forward, in the next lecture, we will delve into the projected Newton method for solving unconstrained optimization problems. This method offers the advantage of global convergence, meaning that the method is guaranteed to converge regardless of the initial configuration, provided it is feasible. This feature is highly desirable for complex simulations and it helps make the method more robust and reliable.

+
+

Projected Newton

+
+

Convergence Issue of Newton's Method

+

In addressing the minimization problem presented by implicit Euler time integration (referenced in Equation (2.1.1)), employing Newton's method (outlined in Algorithm 1.5.1) is a viable strategy for the resultant system of nonlinear equations. This involves setting the gradient of the Incremental Potential Energy to zero:

+

+

However, the application of this method to cases such as nonlinear elasticity, particularly in the Neo-Hookean model, does not always guarantee convergence. The presence of truncation errors, especially in scenarios involving large time steps or significant deformations, can adversely affect the convergence process.

+
+

+Example 3.1.1 (Illustration of Newton's Convergence Issue). +To elucidate the issue of Newton's method non-convergence, let's consider a one-dimensional minimization problem characterized by the objective function: + +We can evaluate the function at and approximate it using a quadratic energy , which is defined as: + +The joint plot of and (Figure 3.1.1) distinctly exhibits that the next iteration would exceed the actual target, landing at a point () further from the actual solution at . The subsequent iterations amplify this deviation, leading to a trajectory that diverges. It's worth noting that this demonstration involves a convex function . The problem can become even more complex when Newton's method is applied to non-convex elasticity energies.

+
+ +
+
+Figure 3.1.1. An iteration of Newton's method for at .

+
+ +
+

+Remark 3.1.1 (Convexity of Energies). Convex functions are characterized by symmetric and positive-definite (SPD) second-order derivatives throughout their domain. Conversely, the energy in most models of nonlinear elasticity used in computer graphics is rotation invariant. This implies that the energy value remains unchanged regardless of the rotational orientation of objects or elements. Such rotation invariance leads to non-convexity, making the optimization process more complex.

+
+
+

+Definition 3.1.1 (Symmetric Positive-Definiteness). +A square matrix is symmetric positive-definite if

+
    +
  • , and
  • +
  • for all .
  • +
+
+

Unlike directly solving nonlinear equations, a minimization problem provides an energy measure that enables the assurance of global convergence using a technique called line search.

+
+ +

In iterative minimization methods, line search is a technique used to select a fraction of the step in each iteration, ensuring the objective energy decreases at the new point.

+

Specifically, for Newton's method, line 4 in Algorithm 1.5.1 is modified from \(x^i \leftarrow x\) to \(x^i \leftarrow x^i + \alpha (x - x^i)\), where \(\alpha \in (0,1]\) is the step size, essential for the reduction of energy. This leads to two critical questions: Does such an \(\alpha\) always exist? And how is \(\alpha\) calculated?

+
+

+Remark 3.2.1 (Existence of \(\alpha\)). For a smooth objective energy \(E(x)\) at \(x^i\) where \(\nabla E(x^i) \neq 0\), if a search direction \(p=x-x^i\) is descent, namely \(p^T \nabla E(x^i) < 0\), then there exists \(\alpha > 0\) such that \(E(x^i + \alpha p) < E(x^i)\).

+
+
+

+Method 3.2.1 (Backtracking Line Search). Given a descent direction, we can find a reasonably large \(\alpha\) by simply halving it starting from \(1\) until the energy at the new location is smaller than the current (see Algorithm 3.2.1).

+
+
+Algorithm 3.2.1 (The Backtracking Line Search Algorithm).
+ +

+
+ +
+

+Remark 3.2.2 (Other Line Search Methods). +There are other line search methods that attempt to apply polynomial interpolations to find an \(\alpha\) such that the energy at the new location is closer to a local minimum on the line segment \(x^i + s p\), (\(s\in(0,1]\)). However, these methods generally incur higher computational costs and may not necessarily enhance the overall wall-clock timing of the optimization.

+
+

Now, with line search, if Newton's method consistently generates a descent search direction, then the method is guaranteed to converge for any initial configuration on any smooth energy with a lower bound. We know that in iteration \(i\), \(p = -(\nabla^2 E(x^i))^{-1} \nabla E(x^i)\), so \(p^T \nabla E(x^i)\) equals \(-\nabla E(x^i)^T (\nabla^2 E(x^i))^{-T} \nabla E(x^i)\). For convex energies, \(\nabla^2 E(x^i)\) is always Symmetric Positive Definite (SPD), and so is \((\nabla^2 E(x^i))^{-T}\), making \(p\) always a descent direction. However, for non-convex energies, this assurance does not always hold. One approach to address this issue is to approximate the energies locally using convex energy proxies.

+
+

Gradient-based Optimization

+

The search direction of the standard Newton's method is calculated by minimizing the local quadratic approximation of the objective energy: + +where \(P = \nabla^2 E(x^i)\). In general gradient-based optimization methods, \(p\) can be calculated by Equation (3.3.1) with any proxy matrix \(P\). Setting \(P = I\) results in \(p = -\nabla E(x^i)\), as used in the standard gradient descent method. This approach converges more slowly than Newton's method, as the energy approximation is of a lower order. The closer the proxy matrix \(P\) is to the Hessian matrix \(\nabla^2 E(x^i)\), the faster the convergence. Hence, using an SPD approximation of the Hessian matrix as the proxy ensures that the search direction is always descent, while maintaining a convergence rate close to quadratic. This is akin to approximating non-convex energies locally using a convex energy proxy.

+

A straightforward method to obtain such an SPD approximation involves first projecting \(\nabla^2 E(x^i)\) onto its closest semi-definite matrix by solving + +and then introducing perturbations to ensure that \(P\) is invertible. The solution in this case is \(P = Q \hat{\Lambda} Q^{-1}\), where \(P = Q \Lambda Q^{-1}\) is the eigendecomposition, and if \(\Lambda_{ij} > 0\), otherwise \(\hat{\Lambda}_{ij} = 0\). Intuitively, \(P\) is obtained by zeroing out all the negative eigenvalues of \(\nabla^2 E(x^i)\).

+
+

+Definition 3.3.1 (Eigendecomposition). The eigendecomposition of a square matrix \(A \in \mathbb{R}^{n \times n}\) is + +where \(Q = [q_1, q_2, ..., q_n]\) is composed of the eigenvectors \(q_i\) of \(A\), ; \(\Lambda = [\lambda_1, \lambda_2, ..., \lambda_n]\), with \(\lambda_1 \geq \lambda_2 \geq ..., \lambda_n\) being the eigenvalues of \(A\); and \(Aq_i = \lambda_i q_i\).

+
+

However, in simulation, \(\nabla^2 E(x^i)\) is usually a large sparse matrix, and performing eigendecomposition on it would be prohibitively expensive. Fortunately, we will discover later in this book that the Incremental Potential in solids simulation can be expressed as a separable sum of energies defined on local stencils, such as a triangle in the 2D Finite Element Method (FEM) mesh: + +where \(\mathbf{x}_{jk}\) are the nodes associated with the energy \(E_j\). Consequently, we can conveniently obtain a reasonably good SPD approximation by zeroing out the negative eigenvalues of each \(\nabla^2 E_i\) defined on a small number of nodes and aggregating them.

+
+

+Example 3.3.1 (Local Projection Method). To simulate elasticity in 2D on a triangle mesh with 10,201 nodes and 20,000 triangles, the Hessian matrix \(\nabla^2 E(x)\) is \(20,402 \times 20,402\). For the local projection method described above, it requires 20,000 eigendecompositions on \(6 \times 6\) matrices. Considering the computational complexity of eigendecomposition on an \(n \times n\) matrix is worse than \(O(n^2)\), this rough estimation already suggests a more than \(500\times\) speedup for this medium-sized problem when employing the local projection methods.

+
+

In addition, since the mass matrix in \(\nabla^2 E(x^i)\) is Symmetric Positive Definite (SPD) and the sum of SPD matrices remains SPD, there is no need for perturbations when projecting other matrices. We now summarize the globally convergent projected Newton method for backward Euler time integration in Algorithm 3.3.1.

+
+
+
+Algorithm 3.3.1 (Projected Newton Method for Backward Euler Time Integration).
+ +
+
+
+

+Remark 3.3.1 (Stopping Criteria). From Equation (3.3.1), we understand that can be interpreted as a quadratic approximation of the distance from the current estimate \(x^i\) to the optimal solution. Hence, we utilize as a more intuitive measure for the stopping criteria. This approach transforms it into a velocity unit and takes the maximum magnitude across every node.

+
+
+

Summary

+
    +
  • After examining the convergence issues of traditional Newton's method, even on smooth convex energies, we introduced a backtracking line search scheme for minimizing the Incremental Potential of Implicit Euler time integration, ensuring global convergence.
  • +
  • To guarantee the discovery of a positive step size, the Incremental Potential Hessian is projected onto a nearby Symmetric Positive Definite (SPD) matrix. This SPD projection is efficiently achieved by eliminating the negative eigenvalues of the Hessian matrices for each non-convex energy stencil, involving only a few nodes.
  • +
  • A convergence criterion that provides a more intuitive and consistent method for setting tolerance is also introduced, utilizing the Newton search direction.
  • +
+

In the next lecture, we will conclude with a clear demonstration of all the covered topics through a simple 2D case study.

+
+

Case Study: 2D Mass Spring*

+

Up to now, we have completed a high-level introduction to the optimization-based solids simulation framework. In this lecture, we elaborate on how to implement a simple 2D elastodynamics simulator with Python3.

+

Sections in this book with Python implementations will be marked with a * right after the title. +All the Python implementations can be found at https://github.com/phys-sim-book/solid-sim-tutorial. +The excutable Python project for this section is in the /1_mass_spring folder of this repository.

+
+

Spatial and Temporal Discretizations

+

In representing solid geometries, we employ a mesh structure. We can further simplify the representation by connecting nodes on the mesh with edges. To facilitate this process, especially for geometries like squares, we can script a mesh generator. This generator allows for specifying both the side length of the square and the desired resolution of the mesh.

+

+Implementation 4.1.1 (Square Mesh Generation, square_mesh.py).

+
import numpy as np
+import os
+
+def generate(side_length, n_seg):
+    # sample nodes uniformly on a square
+    x = np.array([[0.0, 0.0]] * ((n_seg + 1) ** 2))
+    step = side_length / n_seg
+    for i in range(0, n_seg + 1):
+        for j in range(0, n_seg + 1):
+            x[i * (n_seg + 1) + j] = [-side_length / 2 + i * step, -side_length / 2 + j * step]
+    
+    # connect the nodes with edges
+    e = []
+    # horizontal edges
+    for i in range(0, n_seg):
+        for j in range(0, n_seg + 1):
+            e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j])
+    # vertical edges
+    for i in range(0, n_seg + 1):
+        for j in range(0, n_seg):
+            e.append([i * (n_seg + 1) + j, i * (n_seg + 1) + j + 1])
+    # diagonals
+    for i in range(0, n_seg):
+        for j in range(0, n_seg):
+            e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j + 1])
+            e.append([(i + 1) * (n_seg + 1) + j, i * (n_seg + 1) + j + 1])
+
+    return [x, e]
+
+

In the code, n_seg represents the number of edges along each side of the square. The nodes are uniformly distributed across the square and interconnected through horizontal, vertical, and diagonal edges. For instance, calling generate(1.0, 4) constructs a mesh as depicted in Figure 4.1.1. This implementation utilizes the array data structures from the Numpy library, which provides convenient methods for handling the vector algebra required in subsequent steps.

+
+
+ +
+
+Figure 4.1.1. A square mesh generated by calling generate(1.0, 4) defined in Square Mesh Generation script above.
+
+

For temporal discretization, our approach is the implicit Euler method. The Incremental Potential, which needs to be minimized in time step \(n\), is represented as follows: + +Next, our focus shifts to implementing the calculations for the energy value, gradient, and Hessian for both the inertia term and the potential energy \(P(x)\).

+
+

Inertia Term

+

For the inertia term, with \(\tilde{x}^n = x^n + h v^n\), we have +\[ +E_I(x) = \frac{1}{2}\|x - \tilde{x}^n \|_M^2, \quad \nabla E_I(x) = M(x - \tilde{x}^n), \quad \text{and} \quad \nabla^2 E_I(x) = M, +\] +which is straightforward to implement:

+

+Implementation 4.2.1 (InertiaEnergy.py).

+
import numpy as np
+
+def val(x, x_tilde, m):
+    sum = 0.0
+    for i in range(0, len(x)):
+        diff = x[i] - x_tilde[i]
+        sum += 0.5 * m[i] * diff.dot(diff)
+    return sum
+
+def grad(x, x_tilde, m):
+    g = np.array([[0.0, 0.0]] * len(x))
+    for i in range(0, len(x)):
+        g[i] = m[i] * (x[i] - x_tilde[i])
+    return g
+
+def hess(x, x_tilde, m):
+    IJV = [[0] * (len(x) * 2), [0] * (len(x) * 2), np.array([0.0] * (len(x) * 2))]
+    for i in range(0, len(x)):
+        for d in range(0, 2):
+            IJV[0][i * 2 + d] = i * 2 + d
+            IJV[1][i * 2 + d] = i * 2 + d
+            IJV[2][i * 2 + d] = m[i]
+    return IJV
+
+

The functions val(), grad(), and hess() are designed to compute different components of the inertia term. Specifically:

+
    +
  • val(): Computes the value of the inertia term.
  • +
  • grad(): Calculates the gradient of the inertia term.
  • +
  • hess(): Determines the Hessian of the inertia term.
  • +
+

Regarding the Hessian matrix, a memory-efficient approach is employed. Rather than allocating a large two-dimensional array to store all entries of the Hessian matrix, only the nonzero entries are kept. This is achieved using the IJV structure, which consists of three lists:

+
    +
  1. Row Index: Identifies the row position of each nonzero entry.
  2. +
  3. Column Index: Indicates the column position of each nonzero entry.
  4. +
  5. Value: The actual nonzero value at the specified row and column.
  6. +
+

This method significantly reduces memory usage and computational costs associated with downstream processing.

+
+

Mass-Spring Potential Energy

+

In this case study, we focus exclusively on incorporating the mass-spring elasticity potential into our system. The concept of mass-spring elasticity is akin to treating each edge of the mesh as if it were a spring. This approach is inspired by Hooke's Law, allowing us to formulate the potential energy on edge as follows:

+

+

Here, and represent the current positions of the two endpoints of the edge. The variable denotes the original length of the edge, and is a parameter controlling the spring's stiffness. Notably, when the distance between the two endpoints equals the original length , the potential energy attains its global minimum value of , indicating no force is exerted.

+

An important aspect of this formulation is the inclusion of at the beginning. This is analogous to integrating the spring energy across the solid and choosing edges as quadrature points. This integration helps maintain a consistent relationship between the stiffness behavior and the parameter , regardless of mesh resolution variations.

+

Another deviation from standard spring energy formulations is our avoidance of the square root operation. We directly use , making our model polynomial in nature. This simplification yields more streamlined expressions for the gradient and Hessian:

+

+

+

The total potential energy of the system, denoted as , can be derived by summing the potential energy across all edges. This is calculated using Equation (4.3.1). Thus, the total potential energy is expressed as: + +where the summation is taken over all edges in the mesh.

+

+Implementation 4.3.1 (MassSpringEnergy.py).

+
import numpy as np
+import utils
+
+def val(x, e, l2, k):
+    sum = 0.0
+    for i in range(0, len(e)):
+        diff = x[e[i][0]] - x[e[i][1]]
+        sum += l2[i] * 0.5 * k[i] * (diff.dot(diff) / l2[i] - 1) ** 2
+    return sum
+
+def grad(x, e, l2, k):
+    g = np.array([[0.0, 0.0]] * len(x))
+    for i in range(0, len(e)):
+        diff = x[e[i][0]] - x[e[i][1]]
+        g_diff = 2 * k[i] * (diff.dot(diff) / l2[i] - 1) * diff
+        g[e[i][0]] += g_diff
+        g[e[i][1]] -= g_diff
+    return g
+
+def hess(x, e, l2, k):
+    IJV = [[0] * (len(e) * 16), [0] * (len(e) * 16), np.array([0.0] * (len(e) * 16))]
+    for i in range(0, len(e)):
+        diff = x[e[i][0]] - x[e[i][1]]
+        H_diff = 2 * k[i] / l2[i] * (2 * np.outer(diff, diff) + (diff.dot(diff) - l2[i]) * np.identity(2))
+        H_local = utils.make_PSD(np.block([[H_diff, -H_diff], [-H_diff, H_diff]]))
+        # add to global matrix
+        for nI in range(0, 2):
+            for nJ in range(0, 2):
+                indStart = i * 16 + (nI * 2 + nJ) * 4
+                for r in range(0, 2):
+                    for c in range(0, 2):
+                        IJV[0][indStart + r * 2 + c] = e[i][nI] * 2 + r
+                        IJV[1][indStart + r * 2 + c] = e[i][nJ] * 2 + c
+                        IJV[2][indStart + r * 2 + c] = H_local[nI * 2 + r, nJ * 2 + c]
+    return IJV
+
+

In dealing with the Hessian matrix of the mass-spring energy, a key consideration is its non-symmetric positive definite (SPD) nature. To address this, a specific modification is employed: we neutralize the negative eigenvalues of the local Hessian corresponding to each edge. This is done prior to incorporating these local Hessians into the global matrix. The process involves setting negative eigenvalues to zero, thus ensuring that the resulting global Hessian matrix adheres more closely to the desired SPD properties. This modification is crucial for Newton's method.

+

+Implementation 4.3.2 (Positive Semi-Definite Projection).

+
import numpy as np
+import numpy.linalg as LA
+
+def make_PSD(hess):
+    [lam, V] = LA.eigh(hess)    # Eigen decomposition on symmetric matrix
+    # set all negative Eigenvalues to 0
+    for i in range(0, len(lam)):
+        lam[i] = max(0, lam[i])
+    return np.matmul(np.matmul(V, np.diag(lam)), np.transpose(V))
+
+
+

Optimization Time Integrator

+

Having established the capability to evaluate the Incremental Potential for arbitrary configurations, we now turn our attention to the implementation of the optimization time integrator. This integrator is crucial for minimizing the Incremental Potential, which in turn updates the nodal positions and velocities. This implementation follows the approach outlined in Algorithm 3.3.1:

+

+Implementation 4.4.1 (time_integrator.py).

+
import copy
+from cmath import inf
+
+import numpy as np
+import numpy.linalg as LA
+import scipy.sparse as sparse
+from scipy.sparse.linalg import spsolve
+
+import InertiaEnergy
+import MassSpringEnergy
+
+def step_forward(x, e, v, m, l2, k, h, tol):
+    x_tilde = x + v * h     # implicit Euler predictive position
+    x_n = copy.deepcopy(x)
+
+    # Newton loop
+    iter = 0
+    E_last = IP_val(x, e, x_tilde, m, l2, k, h)
+    p = search_dir(x, e, x_tilde, m, l2, k, h)
+    while LA.norm(p, inf) / h > tol:
+        print('Iteration', iter, ':')
+        print('residual =', LA.norm(p, inf) / h)
+
+        # line search
+        alpha = 1
+        while IP_val(x + alpha * p, e, x_tilde, m, l2, k, h) > E_last:
+            alpha /= 2
+        print('step size =', alpha)
+
+        x += alpha * p
+        E_last = IP_val(x, e, x_tilde, m, l2, k, h)
+        p = search_dir(x, e, x_tilde, m, l2, k, h)
+        iter += 1
+
+    v = (x - x_n) / h   # implicit Euler velocity update
+    return [x, v]
+
+def IP_val(x, e, x_tilde, m, l2, k, h):
+    return InertiaEnergy.val(x, x_tilde, m) + h * h * MassSpringEnergy.val(x, e, l2, k)     # implicit Euler
+
+def IP_grad(x, e, x_tilde, m, l2, k, h):
+    return InertiaEnergy.grad(x, x_tilde, m) + h * h * MassSpringEnergy.grad(x, e, l2, k)   # implicit Euler
+
+def IP_hess(x, e, x_tilde, m, l2, k, h):
+    IJV_In = InertiaEnergy.hess(x, x_tilde, m)
+    IJV_MS = MassSpringEnergy.hess(x, e, l2, k)
+    IJV_MS[2] *= h * h    # implicit Euler
+    IJV = np.append(IJV_In, IJV_MS, axis=1)
+    H = sparse.coo_matrix((IJV[2], (IJV[0], IJV[1])), shape=(len(x) * 2, len(x) * 2)).tocsr()
+    return H
+
+def search_dir(x, e, x_tilde, m, l2, k, h):
+    projected_hess = IP_hess(x, e, x_tilde, m, l2, k, h)
+    reshaped_grad = IP_grad(x, e, x_tilde, m, l2, k, h).reshape(len(x) * 2, 1)
+    return spsolve(projected_hess, -reshaped_grad).reshape(len(x), 2)
+
+

Here step_forward() is essentially a direct translation of the projected Newton method with line search (Algorithm 3.3.1), and we implemented the Incremental Potential value (IP_val()), gradient (IP_grad()), and Hessian (IP_hess()) evaluations as separate functions for clarity.

+

For the computation of search directions, we utilize the linear solver from the Scipy library, which is adept at handling sparse matrices. Notably, this solver accepts matrices in the Compressed Sparse Row (CSR) format. The choice of this format and solver is driven by their efficiency in processing and memory usage, which is particularly advantageous when dealing with large-scale problems with large sparse matricies often encountered in computational simulations.

+
+

Simulator with Visualization

+

Having gathered all necessary elements for our 2D mass-spring simulator, the next step is to implement the simulator. This implementation will operate in a step-by-step manner and include visualization capabilities to enhance understanding and engagement.

+

+Implementation 4.5.1 (simulator.py).

+
# Mass-Spring Solids Simulation
+
+import numpy as np  # numpy for linear algebra
+import pygame       # pygame for visualization
+pygame.init()
+
+import square_mesh   # square mesh
+import time_integrator
+
+# simulation setup
+side_len = 1
+rho = 1000  # density of square
+k = 1e5     # spring stiffness
+initial_stretch = 1.4
+n_seg = 4   # num of segments per side of the square
+h = 0.004   # time step size in s
+
+# initialize simulation
+[x, e] = square_mesh.generate(side_len, n_seg)  # node positions and edge node indices
+v = np.array([[0.0, 0.0]] * len(x))             # velocity
+m = [rho * side_len * side_len / ((n_seg + 1) * (n_seg + 1))] * len(x)  # calculate node mass evenly
+# rest length squared
+l2 = []
+for i in range(0, len(e)):
+    diff = x[e[i][0]] - x[e[i][1]]
+    l2.append(diff.dot(diff))
+k = [k] * len(e)    # spring stiffness
+# apply initial stretch horizontally
+for i in range(0, len(x)):
+    x[i][0] *= initial_stretch
+
+# simulation with visualization
+resolution = np.array([900, 900])
+offset = resolution / 2
+scale = 200
+def screen_projection(x):
+    return [offset[0] + scale * x[0], resolution[1] - (offset[1] + scale * x[1])]
+
+time_step = 0
+square_mesh.write_to_file(time_step, x, n_seg)
+screen = pygame.display.set_mode(resolution)
+running = True
+while running:
+    # run until the user asks to quit
+    for event in pygame.event.get():
+        if event.type == pygame.QUIT:
+            running = False
+    
+    print('### Time step', time_step, '###')
+
+    # fill the background and draw the square
+    screen.fill((255, 255, 255))
+    for eI in e:
+        pygame.draw.aaline(screen, (0, 0, 255), screen_projection(x[eI[0]]), screen_projection(x[eI[1]]))
+    for xI in x:
+        pygame.draw.circle(screen, (0, 0, 255), screen_projection(xI), 0.1 * side_len / n_seg * scale)
+
+    pygame.display.flip()   # flip the display
+
+    # step forward simulation and wait for screen refresh
+    [x, v] = time_integrator.step_forward(x, e, v, m, l2, k, h, 1e-2)
+    time_step += 1
+    pygame.time.wait(int(h * 1000))
+    square_mesh.write_to_file(time_step, x, n_seg)
+
+pygame.quit()
+
+

For 2D visualization in our simulator, we utilize the Pygame library. The simulation is initiated with a scene featuring a single square, which is initially elongated horizontally. During the simulation, the square begins to revert to its original horizontal dimensions. Subsequently, due to inertia, it will start to stretch vertically, oscillating back and forth until it eventually stabilizes at its rest shape, as illustrated in (Figure 4.5.1).

+
+
+ +
+
+Figure 4.5.1. From left to right: initial, intermediate, and final static frame of the initially stretched square simulation.
+
+

In addition to storing node positions x and edges e, our simulation also requires allocating memory for several other key variables:

+
    +
  • Node Velocities (v): To track the movement of each node over time.
  • +
  • Masses (m): Node masses are calculated by uniformly distributing the total mass of the square across each node. This is a preliminary approach; more detailed methods for calculating nodal mass in Finite Element Method (FEM) or Material Point Method (MPM) will be explored in future chapters.
  • +
  • Squared Rest Length of Edges (l2): Important for calculating the potential energy in the mass-spring system.
  • +
  • Spring Stiffnesses (k): A crucial parameter influencing the dynamics of the springs.
  • +
+

For visualization purposes beyond our simulator, we enable the export of the mesh data into .obj files. This is achieved by calling the write_to_file() function at the start and at each frame of the simulation. This feature facilitates the use of alternative visualization software to analyze and present the simulation results.

+

+Implementation 4.5.2 (Output Square Mesh, square_mesh.py).

+
def write_to_file(frameNum, x, n_seg):
+    # Check if 'output' directory exists; if not, create it
+    if not os.path.exists('output'):
+        os.makedirs('output')
+
+    # create obj file
+    filename = f"output/{frameNum}.obj"
+    with open(filename, 'w') as f:
+        # write vertex coordinates
+        for row in x:
+            f.write(f"v {float(row[0]):.6f} {float(row[1]):.6f} 0.0\n") 
+        # write vertex indices for each triangle
+        for i in range(0, n_seg):
+            for j in range(0, n_seg):
+                #NOTE: each cell is exported as 2 triangles for rendering
+                f.write(f"f {i * (n_seg+1) + j + 1} {(i+1) * (n_seg+1) + j + 1} {(i+1) * (n_seg+1) + j+1 + 1}\n")
+                f.write(f"f {i * (n_seg+1) + j + 1} {(i+1) * (n_seg+1) + j+1 + 1} {i * (n_seg+1) + j+1 + 1}\n")
+
+

With all components properly set up, the next phase involves initiating the simulation loop. This loop advances the time integration and visualizes the results at each time step. To execute the simulation program, the following command is used in the terminal:

+
python3 simulator.py
+
+
+

+Remark 4.5.1 (Practical Considerations). +With our simulator implementation in place, it provides us with the flexibility to experiment with various configurations of the optimization time integration scheme. Such testing is invaluable for gaining deeper insights into the roles and impacts of each essential component.

+

Consider an example: if we opt not to project the mass-spring Hessian to a Symmetric Positive Definite (SPD) form, peculiar behaviors may emerge under certain conditions. For instance, running the simulation with a frame-rate time step size of h=0.02 and an initial_stretch of 0.5 could lead to line search failures. This, in turn, results in very small step sizes, hampering the optimization process and preventing significant progress.

+

While line search might seem superfluous in this simplistic 2D example, its necessity becomes apparent in more complex 3D elastodynamics simulations, especially those involving large deformations. Here, line search is crucial to ensure the convergence of the simulation.

+

Another point of interest is the stopping criteria applied in traditional solids simulators. Many such simulators forego a dynamic stopping criterion and instead terminate the optimization process after a predetermined number of iterations. This approach, while straightforward, can lead to numerical instabilities or 'explosions' in more challenging scenarios. This underscores the importance of carefully considering the integration scheme and its parameters to ensure stable and accurate simulations.

+
+
+

Summary

+

We have successfully demonstrated the implementation of a basic 2D mass-spring simulator encompassing several critical components:

+
    +
  • Mesh Generation: This involves the creation of nodes and connecting elements. In practical scenarios, simulators often import meshes from pre-existing files.
  • +
  • Incremental Potential Energy Evaluation: Comprises the computation of the potential energy value, its gradient, and the Symmetric Positive Definite (SPD)-projected Hessian.
  • +
  • Optimization Time Integrator: This includes linear solves for determining search directions, line search techniques to ensure global convergence, and rules for updating nodal positions and velocities.
  • +
  • Simulator Structure: Encompasses scene setup, variable initialization, and the execution of the simulation loop. (Note: Visualization aspects can be decoupled from the simulator itself.)
  • +
+

In the forthcoming chapter, we will delve into boundary treatments, including prescribed motion and frictional contact, which are implemented through equality or inequality constraints in the optimization framework. This discussion will be enriched with practical case studies, illustrating the application of each boundary treatment in computational simulations.

+
+

Dirichlet Boundary Conditions*

+

Boundary treatments, including boundary conditions and frictional contacts, play a crucial role in solid simulations. They not only enhance the expressiveness of scene setup but also capture intricate dynamics within the simulation. This lecture introduces Dirichlet boundary conditions, a pivotal concept for prescribing the motion of specific nodes in solid structures. Understanding these conditions is essential for accurately modeling and manipulating the behavior of solids in various simulation scenarios.

+
+

Equality Constraint Formulation

+

Dirichlet boundary conditions (BC), when integrated into the optimization time integrator, are represented as linear equality constraints: + +In this equation, the matrix \(A\) is a \(m \times dn\) matrix, where \(m \leq dn\). This matrix functions to select the degrees of freedom (DOFs) at the nodes that are subject to the boundary conditions. The vector \(b\) is a \(m \times 1\) vector, which specifies the precise spatial values that are prescribed by these conditions.

+
+

+Example 5.1.1 (Sticky Dirichlet Boundary Condition). +For a 2D system containing two nodes \((x_{11}, x_{12})\) and \((x_{21}, x_{22})\), to fix the second node at position \((1, 2)\), the boundary condition (Equation (5.1.1)) can be expressed as +

+
+

The two most common types of Dirichlet boundary conditions are sticky and slip:

+

Sticky Boundary Conditions: These conditions effectively fix the position of certain nodes within a time step. They are characterized by a block-wise constraint Jacobian matrix \(A\). In this matrix, each set of \(d\) rows includes exactly one \(d \times d\) identity matrix. The rest of the matrix consists of zero matrices. This configuration is illustrated in Example 5.1.1. The implementation of sticky boundary conditions ensures that the specified nodes remain stationary, adhering to the prescribed positions during the simulation.

+

Slip Boundary Conditions: These conditions are designed to constrain each boundary condition (BC) node within a specific linear subspace, such as a plane or a line, which may not necessarily be axis-aligned. As an example, consider planar slip boundary conditions. Here, for each BC node, there is a corresponding row in the matrix \(A\) that contains the normal vector of the plane. This vector occupies the columns corresponding to the BC node, as detailed in Example 5.1.2. Such conditions allow the nodes to move, but only within the defined linear subspace, thus adding a layer of complexity and realism to the simulation.

+
+

+Example 5.1.2 (Slip Dirichlet Boundary Condition). +For the same two-node system in Example 5.1.1, to constrain the first node in the line with equation \(2x + 3y = 4\), the constraint (Equation (5.1.1)) can be expressed as +

+
+

At the start of each time step, if we are given that all boundary conditions are satisfied, then the goal during optimization is simply to maintain the positions of the boundary condition nodes. This is represented as: + +Here, \(\Delta x\) is the search direction in each optimization iteration. Maintaining this condition ensures that any updated nodal position \(x + \alpha \Delta x\), with \(\alpha\) being the step size from line search, still satisfies the boundary conditions: + +This guarantees the adherence to boundary conditions throughout the optimization process.

+

To enforce the linear equality constraints (Equation (5.1.2)) for sticky DBC in a time step, we address this in each Newton iteration while solving for the search direction \( \Delta x \). This process involves forming the Lagrangian with a quadratic approximation to the Incremental Potential:

+

+

Here, \( \lambda \) is the \( m\times 1 \) Lagrange multiplier vector. The gradient and Hessian of the Incremental Potential are denoted by \( g \) and \( H \), respectively.

+

The solution is approached through a max-min optimization problem:

+

+

which leads to the formulation of a Karush-Kuhn-Tucker (KKT) system:

+

+

Solving this KKT system is essential to determine the search direction. Note that this system is not Symmetric Positive Definite (SPD) and its size increases with the number of BC nodes.

+
+

DOF Elimination Method

+

Considering the simplest sticky Dirichlet boundary condition as an example, its constraint Jacobian \( A \) acts as a selection matrix. Consequently, \( AA^T \) forms a \( m \times m \) identity matrix, and \( A^T A \) becomes a \( dn \times dn \) diagonal matrix. In this matrix, the entries corresponding to the BC nodes are one, and all other entries are zero.

+

When we left-multiply \( A \) to the first block row of Equation (5.1.3), the resulting equation is:

+

+

This manipulation allows us to directly solve for \( \lambda \) as:

+

+

By substituting Equation (5.2.1) back into the first block row of Equation (5.1.3), we derive the following equation:

+

+

Here, left-multiplying by \((I - A^T A)\) effectively zeroes out the rows corresponding to the BC nodes. Hence, Equation (5.2.2) represents an under-constrained system. However, the second block row of Equation (5.1.3) actually provides us with the values of \(\Delta x\) at the BC nodes (so they are not really unknowns). By considering this information, we can rewrite Equation (5.2.2) into a Symmetric Positive Definite (SPD) system:

+

+

where the matrices and vectors are partitioned as follows:

+

+

and the subscript \(B\) denotes the BC nodes. Knowing that \(\Delta x_B = 0\), the system simplifies to:

+

+

which represents a SPD system that excludes the BC nodes.

+

A More Practical Approach

+

The method outlined above serves primarily for mathematical explanation. In practical applications, constructing Equation (5.2.3) is often avoided. This is because it entails reordering degrees of freedom (DOFs) and separating the BC nodes from unconstrained nodes, a process that can be both tedious and inefficient, particularly when the set of Dirichlet nodes varies over time.

+

To circumvent the need to reorder DOFs, a direct modification of the original linear system can be made to align it with Equation (5.2.3). This adjustment involves setting all entries in the rows corresponding to BC nodes in \( H \) and \( g \) to \( 0 \). Additionally, for the columns associated with BC nodes in \( H \), all off-diagonal entries are set to \( 0 \) while diagonal entries are assigned \( 1 \) or another positive real number to ensure the system remains well-conditioned. After solving this modified system, the resulting values of \( \Delta x_U \) are immediately aquired, and all \( \Delta x_B \) values are guaranteed to be \( 0 \).

+
+

+Example 5.2.1 (DOF Elimination). +For the problem defined in Example 5.1.1 where the second node \((x_{21}, x_{22})\) is fixed at \((1,2)\) in a 2D two-node system, assuming in a certain iteration of a time step + +we solve the system + +for search direction \(\Delta x\) so that \(\Delta x_{21} = \Delta x_{22} = 0\) and after line search we for sure know that \((x_{21}, x_{22}) = (1, 2)\) still holds since . Here (5.2.4) is essentially +

+
+
+

+Remark 5.2.1 (Limitations of DOF Elimination). +The DOF elimination method described is effective when sticky BC nodes are established at the beginning of the time step. However, if this is not the case, and the constraint function in Equation (5.1.3) has a non-zero right-hand side (rhs), the DOF elimination method becomes inapplicable. The issue here is not the inability to solve for \( \Delta x \) under constraints with a non-zero rhs. Rather, the concern is that the resulting \( \Delta x \) might not lead to a descent direction in the Incremental Potential. This can result in exceedingly small step sizes after a line search, potentially stalling the optimization process.

+

Intuitively, if the direction of \( \Delta x_B \) is towards the prescribed BC coordinates, it could inadvertently increase the Incremental Potential, which is not adjusted to consider the BCs. Conversely, if \( \Delta x_B \) is simply \( 0 \) when the BCs are already satisfied, it effectively minimizes the Incremental Potential using a subset of variables, which remains a valid approach.

+

One might then ask why not adjust the DOFs to meet the BCs before starting the optimization. However, this strategy could lead to infeasible configurations, such as those involving intersections. A viable alternative is to initially apply stiff spring forces to gradually 'drag' the BC nodes to their constrained positions during optimization. After this, switching to the DOF elimination method can enhance convergence. This technique is further discussed in the section Moving Boundary Conditions*.

+
+
+

Case Study: Hanging Square*

+

We use a simple case study to end this lecture. Based on the mass-spring system developed in a previous section, we implement gravitational energy and sticky Dirichlet boundary conditions to simulate a hanging square. +The excutable Python project for this section can be found at https://github.com/phys-sim-book/solid-sim-tutorial under the 2_dirichlet folder.

+

Gravitational energy has + +which can be trivially implemented:

+

+Implementation 5.3.1 (GravityEnergy.py).

+
import numpy as np
+
+gravity = [0.0, -9.81]
+
+def val(x, m):
+    sum = 0.0
+    for i in range(0, len(x)):
+        sum += -m[i] * x[i].dot(gravity)
+    return sum
+
+def grad(x, m):
+    g = np.array([gravity] * len(x))
+    for i in range(0, len(x)):
+        g[i] *= -m[i]
+    return g
+
+# Hessian is 0
+
+

Then we just need to make sure the gravitational energy is added into the Incremental Potential (IP):

+

+Implementation 5.3.2 (Adding gravity to IP, time_integrator.py).

+
def IP_val(x, e, x_tilde, m, l2, k, h):
+    return InertiaEnergy.val(x, x_tilde, m) + h * h * (MassSpringEnergy.val(x, e, l2, k) + GravityEnergy.val(x, m))     # implicit Euler
+
+def IP_grad(x, e, x_tilde, m, l2, k, h):
+    return InertiaEnergy.grad(x, x_tilde, m) + h * h * (MassSpringEnergy.grad(x, e, l2, k) + GravityEnergy.grad(x, m))   # implicit Euler
+
+

For the sticky Dirichlet boundary condition, we modify the system accordingly when computing search direction:

+

+Implementation 5.3.3 (DOF elimination, time_integrator.py).

+
def search_dir(x, e, x_tilde, m, l2, k, is_DBC, h):
+    projected_hess = IP_hess(x, e, x_tilde, m, l2, k, h)
+    reshaped_grad = IP_grad(x, e, x_tilde, m, l2, k, h).reshape(len(x) * 2, 1)
+    # eliminate DOF by modifying gradient and Hessian for DBC:
+    for i, j in zip(*projected_hess.nonzero()):
+        if is_DBC[int(i / 2)] | is_DBC[int(j / 2)]: 
+            projected_hess[i, j] = (i == j)
+    for i in range(0, len(x)):
+        if is_DBC[i]:
+            reshaped_grad[i * 2] = reshaped_grad[i * 2 + 1] = 0.0
+    return spsolve(projected_hess, -reshaped_grad).reshape(len(x), 2)
+
+

Here is_DBC is an array marking whether a node is Dirichlet or not as we store the Dirichlet node indices in DBC:

+

+Implementation 5.3.4 (DBC definition, simulator.py).

+
DBC = [n_seg, (n_seg + 1) * (n_seg + 1) - 1]  # fix the left and right top nodes
+
+# ...
+
+# identify whether a node is Dirichlet
+is_DBC = [False] * len(x)
+for i in DBC:
+    is_DBC[i] = True
+
+

Finally, after making sure is_DBC is passed to the time integrator, we can simulate an energetic hanging square (no initial stretching) with a smaller spring stiffness k=1e3 at framerate time step size h=0.02 (Figure 5.3.1).

+
+
+ +
+
+Figure 5.3.1. From left to right: initial, intermediate, and final static frame of the hanging square simulation.
+
+

Summary

+

In this section, we explored Dirichlet boundary conditions (DBC), integral to optimization time integrators, and presented them as straightforward linear equality constraints. There are two types of DBCs: sticky and slip. Sticky DBCs immobilize certain nodes, fixing their positions, whereas slip DBCs restrict the movement of nodes to within a plane or a line.

+

We focused on cases where sticky DBCs are already met at the start of a time step. In such scenarios, the DOF elimination method proves efficient. This technique modifies the gradient and Hessian of the Incremental Potential, ensuring that the resulting search direction remains within the feasible space.

+

In the following lecture, we will delve into the handling of slip DBCs and demonstrate methods for their efficient incorporation into optimization problems.

+
+

Slip Dirichlet Boundary Conditions

+

Although they might be satisfied at the start of a time step, general slip Dirichlet boundary conditions (DBC) present unique challenges. Unlike the sticky DBCs, they cannot be directly addressed using the DOF elimination method, primarily because their constraint Jacobian does not consist of identity matrix blocks. To navigate this complexity, we can adopt a change-of-basis strategy.

+

Before delving into the more general scenarios, it's insightful to first examine a particular type of slip DBC: those that are axis-aligned. Understanding this specific case will lay the groundwork for tackling the broader range of slip DBCs.

+
+

Axis-Aligned Slip DBC

+

Axis-Aligned slip Dirichlet boundary conditions (DBC) uniquely restrict the movement of certain nodes to linear subspaces that are aligned with the axes. For instance, these constraints could limit motion to lines parallel to the x-axis or planes parallel to the yz-plane. An advantageous aspect of Axis-Aligned slip DBC is that their constraint Jacobians bear resemblance to those of sticky DBCs. Consequently, they can be efficiently managed using the same DOF elimination method.

+
+

+Example 6.1.1 (Axis-Aligned Slip DBC). +Consider the previously mentioned two-node system in a 2D space, as referenced in the slip DBC example (Example 5.1.2). To apply a slip DBC that constrains the first node, represented by coordinates \((x_{11}, x_{12})\), to move only along the line \(y = 3\), we express this constraint as a linear equality: + +Then similar to sticky DBC, in a time step where this slip DBC is already satisfied, assume we have + +we can solve the system + +for search direction so that \(\Delta x_{12} = 0\) and the first node will stay on the \(y=3\) line for arbitrary step size since its \(y\) coordinate will not vary.

+
+
+

Change of Variables

+

Challenges with General Slip DBCs and the DOF Elimination Method

+

When dealing with general linear equality constraints, such as slip DBCs that aren't axis-aligned, the direct Degree of Freedom (DOF) elimination method faces certain limitations. This becomes evident particularly when \( AA^T \) is not an \( m \times m \) identity matrix. According to the Karush-Kuhn-Tucker (KKT) system (Equation (5.1.3)), the Lagrange multiplier vector \( \lambda \) can be solved as follows:

+

+

When we substitute Equation (6.2.1) back into the KKT system, it results in:

+

+

This leads to an under-constrained system. The key challenge here is that \( I - A^T (AA^T)^{-1} A \) does not possess a special structure that can be conveniently exploited to derive an equivalent, non-singular system while still satisfying the constraints. This makes the direct application of the DOF elimination method impractical for general slip DBCs.

+

Simplifying Constraints Using Singular Value Decomposition

+

Our approach involves transforming the degrees of freedom (DOF) into a new set of variables, making the constraints as straightforward as those in sticky DBC. To achieve this, we employ singular value decomposition (SVD) on the constraint Jacobian matrix \( A \). The SVD of \( A \) is expressed as: + +Here, \( U \) is a \( m \times m \) orthogonal matrix, \( V \) is a \( dn \times dn \) orthogonal matrix, and \( S \) is a \( m \times dn \) diagonal matrix.

+

By defining \( y = V^T \Delta x \), we can reframe the Karush-Kuhn-Tucker (KKT) system (Equation (5.1.3)) into a new format:

+

+

In this transformed system, \( \lambda' = U^T \lambda \). Notably, the presence of the diagonal matrix \( S \) in the off-diagonal blocks allows the direct application of the DOF elimination method. Once we solve for \( y \), the original variable \( \Delta x \) is easily recovered through the matrix-vector product \( \Delta x = V y \).

+
+

+Remark 6.2.1 (Limitations of Using SVD for DOF Elimination). +While we utilized singular value decomposition (SVD) to illustrate the concept, it's important to recognize the limitations of applying SVD in practice, especially on large matrices. There are two primary concerns:

+
    +
  1. Intractability with Large Matrices: Performing SVD on matrices of substantial size can be computationally challenging and often impractical.
  2. +
  3. Impact on Computational Efficiency: The Incremental Potential Hessian \( H \) typically exhibits sparsity, making it efficient to factorize in linear solves during simulations. However, if the resulting \( V \) from the SVD is dense, then \( V^T H V \) will also be dense. This not only slows down the computation but also significantly increases the cost of linear solves.
  4. +
+

It's crucial to note that the new basis set (the column vectors of \( V \)) needs to be linearly independent but does not necessarily have to be orthonormal. This insight opens up the possibility of identifying a sparse basis set. Such a set can maintain computational efficiency when dealing with general linear equality constraints. For a practical example of this approach, see [Chen et al. 2022].

+
+
+

General Slip DBC

+

Fortunately, for constraints like slip DBCs that are decoupled per node, SVD simply results in block-diagonal and which could be constructed procedurally in an efficient way. +3D planar slip DBC at node can be expressed as + +where is the normal of the plane that node is slipping, and is an arbitrary point on that plane. +As discussed near Equation (5.1.2), if at the beginning of the time step node is already on the plane, the constraint simplifies to + +Then performing SVD on the row vector , we obtain + +where unit vectors , , and together form an orthonormal basis in 3D.

+

Then it becomes clear that globally, is simply a identity matrix, is a matrix where every row contains exactly one unit-valued entry in the column corresponding to the first DOF of the slip BC node, and is a block-diagonal matrix with the orthonormal blocks only on those corresponding to BC nodes, and identity matrix elsewhere.

+

To compute and from , we first note that there are an infinite number of possible solutions. +Therefore, we can simply first construct , or if is almost colinear with , and then construct . +To obtain , one only needs to left-multiply each to . +As for , first left-multiply each to every block on the -th block row of to obtain . Then for the -th block column of , left-multiply to every block. +Finally, after solving for by applying the DOF elimination method on the modified system (Equation (6.2.3)), can be obtained by with similar block(node)-wise operations.

+
+

+Example 6.3.1 (General Slip DBC). +For the same two-node system in 2D as mentioned in the slip DBC example (Example 5.1.2), to constrain the first node inside the line, the slip DBC can be expressed as + +and we can build + +for changing the basis. +Then in a time step where this slip DBC is already satisfied, assume we have + +we can compute + +and solve the system + +for . Then the search direction can be obtained by so that and so the first node will stay on the line for arbitrary step size.

+
+
+

Summary

+

This section has demonstrated that, with a change in the basis of variables, general slip Dirichlet boundary conditions (DBC) can be effectively managed using the Degree of Freedom (DOF) elimination method, much like axis-aligned slip DBCs.

+

While singular value decomposition (SVD) can be used to find the basis for general linear equality constraints, this approach may not be feasible for large or complex constraints. Nonetheless, it's possible to develop procedural routines for computing the basis, specifically tailored to node-wise slip DBC constraints.

+

Currently, our focus has been on maintaining DBCs that are already satisfied within the simulation framework. Moving forward, the discussion will shift towards exploring frictional contact between points and analytic surfaces. Additionally, we will revisit scenarios where DBCs are not satisfied at the start of a time step, delving into more complex cases.

+
+

Distance Barrier for Nonpenetration

+

Contact modeling is a crucial aspect of ensuring that solids do not intersect with obstacles or themselves. This topic was briefly touched upon in a previous section. In this lecture, we delve deeper into the specifics of non-interpenetration within the framework of the Incremental Potential Contact (IPC) method. Our focus will be on a simplified yet significant scenario: contact between solids and obstacles that have closed boundaries. This specific focus allows us to thoroughly explore the mechanics and principles of the IPC method in a controlled setting.

+
+

Signed Distances

+

The Incremental Potential Contact (IPC) method is designed to ensure non-interpenetration in solids of any codimension by maintaining the unsigned distances between solid boundaries above zero throughout their movement. This approach is robust as it applies universally, irrespective of the solid's specific characteristics.

+

However, when signed distances are accessible, the application of IPC becomes not only straightforward but also more streamlined. Signed distances extend the concept of unsigned distances to encompass solid geometries with closed boundaries. With IPC enforcing non-interpenetration, the possibility of negative distances inside a solid is eliminated. Therefore, in scenarios where signed distances remain non-negative (including the state of being exactly zero), it's an indication of successful non-interpenetration.

+
+

+Definition 7.1.1 (Codimension). +If \(W\) is a linear subspace of a finite-dimensional vector space \(V\), then the codimension of \(W\) in \(V\) is the difference between their dimensions: + +For example, in 3D, a surface has codimension \(1\), and a line has codimension \(2\). +In computer graphics, when simulating cloth and hair, codimension 1 and 2 geometry representations are often applied respectively for efficiency. However, their signed distances are not well-defined. This also explains why unsigned distances are more general for modeling solid contact.

+
+

In a previous section, we explored various methods for representing solid geometries. One notable approach is the analytical representation. For instance, a 3D ball centered at \( \mathbf{c} \) with radius \( r \) can be analytically described by the parameterization:

+

+

This principle of defining solid geometries extends beyond simple spheres. Many other shapes, such as half-spaces, boxes, ellipsoids, and tori, can be similarly parameterized. The key to these parameterizations lies in defining the "interior" of these objects, which can often be achieved through functions like signed distances. These functions provide a versatile tool for describing a wide range of simple and complex shapes in a concise and mathematical manner.

+
+

+Example 7.1.1 (Ball Signed Distance Function). +The signed distance function \(d(\mathbf{x})\) and its derivatives of a ball centered at \(\mathbf{c}\) with radius \(r\) can be defined as +

+
+
+

+Example 7.1.2 (Half-Space Signed Distance Function). +The signed distance function \(d(\mathbf{x})\) and its derivatives of a half-space with normal \(\mathbf{n}\) and \(d(\mathbf{o}) = 0\) can be defined as +

+
+

Representing more intricate geometries, like those commonly encountered in real-life scenarios, can be a challenging task due to their complexity. An effective alternative to intricate parameterizations is the use of a uniform Euclidean grid. This grid serves as a storage mechanism for the signed distances of a solid object, with these distances precomputed at each grid node. When the distance at any arbitrary point within the solid is required, interpolation can be applied to the grid data.

+
+

+Example 7.1.3 (Grid Signed Distance Field). +For a signed distance field stored on a uniform Euclidean grid with spacing \(\Delta x\), to query the distance at an arbitrary location \(\mathbf{x} = (x,y)\) where \(x = x_i + \alpha \Delta x\) and \(y = y_i + \beta \Delta x\) (\(\mathbf{x}_{i,j} = (x_i, y_j)\) are the location of grid nodes, \(0 \leq \alpha,\beta \leq 1\)), with bilinear interpolation (Figure 7.1.1 right), + +From Figure 7.1.1 we also see that to approximate a solid boundary smoothly in this setting, a higher-order interpolation scheme such as quadratic b-spline interpolation is needed.

+
+ +
+
+Figure 7.1.1. The signed distance between the grid nodes and the sphere boundary is precomputed and stored (left). With bilinear interpolation, part of the sphere boundary is approximated as the blue polyline (right).

+
+
+

Distance Barrier

+

Constrained Optimization

+

In scenarios like a solid interacting with a planar ground, where the signed distance function \( d(\mathbf{x}) \) is smooth outside the obstacle, we can approach the modeling of contact by incorporating non-interpenetration constraints. These constraints are formulated using \( d(\mathbf{x}) \), while we also aim to minimize the Incremental Potential of the system.

+

Assuming that the solids are densely sampled with nodes \(\mathbf{x}\), we apply these constraints at the level of nodal Degrees of Freedom (DOFs) in relation to the obstacles:

+

+

In this equation, \( d_{ij} \) represents the signed distance between node \( i \) and obstacle \( j \). By ensuring that \( d_{ij} \) is non-negative, we effectively prevent the solids from intersecting with the obstacles1.

+

Logarithm Barrier Potential in Contact Modeling

+

To address the inequality constraints in our contact modeling, we introduce a barrier potential \( P_b(\mathbf{x}) \). This potential transforms the constrained problem, as described in Equation (7.2.1), into an "unconstrained" optimization problem:

+

+

The barrier potential is defined as follows:

+

+

In this formulation, \( b() \) represents the barrier energy density function. As the distance approaches zero, this function tends to infinity, thereby providing a strong repulsion force to prevent interpenetration (refer to Figure 7.2.1). The distance threshold \( \hat{d} \) above which no contact force is exerted, the contact stiffness \( \kappa \) which controls the rate of change of the contact forces with respect to distance, and \( A_i \), the contact area of node \( i \), are key parameters in this setup. By integrating the energy density over the solid boundary, the barrier formulation effectively models a potential energy field that is of thickness \( \hat{d} \).

+
+
+ +
+
+Figure 7.2.1. The barrier energy density function plotted with different . Decreasing asymptotically matches the discontinuous definition of the contact condition.
+
+
+

+Remark 7.2.1 (Contact Layer Interpretation). +Imagine the barrier potential \( P_b(\mathbf{x}) \) as representing the elasticity of an ultra-thin layer of virtual material that exists just outside the boundaries of the solids. This virtual layer has an effective thickness of \( \hat{d} \), which correlates with the distance threshold in the barrier function.

+

Consequently, the integration or summation used in computing \( P_b(\mathbf{x}) \) is weighted by the volume element \( w_i = A_i \hat{d} \), where \( A_i \) represents the contact area of each node. As solids approach and begin to compress this virtual elastic layer, contact forces arise. These forces, akin to a unique type of elasticity force, serve to prevent interpenetration by providing a repulsion effect whenever the solids come too close to each other. This model allows us to simulate the physical response of contact without actual penetration of the solids.

+
+

Applying chain rules with distance being the intermediate variables, we can derive the gradient and Hessian of \(P_b(\mathbf{x})\) as + +and +

+
1 +

As we are using signed distances here, the inequality constraints can be defined without introducing an \(\epsilon\) as in Equation (2.3.1) with unsigned distances.

+
+
+

Solution Accuracy

+

So why can we solve Equation (7.2.2) to approximate the solution of the original problem in Equation (7.2.1)? +Similar to Dirichlet Boundary Conditions, at the solution \(x^*\) of Equation (7.2.1), the following KKT conditions all hold: + +While at the local optimum \(x'\) of Equation (7.2.2), we have + +which is equivalently + +and + +if we plug in the expression of \(\nabla b(d_{ij})\). +Let \(\gamma_{ij}' = -h^2 A_i \hat{d} \frac{\partial b}{\partial d}(d_{ij}(x'))\), we can further rewrite Equation (7.3.2) as + +which is essentially the stationarity condition (first line in Equation (7.3.1)) if we take \(\gamma_{ij}'\) as the dual variable. +Now since the barrier function provides arbitrarily large repulsion to avoid interpenetration, we know that \(\forall i,j\), \(d_{ij}(x') \geq 0\). In addition, \(\gamma_{ij}' \geq 0\) also holds for all \(i,j\) because \(\frac{\partial b}{\partial d} \leq 0\) by construction. This means that at \(x'\), we have momentum balance, no interpenetrations, and contact forces only push but not pull.

+

In our simulation, the only Karush-Kuhn-Tucker (KKT) condition not strictly satisfied at \( x' \) is the complementarity slackness condition. This arises due to the way our barrier approximation functions. Specifically, we have a situation where \( \gamma_{ij} > 0 \Longleftrightarrow 0 < d_{ij} < \hat{d} \), representing the activation of contact forces based on the distance between solids and obstacles.

+

As the threshold \( \hat{d} \) decreases, contact forces become active only when the solids are in closer proximity (as illustrated in Figure 7.2.1). This adjustment leads to a reduction in the complementarity slackness error, which can be controlled to a certain extent. However, it's important to note that this control comes at a cost: computational efficiency may be reduced. This is because sharper objective functions, resulting from smaller \( \hat{d} \) values, tend to require more Newton iterations to resolve. Therefore, there is a trade-off between the accuracy of the simulation (in terms of adhering to the KKT condition) and the computational resources required.

+
+

Summary

+

In simulating contact between solids and obstacles, we primarily focus on enforcing non-negativity on the signed distances between solid degrees of freedom (DOFs) and obstacles, in conjunction with minimizing the Incremental Potential.

+
    +
  • +

    Transformation to an Unconstrained Problem: The inherent inequality-constrained minimization issue for each time step is transformed into an unconstrained problem. This is achieved through the introduction of a barrier potential. This potential rises to infinity as distances approach zero, effectively generating large repulsion forces that prevent interpenetration.

    +
  • +
  • +

    Outcomes at Local Minimum: At the local minimum of this barrier-augmented Incremental Potential, we attain a balance of momentum, ensure non-interpenetration, and generate contact forces that only push but do not pull. The only exception in the Karush-Kuhn-Tucker (KKT) conditions is the complementarity slackness, which is not strictly satisfied. The accuracy in satisfying this condition can be controlled by adjusting the distance threshold , albeit at the expense of computational efficiency.

    +
  • +
  • +

    Limitations and Next Steps: While the distance barrier method effectively addresses many contact scenarios, it cannot alone prevent artificial tunneling in dynamic simulations. To overcome this limitation, our next lecture will introduce the filtered line search scheme, an advanced technique designed to provide more guarantees to our simulations.

    +
  • +
+
+

+Remark 7.4.1 (Tunneling). Artificial tunneling in the context of simulations, particularly in computational physics and computer graphics, refers to a phenomenon where fast-moving objects pass through other objects or barriers without physically interacting with them, as if there were a tunnel through the barrier. This typically happens in scenarios involving discrete time steps, such as in computer simulations of physical systems.

+

In a real-world scenario, when two objects collide, there should be a physical interaction like a bounce, a stop, or a deformation. However, in a simulation with discrete time steps, if an object is moving very fast or the time steps are too large, the object's position might be calculated as being on one side of a barrier in one step and then on the other side in the next, without ever detecting a collision. This "skipping" of the collision step leads to what appears as tunneling through the object.

+
+
+

Filter Line Search*

+

The Incremental Potential Contact (IPC) method effectively maintains non-interpenetration constraints within solid simulations. This method models a constitutive relationship that directly correlates contact forces with their respective distances, thus converting the constrained problem into an unconstrained one. By using appropriately small time steps, the IPC allows for robust and accurate solid simulations free from obstacle interpenetration within an optimization-based time integration framework.

+

However, challenges arise when using larger time steps, which can introduce multiple local minima in the Incremental Potential. This condition can lead to tunneling issues, where solids might unexpectedly pass through obstacles due to overly large search directions. To mitigate this risk, we introduce a filter line search strategy supplemented by continuous collision detection (CCD). This approach is designed to prevent tunneling by continuously adjusting the trajectory of solids in response to potential collisions.

+

To illustrate these concepts, we will examine a case study where an elastic square falls onto the ground. This example will demonstrate the effectiveness of the IPC method along with the filter line search and CCD in managing the dynamics of solid bodies and ensuring accurate, interpenetration-free simulations.

+
+

The Tunneling Issue

+
+

+Example 8.1.1 (Tunneling). +Let's consider a simple illustrative example. Without external forces like gravity, for a particle (no elasticity) at \(\mathbf{x}_0 = (0, 0)\) with mass \(m\) and initial velocity \(\mathbf{v}_0 = (1, 0)\) hitting a fixed square obstacle centered at \((0.005, 0) \), the Incremental Potential minimization problem for the first time step is + +Since \(\hat{d}\) is usually set small enough such as \(10^{-4}m\) in this case, the barrier potential \(P_b(\mathbf{x})\) is not yet active at \(\mathbf{x}_0\) as the particle is not touching the obstacle. This makes the problem in Equation (8.1.1) quadratic, and our projected Newton (PN) method (Algorithm 3.3.1) will produce a search direction + +at the first iteration, which directly leads to the global minimum of the Incremental Potential at \(\mathbf{x}_0 + h\mathbf{v}_0\) after line search. Taking \(h=0.01s\) (Figure 8.1.1), the particle will tunnel through the obstacle. +However, scenarios where particles pass through obstacles due to large time steps are clearly unrealistic, as the expected physical behavior is for the particle to collide with the obstacle and either stop or bounce back.

+
+
+
+ +
+
+Figure 8.1.1. An illustration of the tunneling issue. With the projected Newton method introduced earlier, tunneling artifact could happen as shown in the middle. The physically plausible result shown on the right could be obtained with the filter line search scheme. The blue arrows show the optimization path.
+
+

From Example 8.1.1, we understand that simply ensuring the signed distances to be non-negative at the final solution is inadequate, especially in scenarios involving large time step sizes, high-speed impacts, or thin obstacles. These conditions can lead to inaccuracies and unrealistic outcomes in simulations.

+

The Incremental Potential Contact (IPC) method addresses this issue by ensuring that distances remain non-zero across the entire motion trajectory of solids. This approach is crucial for maintaining the physical accuracy and realism of the simulation.

+

But what exactly do we mean by "motion trajectory" in the context of discrete time integration? We will explain this next.

+
+

Penetration-free Trajectory

+

The most straightforward way of defining the motion trajectory between \(x^n\) and \(x^{n+1}\) at time \(t^n\) and \(t^{n+1}\) respectively would be the high-dimensional line segment connecting these two configurations. However, although enforcing non-negative signed distances on this trajectory could avoid the tunneling issue in Example 8.1.1, this strategy could potentially result in unrealistic behaviors as it alters the local optimum of the minimization problem (Equation (7.2.1)) in a nonphysical way (Figure 8.2.1).

+
+
+ +
+
+Figure 8.2.1. For the setup in the tunneling example, enforcing non-negative signed distance along the motion trajectory approximated by the line segment between and results in a nonphysical simulation result.
+
+

A more rigorous definition of the motion trajectory between \(x^n\) and \(x^{n+1}\) could be + +However, evaluating the configurations on this trajectory requires solving extra optimization problems, which could significantly complicate the time integration.

+

Instead, IPC takes the optimization path as an approximation to the motion trajectory. Specifically, for the time step solving from \(x^n\) to \(x^{n+1}\), if the optimization took \(l\) iterations, and each iteration we get iterate \(x^i\) after line search, the optimization path is simply the high-dimensional polyline + +Now the time integration problem in time step \(n\) becomes finding such optimization path \(x_0, x_1, ..., x_l\) where \(x^l\) locally minimizes the Incremental Potential (Equation (7.2.2)) subject to + +This enables enforcing the non-negative distance constraints per optimization iteration on the line segment between \(x^i\) and \(x^{i+1}\), which will not alter the local optimum of the time integration problem, and can be handled efficiently.

+

Recall from Algorithm 3.2.1 that the line search scheme updates the iterate as \(x^{i+1} \leftarrow x^i + \alpha p\), which means \(x^{i+1} - x^{i} = \alpha p\). Therefore, given an interpenetration-free \(x^i\), to ensure all the configurations on the line segment between \(x^i\) and \(x^{i+1}\) are interpenetration-free, we just need to find such \(\alpha\) that makes sure + +Based on the intuition that a sufficiently small \(\alpha\) could definitely make this happen, we can simply calculate an upper bound of such \(\alpha\) in every iteration, and make sure the backtracking line search results in a step size smaller than this upper bound. This upper bound can be conveniently calculated with continuous collision detection (CCD).

+
+

+Definition 8.2.1 (Continuous Collision Detection (CCD)). +For a distance function \(d_{jk}(x + \alpha p)\) defined with the initial interpenetration-free configuration of the solids and obstacles \(x\), their intended displacement \(p\), and the step size \(\alpha\), CCD calculates the step size \(\alpha^C_{jk}\) given \(x\) and \(p\) such that + +Note that the problem definition implicitly requires \(d_{jk}(x) > 0\). Under this setting, if we denote \(d^a_{jk}(\alpha) = d_{jk}(x + \alpha p)\), \(\alpha^C_{jk}\) is simply the smallest positive real root of \(d^a_{jk}(\alpha)\) (see Figure 8.2.2 for an example), or \(\alpha^C_{jk} = \infty\) if \(d^a_{jk}(\alpha)\) does not have any positive real roots. There are many methods to obtain the exact or a conservative estimate of \(\alpha^C_{jk}\), we will see a specific example in the case study of this lecture. After computing \(\alpha^C_{jk}\) for all nodes \(j\) and obstacle \(k\), a step size upper bound \(\alpha^C\) for the line search could then be obtained as +

+
+ +
+
+Figure 8.2.2. An illustration of CCD with a solid particle at hitting a fixed vertical plane at . With the intended displacement , we obtain .

+
+ +

Now, we can introduce our filter line search method (Algorithm 8.2.1), specifically designed to enforce non-interpenetration constraints throughout the entire approximated motion trajectory. This strategic enforcement is key in preventing tunneling issues that commonly occur in simulations with insufficient constraint handling.

+

This new scheme differs from the traditional backtracking line search method in a critical aspect: it initializes the step size. Instead of starting with a step size of \(1\), the filter line search method begins with \(\alpha^C\). This modification is subtle yet significant.

+
+
+
+Algorithm 8.2.1 (Filter Backtracking Line Search).
+ +
+
+
+

+Remark 8.2.1 (Algorithm Dependency Issue). +Using the optimization path to approximate the motion trajectory is still not perfect as it is algorithm dependent. Other than the projected Newton (PN) method, there could be an algorithm that walks around an obstacle and ended up with a configuration on the other side, still providing a tunneling solution (Figure 8.2.3). +Even with projected Newton, although in practice it always generates straightforward and physically plausible trajectories, there is no theoretical guarantee that it will never encounter tunneling issues. +An intuition is that the search direction in every PN iteration always significantly decreases the Incremental Potential (IP), and so it is unlikely to walk around any contacts which often results in iterations that do not sufficiently decrease the IP. +In fact, this kind of issue also happens in elastodynamics simulation without contact. Elasticity energy itself is also nonconvex, which can result in multiple local optima for the IP. The key to obtaining physical behaviors is to locally minimize IP, in other words, finding the nearby local minimum as the solution.

+
+ +
+
+Figure 8.2.3. For the setup in the tunneling example, even with the filter line search scheme, if an optimization method other than projected Newton is applied, it could still lead to the tunneling issue.

+
+ +
+

Case Study: Square Drop

+

To conclude, let's consider a case study where we simulate a square dropped onto a fixed planar ground. Building on our previous mass-spring model for an elastic square, we augment a barrier potential into its Incremental Potential and apply the filter line search scheme to manage the contact between the square's degrees of freedom (DOFs) and the ground.

+

The excutable Python project for this section can be found at https://github.com/phys-sim-book/solid-sim-tutorial under the 3_contact folder.

+

If we further limit the planar ground to be horizontal, e.g. at \(y=y_0\), its signed distance function can be made even simpler than Equation (7.1.1): + +Combining it with Equation (7.2.4) and Equation (7.2.5), we can conveniently implement the gradient and Hessian computation for the barrier potential of this horizontal ground:

+

+Implementation 8.3.1 (Barrier energy value, gradient, and Hessian, BarrierEnergy.py).

+
import math
+import numpy as np
+
+dhat = 0.01
+kappa = 1e5
+
+def val(x, y_ground, contact_area):
+    sum = 0.0
+    for i in range(0, len(x)):
+        d = x[i][1] - y_ground
+        if d < dhat:
+            s = d / dhat
+            sum += contact_area[i] * dhat * kappa / 2 * (s - 1) * math.log(s)
+    return sum
+
+def grad(x, y_ground, contact_area):
+    g = np.array([[0.0, 0.0]] * len(x))
+    for i in range(0, len(x)):
+        d = x[i][1] - y_ground
+        if d < dhat:
+            s = d / dhat
+            g[i][1] = contact_area[i] * dhat * (kappa / 2 * (math.log(s) / dhat + (s - 1) / d))
+    return g
+
+def hess(x, y_ground, contact_area):
+    IJV = [[0] * len(x), [0] * len(x), np.array([0.0] * len(x))]
+    for i in range(0, len(x)):
+        IJV[0][i] = i * 2 + 1
+        IJV[1][i] = i * 2 + 1
+        d = x[i][1] - y_ground
+        if d < dhat:
+            IJV[2][i] = contact_area[i] * dhat * kappa / (2 * d * d * dhat) * (d + dhat)
+        else:
+            IJV[2][i] = 0.0
+    return IJV
+
+

For the filter line search, with the position in the last iteration \(\mathbf{x}\) and a search direction \(\mathbf{p}\) of a specific node, the signed distance function is simply +\[ +d(\mathbf{x} + \alpha \mathbf{p}) = \mathbf{x}_y + \alpha \mathbf{p}_y - y_0, +\] +where \(\alpha\) is the step size, and there is only one positive real root \(\alpha = (y_0 - \mathbf{x}_y) / \mathbf{p}_y\) when \(\mathbf{p}_y < 0\) since \(\mathbf{x}_y > y_0\) (no interpenetration up to current iteration). Taking the minimum of the positive real root per node then gives us the step size upper bound \(\alpha_C\) defined in Equation (8.2.1):

+

+Implementation 8.3.2 (Ground CCD, BarrierEnergy.py).

+
def init_step_size(x, y_ground, p):
+    alpha = 1
+    for i in range(0, len(x)):
+        if p[i][1] < 0:
+            alpha = min(alpha, 0.9 * (y_ground - x[i][1]) / p[i][1])
+    return alpha
+
+

Here we scale the upper bound by \(0.9\times\) so that exact touching configurations with \(d=0\) and \(b = \infty\) (floating-point number overflow) can be avoided.

+

Then once we make sure the step size upper bound is used to initialize the line search

+

+Implementation 8.3.3 (Filter line search, time_integrator.py).

+
        # filter line search
+        alpha = BarrierEnergy.init_step_size(x, y_ground, p)  # avoid interpenetration and tunneling
+        while IP_val(x + alpha * p, e, x_tilde, m, l2, k, y_ground, contact_area, h) > E_last:
+            alpha /= 2
+
+

and that the contact area weights for all nodes are calculated

+

+Implementation 8.3.4 (Contact area, simulator.py).

+
contact_area = [side_len / n_seg] * len(x)     # perimeter split to each node
+
+

and passed to our simulator, we can simulate the square drop with mass-spring stiffness k=2e4 and time step size h=0.01 as shown in Figure 8.3.1.

+
+
+ +
+
+Figure 8.3.1. A mass-spring elastic square is dropped onto the ground with initial velocity under gravity. Here we show the frames when the square is: just dropped, first touching the ground, compressed to the maximum in this simulation, and becoming static.
+
+
+

+Remark 8.3.1 (Contact Layer Integration). +Since in practice, contact forces are only exerted on the boundary of the solids, the barrier potential should be integrated only on the boundary as well. +This also explains why in our case study the contact area weight per node is simply calculated as the diameter of the square evenly distributed onto each boundary node. +However, as mass-spring elasticity cannot guarantee that all interior nodes will stay inside the boundary of the solid, we simply apply the barrier potential to all nodal DOFs of the square.

+
+
+

Summary

+

To mitigate tunneling issues in solid simulation with large time steps, it is crucial to enforce non-negativity constraints of signed distances between solids and obstacles throughout the entire motion trajectory, not just at the final solution.

+

While directly using the optimization path to approximate the motion trajectory isn't perfect theoretically, it supports the design of a filter line search scheme. This scheme utilizes continuous collision detection (CCD) and the projected Newton method, effectively preventing tunneling in practical scenarios.

+

The projected Newton method, a gradient-based approach for minimizing the Incremental Potential, requires that the potential energy has a continuous gradient. Consequently, the distance functions employed in our barrier potential need to be at least continuous. For grid-based signed distance fields (Example 7.1.3), mere bilinear interpolation is considered insufficient.

+

Additionally, handling self-contact on the piece-wise linear boundary of a mesh necessitates further approximations to smooth the distance function. Detailed exploration of self-contact will be addressed in future sections

add ref

. Before that, we will first transition to discussing solids-obstacle friction in our next lecture.

+
+

Frictional Contact

+

In the macroscopic view, contact forces comprise not only the normal forces that prevent interpenetrations but also tangential friction forces that dampen shearing motions at the interfaces. Most surfaces, when observed microscopically, are not perfectly smooth but are formed of jagged edges. Friction essentially arises from forces preventing non-interpenetration between these jagged edges. In this lecture, we introduce the Coulomb friction model, incorporating approximations that make it compatible with optimization time integrators.

+
+

Smooth Dynamic-Static Transition

+

To model frictional contact, local frictional forces can be added for every active contact point pair . +For each such pair , at the current state , a consistently oriented sliding basis can be constructed, where is the total number of simulated nodes and is the dimension of space, such that provides the local relative sliding velocity that is orthogonal to the distance gradient in the normal direction .

+
+

+Example 9.1.1 (Particle Sliding on Sphere). +For a particle with velocity moving on the surface of a sphere with velocity (no rotation), the relative sliding velocity here can be calculated as + +If we stack the velocity of the particle and the sphere for this system to obtain , we now know that is simply + +For more general cases like mesh-mesh contact, the form of only varies in how the relative velocity at the contact point pair is related to the velocity at the simulated nodes.

+
+

Maximizing dissipation rate subject to the Coulomb constraint defines friction forces variationally + +where is the contact force magnitude +and is the local friction coefficient. This is equivalent to + +with when , while takes any unit vector orthogonal to when . In addition, the friction scaling function, , is also nonsmooth with respect to since when , and when . These non-smoothness would severely slow down and even break convergence of gradient-based optimization.

+
+
+ +
+
+Figure 9.1.1. An illustration of , , , and when a point slides on a sphere.
+
+
+

+Remark 9.1.1 (Contact Force Magnitude). + is the contact force magnitude because at node , the contact force is . Therefore, since and .

+
+

To enable efficient and stable optimization, the friction-velocity relation in the transition to static friction can be mollified by replacing with a smoothly approximated function. Following IPC, we use + +where and a velocity magnitude bound (in units of ) below which sliding velocities are treated as static is defined for bounded approximation error (Figure 9.1.2).

+
+
+ +
+
+Figure 9.1.2. A 1D illustration of the smoothed relation between friction force and sliding velocity. Decreasing asymptotically matches the discontinuous Coulomb friction model.
+
+
+

Semi-Implicit Discretization

+

However, challenges still remain on incorporating friction into the optimization time integration. A major problem is that friction is not a conservative force and there is no well-defined potential such that taking the opposite of its gradient produces the frictional force. In other words, implicit friction force is not integrable. Without a potential energy, backtracking line search could not be performed, and thus guarantees on the stability and convergence of the optimization will be broken.

+

In fact, whether a force has well-defined potential energy really depends on the temporal discretization. For example, with explicit time integration, any force is constant within a time step and it has a potential energy . +Taking this inspiration, we could make friction force integrable with a smarter temporal discretization. Making friction force constant within a time step would certainly restrict the size of the time step to obtain high quality results. Therefore, we discretize part of the friction force explicitly and formulate an integrable semi-implicit friction force.

+

Following IPC, we fix the normal force magnitude (the ones only used in calculating friction) and the tangent operator during the nonlinear optimization to the value in the last time step : , and , which then makes the friction force integrable with a potential energy + +where , , and + +so that . Here is a constant multiple of the time step size for most linear (multi-)step time integration methods including implicit Euler and higher-order backward difference formulas, etc. +Then, taking the gradient of Equation (9.2.1) w.r.t. we obtain + +which is a semi-implicit discretization of our mollified friction force with explicit terms and . +The Hessian of can be calculated as +

+
+

+Remark 9.2.1. +In the friction gradient and Hessian expression (Equation (9.2.3) and Equation (9.2.4)), there are in the denominators, which could be when there is no relative sliding motion at a contact point. +To avoid division by during the computation, for friction gradient, we can derive + +which is well-defined everywhere, and so we obtain + +For friction Hessian, we can derive + +which is also well-defined everywhere, and since when , we know that +

+
+
+

+Remark 9.2.2. +The friction formulation in this lecture is introduced slightly differently from the original IPC [Li et al. 2020] in 2 places:

+
    +
  1. We directly use the relative sliding velocity rather than the relative sliding displacement in IPC as the input to the mollifier , and so our differs from that in the IPC on in the denominators. When time integration rules other than implicit Euler is applied (so ), calling the relative sliding displacement is inappropriate and may cause confusions.
  2. +
  3. We did not introduce a tangent basis to express relative sliding velocity in the tangent space, because this is not necessary in computing the friction energy, gradient, and Hessian.
  4. +
+
+
+

Fixed-Point Iteration

+

To obtain the solution with fully implicit friction, we can iteratively alternate between the nonlinear optimization with fixed , and given as + +and friction update until convergence (Algorithm 9.3.1).

+
+
+
+Algorithm 9.3.1 (Fixed-Point Iteration for Fully-Implicit Friction).
+ +
+
+

If we denote +\begin{equation} +\begin{aligned} +& f_m({ \lambda, T }) = \text{arg}\min_x E(x, { \lambda, T}) \ +& f_u(x) = \text{FrictionUpdate}(x), +\end{aligned} +\end{equation} +then Algorithm 9.3.1 is essentially a fixed-point iteration that finds the fixed-point of function +\begin{equation} +(f_m \cdot f_u) (x) \equiv f_m( f_u (x)). +\end{equation}

+
+

+Definition 9.3.1. + is a fixed point of function if and only if +\begin{equation} +x = f(x). +\end{equation} +The fixed-point iterations find the fixed-point of a function starting from by iteratively updating the estimate +\begin{equation} +x^{i+1} \leftarrow f(x^i) +\end{equation} +until convergence.

+
+

Since the convergence of fixed-point iterations could only be achieved given an initial guess sufficiently close to the final solution, the convergence of Algorithm 9.3.1 analogously requires small time step sizes. However, note that each minimization with fixed (Algorithm 9.3.1 line 4) is still guaranteed to converge with arbitrarily large time step sizes.

+
+

+Remark 9.3.1. +In practice, semi-implicit friction with frame-rate time step sizes can already produce results with high visual quality. For higher accuracy, running 2 to 3 fixed-point iterations for friction is generally sufficient.

+
+
+

Summary

+

We introduced the Coulomb friction model, which non-smoothly penalizes shearing motion at contact points through static and dynamic friction forces in the tangent space.

+

To integrate friction into the optimization time integrator, we first smoothly approximate the dynamic-static transition. This allows friction forces to be uniquely determined using only the nodal velocity degrees of freedom.

+

We then apply a semi-implicit discretization that fixes the normal force magnitude and the tangent operator at the previous time step, enhancing the integrability of friction.

+

To achieve a solution with fully-implicit friction, fixed-point iterations are performed. These iterations alternate between semi-implicit time integration and updates for and .

+

In the next lecture, we will explore a case study involving a square on a slope with varying friction coefficients.

+
+

Case Study: Square On Slope*

+

In this section, based on our learnings from Frictional Contact, we implement frictional contact for a slope within the optimization time integration framework. We start by extending the contact model used for horizontal grounds in the Square Drop case study to accommodate slopes with arbitrary orientations and locations.

+

Following this extension, we implement friction for the slope, tested by simulating an elastic square dropped onto it. Depending on the friction coefficient , the square either stops at various points on the slope or continues to slide.

+

The excutable Python project for this section can be found at https://github.com/phys-sim-book/solid-sim-tutorial under the 4_friction folder.

+
+

From Ground to Slope

+

The implementation in the Square Drop case study for horizontal grounds results in a simplified distance and distance gradient (Equation (8.3.1)) compared to that of a general half-space (Equation (7.1.1)): + +This is all we need for implementing the slope. Defining a normal direction and a point lying on the slope

+

+Implementation 10.1.1 (Slope setup, simulator.py).

+
ground_n = np.array([0.1, 1.0])     # normal of the slope
+ground_n /= np.linalg.norm(ground_n)    # normalize ground normal vector just in case
+ground_o = np.array([0.0, -1.0])    # a point on the slope  
+
+

and passing them to the time integrator and barrier energy, we can modify the barrier energy value, gradient, and Hessian computation for the slope as

+

+Implementation 10.1.2 (Slope contact barrier, BarrierEnergy.py).

+
import math
+import numpy as np
+
+dhat = 0.01
+kappa = 1e5
+
+def val(x, n, o, contact_area):
+    sum = 0.0
+    for i in range(0, len(x)):
+        d = n.dot(x[i] - o)
+        if d < dhat:
+            s = d / dhat
+            sum += contact_area[i] * dhat * kappa / 2 * (s - 1) * math.log(s)
+    return sum
+
+def grad(x, n, o, contact_area):
+    g = np.array([[0.0, 0.0]] * len(x))
+    for i in range(0, len(x)):
+        d = n.dot(x[i] - o)
+        if d < dhat:
+            s = d / dhat
+            g[i] = contact_area[i] * dhat * (kappa / 2 * (math.log(s) / dhat + (s - 1) / d)) * n
+    return g
+
+def hess(x, n, o, contact_area):
+    IJV = [[0] * 0, [0] * 0, np.array([0.0] * 0)]
+    for i in range(0, len(x)):
+        d = n.dot(x[i] - o)
+        if d < dhat:
+            local_hess = contact_area[i] * dhat * kappa / (2 * d * d * dhat) * (d + dhat) * np.outer(n, n)
+            for c in range(0, 2):
+                for r in range(0, 2):
+                    IJV[0].append(i * 2 + r)
+                    IJV[1].append(i * 2 + c)
+                    IJV[2] = np.append(IJV[2], local_hess[r, c])
+    return IJV
+
+

Then for the continuous collision detection, we similarly modify the implementation to compute the large feasible initial step size for line search using and :

+

+Implementation 10.1.3 (Slope CCD, BarrierEnergy.py).

+
def init_step_size(x, n, o, p):
+    alpha = 1
+    for i in range(0, len(x)):
+        p_n = p[i].dot(n)
+        if p_n < 0:
+            alpha = min(alpha, 0.9 * n.dot(x[i] - o) / -p_n)
+    return alpha
+
+

Here the search direction of each node is projected onto the normal direction to divide the current distance when computing the smallest step size that first brings the distance to .

+

Finally, drawing the slope as a line from to where pointing to the inclined direction,

+

+Implementation 10.1.4 (Slope visualization, simulator.py).

+
    pygame.draw.aaline(screen, (0, 0, 255), screen_projection([ground_o[0] - 3.0 * ground_n[1], ground_o[1] + 3.0 * ground_n[0]]), 
+        screen_projection([ground_o[0] + 3.0 * ground_n[1], ground_o[1] - 3.0 * ground_n[0]]))   # slope
+
+

we can now simulate an elastic square dropped on a slope without friction (Figure 10.1.1).

+
+
+ +
+
+Figure 10.1.1. An elastic square dropped onto a frictionless slope, bouncing as it slides down.
+
+
+

Slope Friction

+

Now to implement friction for the slope, we start by implementing the functions that calculate , , and according to Equation (9.2.2), Equation (9.2.5), and Equation (9.2.6) respectively.

+

+Implementation 10.2.1 (Friction helper functions, FrictionEnergy.py).

+
import numpy as np
+import utils
+
+epsv = 1e-3
+
+def f0(vbarnorm, epsv, hhat):
+    if vbarnorm >= epsv:
+        return vbarnorm * hhat
+    else:
+        vbarnormhhat = vbarnorm * hhat
+        epsvhhat = epsv * hhat
+        return vbarnormhhat * vbarnormhhat * (-vbarnormhhat / 3.0 + epsvhhat) / (epsvhhat * epsvhhat) + epsvhhat / 3.0
+
+def f1_div_vbarnorm(vbarnorm, epsv):
+    if vbarnorm >= epsv:
+        return 1.0 / vbarnorm
+    else:
+        return (-vbarnorm + 2.0 * epsv) / (epsv * epsv)
+
+def f_hess_term(vbarnorm, epsv):
+    if vbarnorm >= epsv:
+        return -1.0 / (vbarnorm * vbarnorm)
+    else:
+        return -1.0 / (epsv * epsv)
+
+

With these terms available, we can then implement the semi-implicit friction energy value, gradient, and Hessian computations according to Equation (9.2.1), Equation (9.2.3), and Equation (9.2.4) respectively.

+

+Implementation 10.2.2 (Friction value, gradient, and Hessian, FrictionEnergy.py).

+
def val(v, mu_lambda, hhat, n):
+    sum = 0.0
+    T = np.identity(2) - np.outer(n, n) # tangent of slope is constant
+    for i in range(0, len(v)):
+        if mu_lambda[i] > 0:
+            vbar = np.transpose(T).dot(v[i])
+            sum += mu_lambda[i] * f0(np.linalg.norm(vbar), epsv, hhat)
+    return sum
+
+def grad(v, mu_lambda, hhat, n):
+    g = np.array([[0.0, 0.0]] * len(v))
+    T = np.identity(2) - np.outer(n, n) # tangent of slope is constant
+    for i in range(0, len(v)):
+        if mu_lambda[i] > 0:
+            vbar = np.transpose(T).dot(v[i])
+            g[i] = mu_lambda[i] * f1_div_vbarnorm(np.linalg.norm(vbar), epsv) * T.dot(vbar)
+    return g
+
+def hess(v, mu_lambda, hhat, n):
+    IJV = [[0] * 0, [0] * 0, np.array([0.0] * 0)]
+    T = np.identity(2) - np.outer(n, n) # tangent of slope is constant
+    for i in range(0, len(v)):
+        if mu_lambda[i] > 0:
+            vbar = np.transpose(T).dot(v[i])
+            vbarnorm = np.linalg.norm(vbar)
+            inner_term = f1_div_vbarnorm(vbarnorm, epsv) * np.identity(2)
+            if vbarnorm != 0:
+                inner_term += f_hess_term(vbarnorm, epsv) / vbarnorm * np.outer(vbar, vbar)
+            local_hess = mu_lambda[i] * T.dot(utils.make_PSD(inner_term)).dot(np.transpose(T)) / hhat
+            for c in range(0, 2):
+                for r in range(0, 2):
+                    IJV[0].append(i * 2 + r)
+                    IJV[1].append(i * 2 + c)
+                    IJV[2] = np.append(IJV[2], local_hess[r, c])
+    return IJV
+
+

Note that in Numpy, matrix-matrix and matrix-vector products are realized by the dot() function. +For implicit Euler, and so . +Here mu_lambda stores for each node, where the normal force magnitude is calculated using at the beginning of each time step.

+

+Implementation 10.2.3 (Use mu and lambda, time_integrator.py).

+
def step_forward(x, e, v, m, l2, k, n, o, contact_area, mu, is_DBC, h, tol):
+    x_tilde = x + v * h     # implicit Euler predictive position
+    x_n = copy.deepcopy(x)
+    mu_lambda = BarrierEnergy.compute_mu_lambda(x, n, o, contact_area, mu)  # compute mu * lambda for each node using x^n
+
+    # Newton loop
+
+

+Implementation 10.2.4 (Compute mu and lambda, BarrierEnergy.py).

+
def compute_mu_lambda(x, n, o, contact_area, mu):
+    mu_lambda = np.array([0.0] * len(x))
+    for i in range(0, len(x)):
+        d = n.dot(x[i] - o)
+        if d < dhat:
+            s = d / dhat
+            mu_lambda[i] = mu * -contact_area[i] * dhat * (kappa / 2 * (math.log(s) / dhat + (s - 1) / d))
+    return mu_lambda
+
+

Since the slope is static, and the normal direction is the same everywhere, is constant and so can be discretized accurately.

+

Finally, we set friction coefficient and pass it to the time integrator where we add friction energy to model semi-implicit friction on the slope.

+
mu = 0.11        # friction coefficient of the slope
+
+

Now we are ready to test the simulation with different friction coefficients. Since our slope has an inclined angle with , we test , , and (Figure 10.2.1). Here we see that when , the critical value that provides dynamic friction forces in the same magnitude with that of the gravity component on the slope, the square keeps sliding after gaining the initial momentum (Figure 10.2.1 top). When we set , right above the critical value, the square slides a while and then stopped, showing that static friction is properly resolved (Figure 10.2.1 middle). With , the square stops even earlier (Figure 10.2.1 bottom).

+
+
+ +
+
+Figure 10.2.1. With friction coefficient (top), (middle), and (bottom), we simulate an elastic square dropped onto a slope. Except the top one that the square keeps sliding, the lower two with larger both end up with a static equilibrium.
+
+

Summary

+

In this case study, we implemented semi-implicit friction between simulated objects and a slope, accommodating arbitrary orientations and positions. Within the optimization time integration framework of IPC, friction is also modeled using potential energy. The key difference is that the normal force magnitude and tangent operator are precomputed at the start of each time step for semi-implicit discretization.

+

In the next lecture, we will introduce moving boundary conditions. This will involve obstacles or boundary nodes moving in a prescribed manner, actively injecting dynamics into the scene.

+
+

Moving Boundary Conditions*

+

Kinematic Collision Objects (CO) and Moving Dirichlet Boundary Conditions (BC) are crucial in many simulation scenarios. A CO can be considered as a collection of BC nodes.

+

At the start of a time step, it is ideal if the BC nodes can be moved directly to their prescribed locations without causing any interpenetrations. This allows the simulation to proceed smoothly using the Degree of Freedom (DOF) elimination method, which ensures the constraints remain feasible.

+

However, with large time steps, high velocities, or significant deformations, directly prescribing BC nodes often leads to interpenetration or "tunneling" artifacts, where objects pass through each other unrealistically.

+

To address these challenges, the penalty method is applied. This method progressively adjusts the simulation towards a feasible set where both CO and BC constraints are satisfied, and interpenetrations are avoided.

+

A case study demonstrating these principles will be shown through the simulation of a compressed square.

+
+

Penalty Method

+

At the beginning of each time step towards time , we evaluate nodal position for each BC node based on their prescribed motions. During each Newton iteration , for the iterate , we define a velocity residual to assess how close each BC node is to meeting its target: + +When falls below a specific tolerance for any BC node , we can fix the node at its current location and apply the DOF elimination method in the subsequent iterations. This is particularly straightforward in scenes with only static BCs, where the DOF elimination method is directly applied.

+

For other BC nodes that are far from their target locations, we introduce new penalty terms to the Incremental Potential for each of these nodes: + +Here, represents the nodal mass, allowing for intuitive setting of the penalty stiffness , as the Hessian of the penalty term with respect to BC nodes is simply times that of the inertia term.

+
+

+Remark 11.1.1. +For collision obstacles (CO), precisely calculating node masses is challenging due to unknown factors like density. A practical approach is to assume a density similar to that of the simulated solids in the scene. This assumption makes the diagonal entries on the Hessian of the penalty terms roughly times that of the inertia term.

+

For codimensional COs such as shells, rods, and particles, the key is to consider a reasonably large thickness when calculating their volumes. This helps in ensuring that their physical properties align more closely with those of the main simulation bodies.

+
+

Setting the penalty stiffness appropriately can be challenging. If is set too low, it may not effectively move the BC node towards its target. Conversely, a too high can lead to numerical issues. Thus, we initially set to a reasonably large value and adaptively increase it as necessary.

+

During the Newton solve, if there are BC nodes where at the point of Newton convergence, we double the penalty stiffness to its current value and continue the Newton solve. This process is repeated until all BCs are satisfactorily met at convergence.

+
+

+Remark 11.1.2. +In practice, with double precision floating-point numbers, initializing below is typically sufficient, given that the Hessian of the stiff penalty terms is purely diagonal. However, if certain BCs remain unsatisfied even when is increased to above , the optimization process may stall due to severe numerical errors. This stalling occurs because extremely stiff penalty terms are in conflict with the contact barriers. However, such a scenario would likely only occur under a rare CO/BC setting in a manner far more extreme than what is tested in Figure 2.3.1.

+
+
+

Case Study: Compressing Square

+

We simulate compressing an elastic square using a ceiling. +The excutable Python project for this section can be found at https://github.com/phys-sim-book/solid-sim-tutorial under the 5_mov_dirichlet folder.

+

The ceiling in our simulation is modeled as a half-space with a downward normal vector . The distance from the ceiling to other simulated Degrees of Freedom (DOFs) can be calculated using Equation (7.1.1). To effectively apply the penalty method, it's necessary that the ceiling's height also serves as a DOF.

+

Following the approach used in the Square on Slope project, we choose the origin on the ceiling as the DOF and incorporate it into the variable :

+

+Implementation 11.2.1 (Ceiling DOF setup, simulator.py).

+
[x, e] = square_mesh.generate(side_len, n_seg)      # node positions and edge node indices
+x = np.append(x, [[0.0, side_len * 0.6]], axis=0)   # ceil origin (with normal [0.0, -1.0])
+
+

The ceiling is initially positioned directly above the elastic square, as shown in the left image of Figure 11.2.1. By doing so, we ensure that the nodal mass of this newly added DOF is consistent with the other simulated nodes on the square, as per our implementation.

+

With this additional DOF, we can straightforwardly model the contact between the ceiling and the square. This is done by enhancing the existing functions that compute the barrier energy value, gradient, Hessian, and the initial step size:

+

+Implementation 11.2.2 (Barrier energy value, BarrierEnergy.py).

+
    n = np.array([0.0, -1.0])
+    for i in range(0, len(x) - 1):
+        d = n.dot(x[i] - x[-1])
+        if d < dhat:
+            s = d / dhat
+            sum += contact_area[i] * dhat * kappa / 2 * (s - 1) * math.log(s)
+
+

+Implementation 11.2.3 (Barrier energy gradient, BarrierEnergy.py).

+
    n = np.array([0.0, -1.0])
+    for i in range(0, len(x) - 1):
+        d = n.dot(x[i] - x[-1])
+        if d < dhat:
+            s = d / dhat
+            local_grad = contact_area[i] * dhat * (kappa / 2 * (math.log(s) / dhat + (s - 1) / d)) * n
+            g[i] += local_grad
+            g[-1] -= local_grad
+
+

+Implementation 11.2.4 (Barrier energy Hessian, BarrierEnergy.py).

+
    n = np.array([0.0, -1.0])
+    for i in range(0, len(x) - 1):
+        d = n.dot(x[i] - x[-1])
+        if d < dhat:
+            local_hess = contact_area[i] * dhat * kappa / (2 * d * d * dhat) * (d + dhat) * np.outer(n, n)
+            index = [i, len(x) - 1]
+            for nI in range(0, 2):
+                for nJ in range(0, 2):
+                    for c in range(0, 2):
+                        for r in range(0, 2):
+                            IJV[0].append(index[nI] * 2 + r)
+                            IJV[1].append(index[nJ] * 2 + c)
+                            IJV[2] = np.append(IJV[2], ((-1) ** (nI != nJ)) * local_hess[r, c])
+
+

+Implementation 11.2.5 (Initial step size calculation, BarrierEnergy.py).

+
    n = np.array([0.0, -1.0])
+    for i in range(0, len(x) - 1):
+        p_n = (p[i] - p[-1]).dot(n)
+        if p_n < 0:
+            alpha = min(alpha, 0.9 * n.dot(x[i] - x[-1]) / -p_n)
+
+

Here for the distance between the ceiling and a node , we have the stacked quantities locally: +

+

Now we apply the moving BC on the ceiling to compress the elastic square. We set the ceiling's DOF, identified by the node index (n_seg+1)*(n_seg+1), as the sole Dirichlet Boundary Condition (DBC) in this scene. We assign it a downward velocity of . The movement is stopped when the ceiling reaches a height of :

+

+Implementation 11.2.6 (DBC setup, simulator.py).

+
DBC = [(n_seg + 1) * (n_seg + 1)]       # dirichlet node index
+DBC_v = [np.array([0.0, -0.5])]         # dirichlet node velocity
+DBC_limit = [np.array([0.0, -0.6])]     # dirichlet node limit position
+
+

Then we implement the penalty term according to Equation (11.1.1), which is essentially a quadratic spring energy for controlling the motion of the ceiling:

+

+Implementation 11.2.7 (Spring energy computation, SpringEnergy.py).

+
import numpy as np
+
+def val(x, m, DBC, DBC_target, k):
+    sum = 0.0
+    for i in range(0, len(DBC)):
+        diff = x[DBC[i]] - DBC_target[i]
+        sum += 0.5 * k * m[DBC[i]] * diff.dot(diff)
+    return sum
+
+def grad(x, m, DBC, DBC_target, k):
+    g = np.array([[0.0, 0.0]] * len(x))
+    for i in range(0, len(DBC)):
+        g[DBC[i]] = k * m[DBC[i]] * (x[DBC[i]] - DBC_target[i])
+    return g
+
+def hess(x, m, DBC, DBC_target, k):
+    IJV = [[0] * 0, [0] * 0, np.array([0.0] * 0)]
+    for i in range(0, len(DBC)):
+        for d in range(0, 2):
+            IJV[0].append(DBC[i] * 2 + d)
+            IJV[1].append(DBC[i] * 2 + d)
+            IJV[2] = np.append(IJV[2], k * m[DBC[i]])
+    return IJV
+
+

Next, we focus on optimizing with the spring energies while properly handling the convergence check and penalty stiffness adjustments. At the start of each time step, the target position for each DBC node is computed, and the penalty stiffness, , is initialized to . If certain nodes reach their preset limit, we then set the target as their current position:

+

+Implementation 11.2.8 (DBC initialization, time_integrator.py).

+
    DBC_target = [] # target position of each DBC in the current time step
+    for i in range(0, len(DBC)):
+        if (DBC_limit[i] - x_n[DBC[i]]).dot(DBC_v[i]) > 0:
+            DBC_target.append(x_n[DBC[i]] + h * DBC_v[i])
+        else:
+            DBC_target.append(x_n[DBC[i]])
+    DBC_stiff = 10  # initialize stiffness for DBC springs
+
+

Entering the Newton loop, in each iteration, just before computing the search direction, we assess how many DBC nodes are close enough to their target positions. We store these results in the variable DBC_satisfied:

+

+Implementation 11.2.9 (DBC satisfaction check, time_integrator.py).

+
    # check whether each DBC is satisfied
+    DBC_satisfied = [False] * len(x)
+    for i in range(0, len(DBC)):
+        if LA.norm(x[DBC[i]] - DBC_target[i]) / h < tol:
+            DBC_satisfied[DBC[i]] = True
+
+

Then we only eliminate the DOFs of those DBC nodes that already satisfy the boundary condition:

+

+Implementation 11.2.10 (DOF elimination, time_integrator.py).

+
    # eliminate DOF if it's a satisfied DBC by modifying gradient and Hessian for DBC:
+    for i, j in zip(*projected_hess.nonzero()):
+        if (is_DBC[int(i / 2)] & DBC_satisfied[int(i / 2)]) | (is_DBC[int(j / 2)] & DBC_satisfied[int(i / 2)]): 
+            projected_hess[i, j] = (i == j)
+    for i in range(0, len(x)):
+        if is_DBC[i] & DBC_satisfied[i]:
+            reshaped_grad[i * 2] = reshaped_grad[i * 2 + 1] = 0.0
+    return [spsolve(projected_hess, -reshaped_grad).reshape(len(x), 2), DBC_satisfied]
+
+

The BC satisfaction information stored in DBC_satisfied is also used to check convergence and update when needed:

+

+Implementation 11.2.11 (Convergence criteria, time_integrator.py).

+
    [p, DBC_satisfied] = search_dir(x, e, x_tilde, m, l2, k, n, o, contact_area, (x - x_n) / h, mu_lambda, is_DBC, DBC, DBC_target, DBC_stiff, tol, h)
+    while (LA.norm(p, inf) / h > tol) | (sum(DBC_satisfied) != len(DBC)):   # also check whether all DBCs are satisfied
+        print('Iteration', iter, ':')
+        print('residual =', LA.norm(p, inf) / h)
+
+        if (LA.norm(p, inf) / h <= tol) & (sum(DBC_satisfied) != len(DBC)):
+            # increase DBC stiffness and recompute energy value record
+            DBC_stiff *= 2
+            E_last = IP_val(x, e, x_tilde, m, l2, k, n, o, contact_area, (x - x_n) / h, mu_lambda, DBC, DBC_target, DBC_stiff, h)
+
+

Now, we proceed to run the simulation, which involves severely compressing the dropped elastic square as depicted in (Figure 11.2.1). From the final static frame, we observe that the elastic springs on the edges are inverted due to extreme compression. This artifact is typical in mass-spring models of elasticity. In future chapters, we will explore how applying finite-element discretization to barrier-type elasticity models, such as the Neo-Hookean model, can prevent such issues. That approach is akin to the enforcement of non-interpenetrations in our current simulations.

+
+
+ +
+
+Figure 11.2.1. A square is dropped onto the ground and compressed by a ceiling until inverted.
+
+

Summary

+

We introduced the penalty method for handling moving boundary conditions while preventing interpenetrations. The key strategies involved are:

+
    +
  • Augmenting the Incremental Potential with additional spring energies on the DBC nodes;
  • +
  • Adaptively increasing the penalty stiffness as required;
  • +
  • Eliminating DOFs for those BC nodes that are sufficiently close to their targets; and
  • +
  • Ensuring all BCs are satisfied at the point of convergence.
  • +
+

To address the inversion artifact observed in our case study of compressing mass-spring elastic squares, the application of barrier-type elasticity energies is essential. Our penalty method for moving BCs plays a crucial role when these energies are applied, as directly prescribing BC nodes can still lead to inversion. In the next chapter, we will explore hyperelasticity models, which are preferred over mass-spring systems in practical applications.

+
+

Kinematics Theory

+

In previous case studies, we've relied on the mass-spring model to simulate the elastic behaviors of solids. This model approximates 2D and 3D elasticity by connecting multiple springs in various directions, each responding only to stretch and compression. However, this simple approximation often fails to capture the complexities of real-world phenomena. Starting with this lecture, we will delve into the mathematical description of deformation and introduce a more rigorous approach to modeling elasticity for continuum bodies.

+

When discussing continuum bodies or continuum mechanics, we operate under the continuum assumption. This perspective treats materials—whether solid, liquid, or gas—as continuous entities, avoiding the need to account for microscopic interactions between molecules and atoms. This assumption is not only practical in engineering and graphics applications but is also prevalent in everyday scenarios.

+

In graphics simulations, the continuum assumption applies to a wide range of materials, including deformable objects (both elastic and plastic), muscle, flesh, cloth, hair, liquids, smoke, gas, and granular materials like sand, snow, mud, and soil. In continuum mechanics, properties such as density, velocity, and force are defined as continuous functions of position. We have explored their discrete counterparts in the Discrete Space and Time section.

+

Equations of motion, based on Newton's 2nd law, are solved within the spatial domain and evolved over time to simulate the dynamic behaviors of these materials.

+
+

Continuum Motion

+

Kinematics is the study of motion within continuum materials, focusing primarily on the changes in shape or deformation that occur, whether locally or globally, across different coordinate systems. The aim is to describe motion both qualitatively and quantitatively, which is crucial for deriving the governing equations of dynamics and mechanical responses. Notably, kinematics can often be described without the need to introduce concepts like force, stress, or even mass.

+

In continuum mechanics, deformation is typically represented through three key components:

+
    +
  • Material (or undeformed) space : This represents the initial position of any point in the material.
  • +
  • World (or deformed) space : This indicates the current position of any point.
  • +
  • Deformation map : This function maps points from the material space to the world space, showing how the position of material points changes over time.
  • +
+

At the initial time , the material space and the world space coincide, meaning every point starts at its undeformed position.

+
+

+Definition 12.1.1 (Deformation/Flow Map). +The motion of material in continuum mechanics is determined by a mapping , where and or represents the dimension of the simulated problem (or domain). This mapping, often referred to as the flow map or the deformation map, is crucial in understanding how material points move over time.

+
    +
  • Material Points : Points in the set are known as material points and are designated as .
  • +
  • Current Locations : Points in represent the location of material points at time , and are referred to as . +The deformation map describes the trajectory of each material point throughout time, expressed as: +
  • +
+
+
+

+Example 12.1.1. +If our object is moving with a constant speed along direction , then we have + +If an object undergoes some rigid motion after time (compared to time ), we will have + +where is a rotation matrix, and is some translation. and will likely be functions of time and the initial position , depending on the actual motion.

+
+

The mapping can be used to quantify relevant continuum-based physics. For example, the velocity of a given material point at time is + +and the acceleration is + +That is, and .

+
+

+Remark 12.1.1. +In the above, the velocity and acceleration are defined from the Lagrangian perspective. This means that both velocity and acceleration are functions of the material configuration and time , focusing on specific particles within the material. Physically, this implies that these measurements pertain to particles that have their own mass and have occupied some volume from the beginning of the simulation. The Lagrangian view is particularly valuable for tracking individual particle dynamics over time, offering detailed insights into how particles move, accelerate, and interact within the material under various conditions.

+
+
+

Deformation

+

We have and as material coordinates and world coordinates, respectively, each associated with domains and . For any point within , the mapping function transports it to at a specific time , represented as .

+
+

+Definition 12.2.1 (Deformation Gradient). +The Jacobian of the deformation map is referred to as the deformation gradient and is crucial in describing the physics of elasticity. It is commonly denoted as and defined by the relation: + +Discretely, this Jacobian often takes the form of a small or matrix. For materials like cloth or thin shells in 3D, might be a matrix, reflecting the 2D nature of the material space. Thus, maps every material point to a matrix that describes the deformation Jacobian at time . Using index notation, it can be expressed as: +

+
+

We can compute the deformation gradient for the deformation map specified in Equation (12.1.1), where the result is the identity matrix. Similarly, for the deformation map in Equation (12.1.2), the deformation gradient equals . In both cases, the object does not undergo real deformation; these are merely examples of rigid transformations. Such deformation gradients should not lead to any internal forces within the material unless artistic effects are intentionally being pursued (such as in a cartoon).

+
+
+ +
+Figure 12.2.1 (Deformation gradient).
+
+
+
+

+Example 12.2.1. +Intuitively, the deformation gradient indicates the extent of local deformation within a material. Consider two nearby points, and , embedded in the material at the start of the simulation (as illustrated in Figure 12.2.1). If and represent these points in the current configuration, the relationship between these points can be expressed as: + +This equation shows how the deformation gradient transforms the initial distance between the points into their current separation, thus quantifying the local deformation.

+
+

The determinant of the deformation gradient , commonly denoted by , is crucial because it characterizes the infinitesimal volume change during deformation. This is expressed as . The value of represents the ratio of the infinitesimal volume of the material in the deformed configuration to its original volume in . For instance, in rigid motions, which include rotations and translations, is a rotation matrix and therefore . Notably, the identity matrix, being a rotation matrix, also results in .

+

If , it indicates a volume increase, whereas indicates a decrease. A situation where suggests that the volume has effectively become zero, a scenario that is impossible in the real world but can occur numerically. In 3D, this indicates that the material is compressed to such an extent that it might collapse into a plane, line, or even a point without volume. Conversely, indicates material inversion. For example, in 2D, if for a triangle, it implies that one vertex has passed through the opposing edge, effectively 'inverting' the triangle and making its area negative. As seen in the Moving Boundary Conditions section, severe compression of an elastic square can lead to inversions. In such cases, serves as a direct measure of this artifact and is utilized in many elasticity models to ensure simulations are free from inversions.

+
+

Summary

+

Defining the flow map which transforms continuum bodies from the material space (initial configuration) to the world space (current configuration), we introduced a mathematical description of the change in shapes -- the deformation gradient ( or ), which is the Jacobian of the flow map with respect to .

+

When at a certain point on the continuum body is a rotation matrix, it indicates there is no deformation and, consequently, no local elasticity forces should be present. In the next lecture, we will explore how to define more realistic elastic potential energies using the deformation gradient.

+
+

Strain Energy

+

With the deformation gradient serving as a rigorous mathematical measure of local deformation, we can define the elastic potential energy based on to more accurately capture the elastic behaviors of solids. is measured at every local point within the solid domain. We would measure the elastic potential locally for each point and then integrate these measurements across the entire domain. This approach mirrors the process used in the 2D Mass Spring case study, where the energy of each spring, weighted by an estimated volume, was summed up in a discrete setting. Here, is also known as strain, and the elastic potential , referred to as strain energy, is derived from integrating strain energy density functions at each material point within the solid domain: + +In this lecture, we will explore various design choices of and examine some of their properties.

+
+

Rigid Null Space and Rotation Invariance

+

As mentioned in the previous lecture, for a solid undergoing only translational and/or rotational motions, no elastic potential energy is stored, and thus no elasticity force is exerted. This implies that any strain energy density functions have a rigid null space, meaning that should remain if the input deformation gradient is any rotation matrix : + +A square matrix is a rotation matrix if and only if: + +From this definition, a straightforward formulation for emerges, penalizing any deviation of from being a rotation matrix with quadratic terms: + +Here, and are the stiffness parameters, with the first term derived from right-multiplying to both sides of . This intuitive formulation closely aligns with how many standard strain energy density functions are constructed.

+
+

+Definition 13.1.1 (Neo-Hookean Elasticity). +The Neo-Hookean elasticity model is characterized by the following energy density function: + +Taking the derivative of with respect to , we obtain: + +From this gradient, it is evident that the -term achieves a local minimum when (i.e., ), and for the -term, the local minimum occurs at .

+
+
+

+Definition 13.1.2 (Lame Parameters). +In standard strain energy density functions, the stiffness parameters and are known as Lame parameters. These parameters are directly related to the Young's modulus , which measures resistance to stretching, and the Poisson's ratio , which measures the incompressibility of the solid: +

+
+
+

+Definition 13.1.3 (Rotation Invariance). +The energy density function for any nonlinear elastic model is rotation invariant. Mathematically, this is expressed as: + +Intuitively, this means that any rotations applied after deformation should not alter the value of the strain energy density function.

+
+

However, the simplest strain energy density function, linear elasticity, does not include rigid modes in its null space nor does it satisfy Equation (13.1.3). This is because linear elasticity is specifically designed for infinitesimal strains, where no significant rotations are involved.

+
+

+Definition 13.1.4 (Linear Elasticity). +Linear elasticity has the energy density function + +Here is the small strain tensor, and we see that is a quadratic function of .

+
+

Notably, the linear elasticity model with the corresponding Lame parameters is calibrated to real-world experiments under conditions of small deformations. In such circumstances, all standard strain energy density functions must align with linear elasticity. The consistency between these models and linear elasticity will be concisely demonstrated after we introduce the polar singular value decomposition of in the next section.

+

Rotation invariance (Equation (13.1.3)) should not be confused with the isotropic property of certain elastic models.

+
+

+Definition 13.1.5 (Isotropic Elasticity). +The energy density function of isotropic elastic models satisfies + +This implies that the same amount of stretch in any direction results in the same energy change. Consequently, there are no special directions in which the material is harder or easier to deform than others.

+
+

Neo-Hookean (Equation (13.1.2)) and our intuitive model (Equation (13.1.1)) are both examples of isotropic models. However, linear elasticity (Equation (13.1.4)) does not meet this condition (Equation (13.1.5)), as it is not designed to handle rotational motions effectively.

+

For anisotropic elastic models, the resistance to stretch varies depending on the direction. Materials such as cloth, bones, muscles and wood are examples of anisotropic materials, exhibiting different mechanical properties in different directions.

+
+

Polar Singular Value Decomposition

+

When discussing general slip boundary conditions, we introduced the usage of singular value decomposition (SVD). Here, we apply a variant known as Polar SVD (Algorithm 13.2.1) to decompose : + +where and are both rotation matrices, and is a diagonal matrix. Unlike standard SVD, which ensures remains non-negative possibly at the expense of having or , Polar SVD maintains and , allowing to be negative if necessary.

+

Polar SVD is named for its relation to Polar decomposition, where is expressed as . This decomposition can be reconstructed via and , with representing the closest rotation to and being symmetric.

+
+
+
+Algorithm 13.2.1 (Polar SVD from Standard SVD).
+ +
+
+

The Polar SVD of offers a more intuitive way to understand deformation. If we denote , referred to as the principal stretches, we can conceptualize as comprising a sequence of transformations. Initially, there is a rotation by , followed by scaling the dimensions by along each axis, and concluding with another rotation by . This decomposition is applicable for all possible .

+

Polar SVD also allows for the more convenient expression of isotropic strain energy density functions using exclusively. For instance, our intuitive formulation in Equation (13.1.1) can be reframed as:

+

+

where . Moreover, the Neo-Hookean strain energy density function (Equation (13.1.2)) can be rewritten as:

+

+

These two models are both consistent with linear elasticity under small deformation.

+
+

+Definition 13.2.1 (Consistency to Linear Elasticity). +To verify the consistency to linear elasticity of a strain energy density function , we just need to check whether the following relations all hold: + +Here , and if , otherwise it is .

+
+
+

Simplified Models and Invertibility

+
+

+Definition 13.3.1 (Corotated Linear Elasticity). +To make linear elasticity rotation-aware while maintaining its simplicity, we can introduce a base rotation and construct an energy density function + +penalizing any deviation between and this fixed . This is called corotated linear elasticity.

+
+

remains a quadratic energy with respect to and is very useful for dynamic simulations. At the beginning of the optimization for each time step , we compute as the closest rotation to : + +As mentioned earlier, the solution is given by the Polar decomposition on , and with Polar SVD , we have . However, corotated linear elasticity is still not rotation invariant, as does not change with during the optimization. Thus, it is not suitable for large deformations.

+

For rotation invariant elastic models, practitioners in computer graphics have been simplifying them for visual computing purposes. For example, only keeping a -term while ignoring the -term in the energy density function for more efficient computations: + +Here is called the As-Rigid-As-Possible (ARAP) energy, which is widely used in shape modeling, cloth simulation, and surface parameterization, etc. , while being a higher-order polynomial of compared to ARAP, can be computed without performing the expensive SVDs on .

+

For all the strain energy density functions we have looked at in this lecture, except Neo-Hookean, all others are defined on the whole domain . Neo-Hookean energy density function is defined on . Just like the barrier energy to prevent interpenetrations in IPC, is also a barrier energy, which goes to infinity as approaches , providing arbitrarily large elastic forces to prevent inversion ().

+

Strain energy density functions allowing are also called invertible elasticity models. They are easy to deal with (no need for line search filtering), but do not guarantee non-inversion. Designing an invertible elastic energy that provides reasonably large resistance to inversion has drawn a lot of attention in computer graphics research [Stomakhin et al. 2012] [Smith et al. 2018].

+
+

Summary

+

The elastic potential energy is an integration of the strain energy density function at every local point in the solid domain. From the rigid null space, we derived an intuitive formulation of the strain energy density function, similar in structure to standard models like Neo-Hookean. Nonlinear elastic models are also rotation invariant, meaning any rotations applied after the deformation do not change .

+

Linear elasticity features a quadratic energy density function and is specifically designed for infinitesimal strains , lacking rigid modes in its null space. Yet, with the corresponding Lame Parameters and , it can accurately capture behaviors of small deformations observed in the real world. Standard elasticity models are required to be consistent with linear elasticity under small deformations.

+

This lecture focused on isotropic elasticity, where no special directions exist that make the material harder or easier to deform. Performing Polar SVD on allows us to rewrite of isotropic models using only principal stretches .

+

Using the closest rotation to in the last time step, we constructed a corotated linear elasticity to make linear elasticity rotation-aware while maintaining its simplicity. Simplifying further by retaining only the -term enhances efficiency for visual computing.

+

Similar to how non-interpenetrations are enforced in IPC, the energy density function of Neo-Hookean acts as a barrier function, ensuring non-inversion (). All other elasticity models introduced in this lecture are invertible, and they do not guarantee non-inversion.

+

In the next lecture, we will explore the derivatives of with respect to .

+
+

Stress and Its Derivatives

+

Having introduced standard strain energies, we now proceed to their differentiation with respect to the world space coordinates, , to simulate realistic elastic behaviors. However, it's important to first establish the explicit relationship between these coordinates and the deformation gradient . This relationship heavily depends on specific discretization choices.

+

Before we explore discretization in depth, we should understand how to compute the derivatives of the strain energy function, , with respect to . These derivatives are fundamentally linked to the concept of stress, a critical element in understanding material behavior under deformation.

+
+

Stress

+

Stress is a tensor field, akin to the deformation gradient , and is defined over the entire domain of solid materials. It quantifies the internal pressures and tensions experienced by a material object. The link between stress and strain (or ) is established through what is known as a constitutive relationship. This relationship outlines how materials respond to various deformations.

+

A common example of a constitutive relationship is Hooke's law in one dimension, which applies to many conventional materials under elastic conditions. In the context of hyperelastic materials, the relationship is specifically defined by the strain energy function, .

+
+

+Definition 14.1.1 (Hyperelastic Materials). +Hyperelastic materials are those elastic solids whose first Piola-Kirchhoff stress +can be derived from a strain energy density function via + +With index notation, this means + + is discretely a small matrix with the same dimensions as .

+
+

In the study of material behavior under stress, various definitions are utilized, with Cauchy stress being particularly prevalent in engineering contexts. Cauchy stress, denoted as , can be mathematically linked to the first Piola-Kirchhoff stress tensor through the relationship: +

+

Calculating from the strain energy function is relatively straightforward for energy models that do not require singular value decomposition (SVD), such as the Neo-Hookean model. However, general isotropic elasticity models, like ARAP (As-Rigid-As-Possible), often rely on the computation of principal stretches or the closest rotation matrix, necessitating SVD. This computation becomes particularly complex and resource-intensive when determining , which is crucial for implicit time integrations.

+

We present an efficient method that leverages the sparsity structure, as introduced by [Stomakhin et al. 2012], to compute the first Piola-Kirchhoff stress tensor and its derivative (whether as a tensor or the differential ) for general isotropic elastic materials. This approach utilizes symbolic software packages, and we will specifically discuss the implementation in Mathematica. Implementations in Maple or other software are similarly straightforward, following the same conceptual framework. For a deeper exploration of derivative computations commonly employed in computer graphics, refer to the work of [Schroeder 2022].

+

It is important to note that the computational strategy discussed can also be applied to other derivatives in diagonal space, similar to . For instance, in certain models, the Kirchhoff stress is preferred over the first Piola-Kirchhoff stress . The Kirchhoff stress is expressed as: + +where is a diagonal stress measure, with each entry being a function of the singular values . The methodology for computing mirrors that of .

+
+

Computing

+

Let's begin with the computation of . For isotropic materials, the first Piola-Kirchhoff stress tensor can be calculated as follows: + +This formulation leverages the property that shares the same SVD space as , which simplifies the derivation and computation process.

+
+

+Example 14.2.1. +For the Neo-Hookean model (Equation (13.1.2)), we have: + +Thus, we can first perform SVD on and derive: + +to compute without symbolically deriving the derivative of w.r.t. .

+
+

Here we provide the proof that commutes with rotations in diagonal space (see Equation (14.2.1)). To demonstrate that for any rotation matrix , consider a generic (potentially anisotropic) material model. The key idea is that a rotation applied after deformation does not alter the material's stored energy, thus we have the identity . Differentiating both sides of this equation with respect to the deformation gradient yields:

+

+

Furthermore, for an isotropic material where , a similar argument shows that . Combining these relationships for under rotation, we establish that: + +This formulation confirms the rotational invariance of in diagonal space.

+

Additional Proof for

+

In the above, the last equality comes from the fact that + +Here we show why this is true.

+

(1) First, we claim that is diagonal. This can be seen by realizing that for isotropic elasticity, + +where is the isotropic invariants. Following [Sifakis & Barbic 2022] (page 23), we can observe that when the argument is diagonal, must be diagonal. Therefore, is diagonal when is diagonal.

+

(2) Next, we claim that + +This is proven in [Xu et al. 2015] (Equation 7).

+

(3) Based on (2), we know that for any , after substituting , we have + +using this we can write out the cases for . For example, for , we have +

+

(4) Finally, let's derive . Since we know it is diagonal from (1), we just need to derive its diagonal entry. Let's use entry as an example: + +Now are are done with the final proof.

+
+

Computing or

+

To compute the derivative of with respect to , we leverage the rotational invariance property discussed earlier for . Consider two arbitrary rotation matrices and . From the rotational properties of , we have:

+

+

Define , then:

+

+

Taking the differential of , while treating and as constants, gives:

+

+

By setting and , where , the differential expression simplifies to:

+

+

The tensorial derivative is then expressed in index notation as:

+

+

These expressions must hold for any , leading to the relationship:

+

+

So the remaining task is computing . We show how to do it in 3D.

+

First, let's introduce Rodrigues' rotation formula, which provides a method for expressing any rotation matrix in terms of a unit vector and a rotation angle . The formula is given by: + +where is the skew-symmetric cross-product matrix associated with . This formula shows that any rotation matrix is characterized by just three degrees of freedom, denoted as . These components are used to define the rotation vector , from which and are derived as follows:

+

+

Using this parameterization, rotation matrices and can each be described by three parameters.

+

Now we have the following code for defining in terms of +, , , , , , , , , where and are defined by and with +Rodrigues' rotation formula, are the singular values from .

+
id=IdentityMatrix[3];
+var={s1,s2,s3,u1,u2,u3,v1,v2,v3};
+Sigma=DiagonalMatrix[{s1,s2,s3}];
+cp[k1_,k2_,k3_]={{0,-k3,k2},{k3,0,-k1},{-k2,k1,0}};
+vV={v1,v2,v3};
+vU={u1,u2,u3};
+nv=Sqrt[Dot[vV,vV]];
+nu=Sqrt[Dot[vU,vU]];
+UU=cp[u1,u2,u3]/nu;
+VV=cp[v1,v2,v3]/nv;
+U=id+Sin[nu]*UU+(1-Cos[nu])*UU.UU;
+V=id+Sin[nv]*VV+(1-Cos[nv])*VV.VV;
+F=U.Sigma.Transpose[V];
+
+

where cp is a function for generating the cross-product matrix (corresponding to computing + in Equation (14.3.1)).

+

From now on, we write the tensor + and any other such tensors to matrices. +That means each matrix is now a size- vector. It is easy to see the old + is now +. We further call vector being the parametrization of +. Then we can apply the chain rule +

+

Here are the Mathematica code for computing them. Note that we achieve by taking the limit , which +correspond to nearly zero rotations.

+
dFdS=D[Flatten[F],{var}];
+dFdS0=dFdS/.{u1->e,u2->e,u3->e,v1->e,v2->e,v3->e};
+dFdS1=Limit[dFdS0,e->0,Direction->-1];
+dSdF0=Inverse[dFdS1];
+Phat=DiagonalMatrix[{t1[s1,s2,s3],t2[s1,s2,s3],t3[s1,s2,s3]}];
+P=U.Phat.Transpose[V];
+dPdS=D[Flatten[P],{var}];
+dPdS0=dPdS/.{u1->e,u2->e,u3->e,v1->e,v2->e,v3->e};
+dPdS1=Limit[dPdS0,e->0,Direction->-1];
+dPdF=Simplify[dPdS1.dSdF0];
+
+

Note 'Direction->-1' in Mathematica means taking the limit from large values to the small +limit value. The Mathematica computation result will be given in terms of the singular +values and . One can then take the formula for implementing them in the code. +[Stomakhin et al. 2012] gives the result where (size matrix) is permuted to be a block diagonal matrix with diagonal blocks , where + +and + +Denominator clamping is needed for terms in that may introduce division-by-zero (after fully simplifying them). +Here we denote and as and respectively. +The division by is problematic when two singular values are nearly equal or when two singular +values nearly sum to zero. The latter is possible with a convention for permitting negative singular values (as in invertible elasticity [Irving et al. 2004] [Stomakhin et al. 2012]).

+

Expanding in terms of partial fractions yields the useful decomposition + +Note that if is invariant under permutation of the singular values, then as +. Thus, +the first term can normally be computed robustly for an isotropic model if implemented carefully. The other +fraction can be computed robustly if as +. +But this usually does not hold as it means the constitutive model will have difficulty recovering from degenerate or +inverted configurations. Thus, this term will be unbounded under some circumstances. +We address this by clamping the magnitude of the denominator to not be smaller than before division to bound the derivatives.

+

For 2D, a rotation matrix is now simply +paremetrized with a single where the reconstruction is

+

+The 2D version of the whole Mathematica code is

+
id=IdentityMatrix[2];
+var={s1,s2,u1,v1};
+S=DiagonalMatrix[{s1,s2}];
+U={{Cos[u1],-Sin[u1]
+
+},{Sin[u1],Cos[u1]}};
+V={{Cos[v1],-Sin[v1]},{Sin[v1],Cos[v1]}};
+F=U.S.Transpose[V];
+dFdS=D[Flatten[F],{var}];
+dFdS0=dFdS/.{u1->e,v1->e};
+dFdS1=Limit[dFdS0,e->0,Direction->-1};
+dSdF0=Inverse[dFdS1];
+Phat=DiagonalMatrix[{t1[s1,s2],t2[s1,s2]}];
+P=U.Phat.Transpose[V];
+dPdS=D[Flatten[P],{var}];
+dPdS0=dPdS/.{u1->e,v1->e};
+dPdS1=Limit[dPdS0,e->0,Direction->-1];
+dPdF=Simplify[dPdS1.dSdF0];
+
+

where is now also and there is only one .

+
+

Summary

+

Stress is a tensor field that quantifies the pressure or tension exerted on a material object. In the context of hyperelastic materials, the first Piola-Kirchhoff stress tensor plays a crucial role. It is defined as the derivative of the strain energy density function , with respect to the deformation gradient , establishing a constitutive relationship between stress and strain.

+

In practical computations, particularly for the implicit integration of solid dynamics, it is essential to compute and its derivative efficiently. By leveraging the sparsity structure in diagonal space, these computations become more feasible. Here, differentiations are primarily required for with respect to the principal stretches , which simplifies the calculation process.

+

In the upcoming lecture, we will apply these principles to an inversion-free elasticity model, which will be demonstrated through the compressing square simulation. This application will use the concepts discussed in this chapter to address complex real-world problems in solid mechanics.

+
+

Case Study: Inversion-free Elasticity*

+

At the end of this chapter, we implement the Neo-Hookean model introduced in the previous lectures to simulate inversion-free elastic solids. +The excutable Python project for this section can be found at https://github.com/phys-sim-book/solid-sim-tutorial under the 6_inv_free folder. +Instead of discretizing elasticity onto the springs as in the mass-spring model, we discretize the Neo-Hookean model onto triangle elements, apply chain rules to compute elastic forces according to the relation between deformation gradient and world-space nodal position , and then develop a root-finding based approach to filter the initial step size of line search for guaranteed non-inversion.

+
+

Linear Triangle Elements

+

In previous discussions, we learned to calculate and its derivatives with respect to . For simulation, however, we require and . This necessitates a clear understanding of , as it allows us to employ the chain rule to derive these derivatives with respect to effectively.

+

In 2D simulations, we often divide the solid domain into non-degenerate triangular elements. Assume the mapping is linear within each triangle, thus keeping the deformation gradient constant. Referencing Example 12.2.1, for a triangle defined by vertices , we have the equations: + +where denotes the world-space coordinates of the triangle vertices. This relationship leads to the expression for : + +Equation (15.1.1) shows that , derived here, maps any segment within the triangle to its world-space counterpart through linear combinations of the triangle edges and . A more general and rigorous derivation of this formula will be presented in subsequent chapters.

+

Once is established, we can calculate its derivative with respect to for each triangle as follows: + +where represents the inverse of the matrix formed by subtracting the first vertex from the second and third vertices. This matrix can be precomputed at initialization along with other properties such as the volume and Lame parameters of each triangle:

+

+Implementation 15.1.1 (Precomputation of element information, simulator.py).

+
# rest shape basis, volume, and lame parameters
+vol = [0.0] * len(e)
+IB = [np.array([[0.0, 0.0]] * 2)] * len(e)
+for i in range(0, len(e)):
+    TB = [x[e[i][1]] - x[e[i][0]], x[e[i][2]] - x[e[i][0]]]
+    vol[i] = np.linalg.det(np.transpose(TB)) / 2
+    IB[i] = np.linalg.inv(np.transpose(TB))
+mu_lame = [0.5 * E / (1 + nu)] * len(e)
+lam = [E * nu / ((1 + nu) * (1 - 2 * nu))] * len(e)
+
+

The Young's modulus and Poisson's ratio:

+
E = 1e5         # Young's modulus
+nu = 0.4        # Poisson's ratio
+
+

Here, e no longer stores all edge elements as in mass-spring models but represents all triangle elements, which can be generated by modifying the meshing code as follows:

+

+Implementation 15.1.2 (Assembling per-triangle vertex indices, square_mesh.py).

+
    # connect the nodes with triangle elements
+    e = []
+    for i in range(0, n_seg):
+        for j in range(0, n_seg):
+            # triangulate each cell following a symmetric pattern:
+            if (i % 2)^(j % 2):
+                e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j, i * (n_seg + 1) + j + 1])
+                e.append([(i + 1) * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j + 1, i * (n_seg + 1) + j + 1])
+            else:
+                e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j + 1])
+                e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j + 1, i * (n_seg + 1) + j + 1])
+
+

Triangles are arranged in a symmetric pattern and can be rendered by drawing the three edges:

+

+Implementation 15.1.3 (Draw triangles, simulator.py).

+
        pygame.draw.aaline(screen, (0, 0, 255), screen_projection(x[eI[0]]), screen_projection(x[eI[1]]))
+        pygame.draw.aaline(screen, (0, 0, 255), screen_projection(x[eI[1]]), screen_projection(x[eI[2]]))
+        pygame.draw.aaline(screen, (0, 0, 255), screen_projection(x[eI[2]]), screen_projection(x[eI[0]]))
+
+
+

Computing Energy, Gradient, and Hessian

+

We first follow sections Strain Energy and Stress and Its Derivatives to implement computing , , and SPD-projected :

+

+Implementation 15.2.1 (Energy derivatives w.r.t. , NeoHookeanEnergy.py).

+
import utils
+import numpy as np
+import math
+
+def polar_svd(F):
+    [U, s, VT] = np.linalg.svd(F)
+    if np.linalg.det(U) < 0:
+        U[:, 1] = -U[:, 1]
+        s[1] = -s[1]
+    if np.linalg.det(VT) < 0:
+        VT[1, :] = -VT[1, :]
+        s[1] = -s[1]
+    return [U, s, VT]
+
+def dPsi_div_dsigma(s, mu, lam):
+    ln_sigma_prod = math.log(s[0] * s[1])
+    inv0 = 1.0 / s[0]
+    dPsi_dsigma_0 = mu * (s[0] - inv0) + lam * inv0 * ln_sigma_prod
+    inv1 = 1.0 / s[1]
+    dPsi_dsigma_1 = mu * (s[1] - inv1) + lam * inv1 * ln_sigma_prod
+    return [dPsi_dsigma_0, dPsi_dsigma_1]
+
+def d2Psi_div_dsigma2(s, mu, lam):
+    ln_sigma_prod = math.log(s[0] * s[1])
+    inv2_0 = 1 / (s[0] * s[0])
+    d2Psi_dsigma2_00 = mu * (1 + inv2_0) - lam * inv2_0 * (ln_sigma_prod - 1)
+    inv2_1 = 1 / (s[1] * s[1])
+    d2Psi_dsigma2_11 = mu * (1 + inv2_1) - lam * inv2_1 * (ln_sigma_prod - 1)
+    d2Psi_dsigma2_01 = lam / (s[0] * s[1])
+    return [[d2Psi_dsigma2_00, d2Psi_dsigma2_01], [d2Psi_dsigma2_01, d2Psi_dsigma2_11]]
+
+def B_left_coef(s, mu, lam):
+    sigma_prod = s[0] * s[1]
+    return (mu + (mu - lam * math.log(sigma_prod)) / sigma_prod) / 2
+
+def Psi(F, mu, lam):
+    J = np.linalg.det(F)
+    lnJ = math.log(J)
+    return mu / 2 * (np.trace(np.transpose(F).dot(F)) - 2) - mu * lnJ + lam / 2 * lnJ * lnJ
+
+def dPsi_div_dF(F, mu, lam):
+    FinvT = np.transpose(np.linalg.inv(F))
+    return mu * (F - FinvT) + lam * math.log(np.linalg.det(F)) * FinvT
+
+def d2Psi_div_dF2(F, mu, lam):
+    [U, sigma, VT] = polar_svd(F)
+
+    Psi_sigma_sigma = utils.make_PSD(d2Psi_div_dsigma2(sigma, mu, lam))
+
+    B_left = B_left_coef(sigma, mu, lam)
+    Psi_sigma = dPsi_div_dsigma(sigma, mu, lam)
+    B_right = (Psi_sigma[0] + Psi_sigma[1]) / (2 * max(sigma[0] + sigma[1], 1e-6))
+    B = utils.make_PSD([[B_left + B_right, B_left - B_right], [B_left - B_right, B_left + B_right]])
+
+    M = np.array([[0, 0, 0, 0]] * 4)
+    M[0, 0] = Psi_sigma_sigma[0, 0]
+    M[0, 3] = Psi_sigma_sigma[0, 1]
+    M[1, 1] = B[0, 0]
+    M[1, 2] = B[0, 1]
+    M[2, 1] = B[1, 0]
+    M[2, 2] = B[1, 1]
+    M[3, 0] = Psi_sigma_sigma[1, 0]
+    M[3, 3] = Psi_sigma_sigma[1, 1]
+
+    dP_div_dF = np.array([[0, 0, 0, 0]] * 4)
+    for j in range(0, 2):
+        for i in range(0, 2):
+            ij = j * 2 + i
+            for s in range(0, 2):
+                for r in range(0, 2):
+                    rs = s * 2 + r
+                    dP_div_dF[ij, rs] = M[0, 0] * U[i, 0] * VT[0, j] * U[r, 0] * VT[0, s] \
+                        + M[0, 3] * U[i, 0] * VT[0, j] * U[r, 1] * VT[1, s] \
+                        + M[1, 1] * U[i, 1] * VT[0, j] * U[r, 1] * VT[0, s] \
+                        + M[1, 2] * U[i, 1] * VT[0, j] * U[r, 0] * VT[1, s] \
+                        + M[2, 1] * U[i, 0] * VT[1, j] * U[r, 1] * VT[0, s] \
+                        + M[2, 2] * U[i, 0] * VT[1, j] * U[r, 0] * VT[1, s] \
+                        + M[3, 0] * U[i, 1] * VT[1, j] * U[r, 0] * VT[0, s] \
+                        + M[3, 3] * U[i, 1] * VT[1, j] * U[r, 1] * VT[1, s]
+    return dP_div_dF
+
+

Next, we implement computing , and the tensor products with for chain rule based computation of elasticity energy gradient and Hessian:

+

+Implementation 15.2.2 (Energy derivatives w.r.t. , NeoHookeanEnergy.py).

+
def deformation_grad(x, elemVInd, IB):
+    F = [x[elemVInd[1]] - x[elemVInd[0]], x[elemVInd[2]] - x[elemVInd[0]]]
+    return np.transpose(F).dot(IB)
+
+def dPsi_div_dx(P, IB):  # applying chain-rule, dPsi_div_dx = dPsi_div_dF * dF_div_dx
+    dPsi_dx_2 = P[0, 0] * IB[0, 0] + P[0, 1] * IB[0, 1]
+    dPsi_dx_3 = P[1, 0] * IB[0, 0] + P[1, 1] * IB[0, 1]
+    dPsi_dx_4 = P[0, 0] * IB[1, 0] + P[0, 1] * IB[1, 1]
+    dPsi_dx_5 = P[1, 0] * IB[1, 0] + P[1, 1] * IB[1, 1]
+    return [np.array([-dPsi_dx_2 - dPsi_dx_4, -dPsi_dx_3 - dPsi_dx_5]), np.array([dPsi_dx_2, dPsi_dx_3]), np.array([dPsi_dx_4, dPsi_dx_5])]
+
+def d2Psi_div_dx2(dP_div_dF, IB):  # applying chain-rule, d2Psi_div_dx2 = dF_div_dx^T * d2Psi_div_dF2 * dF_div_dx (note that d2F_div_dx2 = 0)
+    intermediate = np.array([[0.0, 0.0, 0.0, 0.0]] * 6)
+    for colI in range(0, 4):
+        _000 = dP_div_dF[0, colI] * IB[0, 0]
+        _010 = dP_div_dF[0, colI] * IB[1, 0]
+        _101 = dP_div_dF[2, colI] * IB[0, 1]
+        _111 = dP_div_dF[2, colI] * IB[1, 1]
+        _200 = dP_div_dF[1, colI] * IB[0, 0]
+        _210 = dP_div_dF[1, colI] * IB[1, 0]
+        _301 = dP_div_dF[3, colI] * IB[0, 1]
+        _311 = dP_div_dF[3, colI] * IB[1, 1]
+        intermediate[2, colI] = _000 + _101
+        intermediate[3, colI] = _200 + _301
+        intermediate[4, colI] = _010 + _111
+        intermediate[5, colI] = _210 + _311
+        intermediate[0, colI] = -intermediate[2, colI] - intermediate[4, colI]
+        intermediate[1, colI] = -intermediate[3, colI] - intermediate[5, colI]
+    result = np.array([[0.0, 0.0, 0.0, 0.0, 0.0, 0.0]] * 6)
+    for colI in range(0, 6):
+        _000 = intermediate[colI, 0] * IB[0, 0]
+        _010 = intermediate[colI, 0] * IB[1, 0]
+        _101 = intermediate[colI, 2] * IB[0, 1]
+        _111 = intermediate[colI, 2] * IB[1, 1]
+        _200 = intermediate[colI, 1] * IB[0, 0]
+        _210 = intermediate[colI, 1] * IB[1, 0]
+        _301 = intermediate[colI, 3] * IB[0, 1]
+        _311 = intermediate[colI, 3] * IB[1, 1]
+        result[2, colI] = _000 + _101
+        result[3, colI] = _200 + _301
+        result[4, colI] = _010 + _111
+        result[5, colI] = _210 + _311
+        result[0, colI] = -_000 - _101 - _010 - _111
+        result[1, colI] = -_200 - _301 - _210 - _311
+    return result
+
+

Finally, Neo-Hookean energy value, gradient, and Hessian on the entire mesh can be computed as follows:

+

+Implementation 15.2.3 (Energy value, Gradient, and Hessian, NeoHookeanEnergy.py).

+
def val(x, e, vol, IB, mu, lam):
+    sum = 0.0
+    for i in range(0, len(e)):
+        F = deformation_grad(x, e[i], IB[i])
+        sum += vol[i] * Psi(F, mu[i], lam[i])
+    return sum
+
+def grad(x, e, vol, IB, mu, lam):
+    g = np.array([[0.0, 0.0]] * len(x))
+    for i in range(0, len(e)):
+        F = deformation_grad(x, e[i], IB[i])
+        P = vol[i] * dPsi_div_dF(F, mu[i], lam[i])
+        g_local = dPsi_div_dx(P, IB[i])
+        for j in range(0, 3):
+            g[e[i][j]] += g_local[j]
+    return g
+
+def hess(x, e, vol, IB, mu, lam):
+    IJV = [[0] * (len(e) * 36), [0] * (len(e) * 36), np.array([0.0] * (len(e) * 36))]
+    for i in range(0, len(e)):
+        F = deformation_grad(x, e[i], IB[i])
+        dP_div_dF = vol[i] * d2Psi_div_dF2(F, mu[i], lam[i])
+        local_hess = d2Psi_div_dx2(dP_div_dF, IB[i])
+        for xI in range(0, 3):
+            for xJ in range(0, 3):
+                for dI in range(0, 2):
+                    for dJ in range(0, 2):
+                        ind = i * 36 + (xI * 3 + xJ) * 4 + dI * 2 + dJ
+                        IJV[0][ind] = e[i][xI] * 2 + dI
+                        IJV[1][ind] = e[i][xJ] * 2 + dJ
+                        IJV[2][ind] = local_hess[xI * 2 + dI, xJ * 2 + dJ]
+    return IJV
+
+
+

Filter Line Search for Non-Inversion

+

To guarantee non-inversion just like non-interpenetration (see Filter Line Search) during the simulation, we can similarly filter the line search initial step size with a critical step size that first brings the volume of any triangles to . This can be obtained by solving a 1D equation per triangle: + +and taking the minimum of the solved step sizes. Here is the search direction of node , and in 2D, Equation (15.3.1) is equivalent to: + +with and , . Expanding Equation (15.3.2) we obtain: + +which can be reorganized as a quadratic equation of : + +Here, note that can be very tiny when the nodes do not move much or when their movement barely changes to triangle area in the current timestep, thus the equation can be degenerated into a linear one. To robustly detect this degenerate case, we cannot directly check whether is due to numerical errors. In fact, checking whether is below an epsilon is still tricky, because the scale of heavily depends on the scene dimension and nodal velocity during the simulation. Therefore, we use as a scaling and obtain a scaled but equivalent equation: + +where magnitude checks can be safely performed on any coefficients with unitless thresholds.

+

In practice, we also need to allow some slackness so that the step size to be taken will not lead to an exactly volume. Thus, we solve such that it first decreases the volume of any triangles by , which can be realized by modifying the constant term coefficient in Equation (15.3.3) from to :

+

+Implementation 15.3.1 (Filter line search, NeoHookeanEnergy.py).

+
def init_step_size(x, e, p):
+    alpha = 1
+    for i in range(0, len(e)):
+        x21 = x[e[i][1]] - x[e[i][0]]
+        x31 = x[e[i][2]] - x[e[i][0]]
+        p21 = p[e[i][1]] - p[e[i][0]]
+        p31 = p[e[i][2]] - p[e[i][0]]
+        detT = np.linalg.det(np.transpose([x21, x31]))
+        a = np.linalg.det(np.transpose([p21, p31])) / detT
+        b = (np.linalg.det(np.transpose([x21, p31])) + np.linalg.det(np.transpose([p21, x31]))) / detT
+        c = 0.9  # solve for alpha that first brings the new volume to 0.1x the old volume for slackness
+        critical_alpha = utils.smallest_positive_real_root_quad(a, b, c)
+        if critical_alpha > 0:
+            alpha = min(alpha, critical_alpha)
+    return alpha
+
+

Here, if the equation does not have a positive real root, that means for this specific triangle, the step size can be taken arbitrarily large and it will not trigger inversion.

+

The quadratic equation can be solved as

+

+Implementation 15.3.2 (Solve quadratic equation, utils.py).

+
def smallest_positive_real_root_quad(a, b, c, tol = 1e-6):
+    # return negative value if no positive real root is found
+    t = 0
+    if abs(a) <= tol:
+        if abs(b) <= tol: # f(x) = c > 0 for all x
+            t = -1
+        else:
+            t = -c / b
+    else:
+        desc = b * b - 4 * a * c
+        if desc > 0:
+            t = (-b - math.sqrt(desc)) / (2 * a)
+            if t < 0:
+                t = (-b + math.sqrt(desc)) / (2 * a)
+        else: # desv<0 ==> imag, f(x) > 0 for all x > 0
+            t = -1
+    return t
+
+

With scaled coefficients, we simply use a unitless threshold, e.g. \code{1e-6}, to check for degeneracies. If no positive real roots are found, the function simply returns .

+

Now as we filter the initial step size in addition to non-interpenetration:

+

+Implementation 15.3.3 (Apply filter, time_integrator.py).

+
        alpha = min(BarrierEnergy.init_step_size(x, n, o, p), NeoHookeanEnergy.init_step_size(x, e, p))  # avoid interpenetration, tunneling, and inversion
+
+

and make sure all added data structures and modified functions are reflected in the time integrator, we can finally simulate the compressing square example from Moving Boundary Condition with guaranteed non-inversion (see Figure 15.3.1).

+
+
+ +
+
+Figure 15.3.1. A square is dropped onto the ground and compressed severely by a ceiling while maintaining inversion-free throughout the simulation. The ground has friction coefficient so that the bottom of the square slides less than the top, where the ceiling has no friction.
+
+

Summary

+

We have successfully implemented an inversion-free 2D elasticity simulation by discretizing the Neo-Hookean model using linear triangle elements.

+

By maintaining a linearly varying displacement field within each triangle, we can directly calculate a constant deformation gradient for each triangle using both the material and world space coordinates of the vertices. This foundational setup facilitates the computation of the Neo-Hookean energy, as well as its gradient and Hessian with respect to , by applying the chain rule. These calculations are essential for the optimization-based time integration discussed in previous lectures.

+

To ensure the simulation remains free of both interpenetration and inversion, we adopt a similar strategy as previously described: the initial step size in the line search is determined by solving a quadratic equation for each triangle. This equation calculates a critical step size that reduces the triangle's volume by 90%. The smallest of these critical step sizes across all triangles is then used to initialize the line search, ensuring robustness against both non-interpenetration and non-inversion.

+

In the upcoming chapter, we will delve into the derivation of the governing equations for hyperelastic solids, providing a detailed explanation of each step to further solidify understanding.

+
+

Strong and Weak Forms

+

The update rules (refer to Equation (1.5.1)) and the corresponding optimization problems (refer to Equation (2.1.1)) utilized in solids simulation are derived by discretizing the conservation laws—our governing equations—from their continuous forms. This chapter will explore the derivation of both the strong and weak forms of these conservation laws. We will then discuss the methods for their temporal and spatial discretizations, which are essential for formulating the discrete problems we aim to solve.

+

The fundamental governing equations central to our study are the conservation of mass and the conservation of momentum (Newton's Second Law). We will outline these equations below and provide detailed derivations later in this lecture.

+
+

+Definition 16.1 (Strong Form). +Letting be the velocity defined over , the equations are [Gonzalez & Stuart 2008]: + +where and . Here is the mass density, , is the first Piola-Kirchoff stress, and is the constant gravitational acceleration. Note that , and the mass conservation can also be written as +

+
+

These equations are initially presented in their strong form. In this lecture, we will also derive the equivalent weak form of the force balance equation (conservation of momentum). The weak form reformulates the conservation law using integral expressions, which are crucial for the subsequent derivation of the temporal and spatial discretizations of the equations using the Finite Element Method.

+ +
+

Conservation of Mass

+

We can think of the mass density to be naturally defined over as + +where is the world space counterpart of (the ball of radius surrounding an arbitrary ). +This is arguably a natural definition since should be a measurable quantity. Conservation of mass can be expressed as +

+ +

Now, with a change of variables, we have , so Equation (16.1.1) becomes + +and so + +since . +Then combining Equations (16.1.2), (16.1.3), and (16.1.4), we can express the conservation of mass as + +This just says that the mass in (as expressed via an integral of the mass density) should not change with time. This set is associated with a subset of the material at time and as it evolves in the flow, the material will take up more or less space, but there will always be the same amount (mass) of material in the set. Since is arbitrary, it must be true that +

+
+

+Remark 16.1.1 (Lagrangian and Eulerian Views). +In simulation methods that discretize and track materials directly based on , conservation of mass is inherently satisfied. For instance, in our Finite Element Method (FEM) simulator, is segmented into triangles, with the mass of each triangle remaining constant regardless of deformation throughout the simulation. This approach is known as the Lagrangian method. In contrast, Eulerian methods discretize and evolve physical quantities based on and often need to specially deal with mass conservation.

+
+
+

Conservation of Momentum

+

In the continuous setting, forces are categorized into body forces (also known as external forces, such as gravity) and surface forces (or internal forces, typically stress-based, like those arising from elasticity). We define stress-based forces through a traction field, whose existence is assumed. The traction, or force per unit area, is represented by the field and is defined by the equation: + +where represents the outward-pointing normal direction in the material space. Here, denotes the net force exerted from the material outside on the material inside through their interface. The function quantifies the force per unit area () or length () that material on the side exerts at point on material on the side.

+

It can be shown that this implies the existence of a stress field (first Piola-Kirchoff stress) with: +

+

Then, by applying Newton's second law on , we can express the conservation of momentum as: + +for all and .

+

Applying the divergence theorem, we can transform the boundary integral in Equation (16.2.1) into a volume integral and obtain: + +for all and .

+
+

+Definition 16.2.1 (Divergence Theorem for Vectors). +For a vector-valued function defined on a closed domain , let be the outward-pointing normal on the boundary of this domain, the following equality holds: + +This theorem allows us to conveniently transform between boundary and volume integrals.

+
+

Here the divergence operator acts on every row vector of independently and results in a column vector: . Since Equation (16.2.2) also holds for arbitrary , we arrive at the strong form of the force balance equation by removing the integration: +

+
+

+Remark 16.2.1 (Momentum Conservation in Solid Simulation). +Conservation of momentum is the primary governing equation we use to simulate solids. As discussed previously, both the acceleration, denoted by , and the internal force, expressed as , can be described using world space coordinates . With all other relevant quantities established, we incrementally solve for to get dynamic motions step by step.

+
+
+

Weak Form

+

First, since the external force term resembles a lot to the time derivative of the momentum on the left-hand side, we will ignore it during the derivation for simplicity. +Then, for an arbitrary test function , let's compute the dot product to both sides of Equation (16.2.3) and integrate over to generate the weak form: + +Here we denote . Without going into details on finite element analysis, we claim that the weak form is sufficiently equivalent to the strong form since Equation (16.3.1) is required to hold for arbitrary , and solving the weak form provides us a solution that is a "good enough" soution to the original problem.

+

With index notation where means the -th component of vector-valued function , and means , we can rewrite Equation (16.3.1) as + +If we further omit the summation symbol and let the repetitive subscripts represent summation (this is known as Einstein notation), we obtain + +Now applying Integration By Parts on the right-hand side, we can rewrite Equation (16.3.3) as +

+
+

+Definition 16.3.1 (Integration By Parts). +For a scalar-valued function and a vector-valued function (vector field) , the product rule for divergence states that: + +Integrating both sides on domain then gives: +

+
+

Then if we further apply the divergence theorem on the first part of the right-hand side of Equation (16.3.4), we obtain + +The quantity would be specified as a boundary condition. If we let be the boundary force per unit reference area (traction) with , then we can say that the conservation of momentum implies that + +This is momentum conservation's weak form written in .

+ +
+

+Remark 16.3.1 (Why Weak Form). +In finite element method (FEM) for solids, conservation of momentum is formulated in the weak form rather than directly discretizing the strong form due to specific advantages. The strong form requires the displacement field and its derivatives to be continuously differentiable across the entire domain, which is difficult to achieve in practical scenarios involving complex geometries or material discontinuities. On the other hand, the weak form only requires the displacement field itself to be continuous, relaxing the need for continuous derivatives. This makes the weak form more adaptable to irregular mesh geometries and better suited for incorporating boundary conditions and handling interface problems. The weak form's integration-based approach reduces the sensitivity to local irregularities, making it more stable and robust for numerical computation in solid mechanics. Thus, while the strong form provides a direct representation of physical laws, its direct discretization is less practical for the computational demands and complexities typical in FEM analyses.

+
+
+

Summary

+

In this lecture, we derived the strong forms of the governing equations—conservation of mass and conservation of momentum—focusing on an infinitesimal region within the simulation domain. The conservation of momentum equation was transformed from surface to volume integrals using the divergence theorem.

+

For Lagrangian simulation methods, such as FEM solid simulation, which discretize and monitor physical quantities based on the material space , the conservation of mass is inherently maintained. We then progressed to deriving the weak form of conservation of momentum. This involved integrating the dot product between the momentum terms and an arbitrary test function. The weak form is effectively equivalent to the strong form because the integral equation must satisfy any arbitrary test function. Techniques such as integration by parts and the application of the divergence theorem were essential in this derivation.

+

In our next lecture, we will discretize the weak form both temporally and spatially, further refining our approach to solve the discrete problems examined in our case studies.

+
+

Discretization of Weak Forms

+

In this lecture, we will discretize the weak form of the momentum conservation equation (temporarily ignoring body forces) in both space and time to reach the discrete form—a system of equations introduced in the first lecture.

+

We will begin by focusing on a specific point in time, . From the weak form of the momentum conservation equation (Equation (16.3.6)), we have: + +for arbitrary , where the superscript denotes quantities measured at . Here:

+
    +
  • and are specified by the simulation setup,
  • +
  • can be calculated from the degrees of freedom via a constitutive law,
  • +
  • is the second-order time derivative of , and
  • +
  • is an arbitrary vector field.
  • +
+
+

Discrete Space

+

To enable numerical evaluation of the integrals in the weak form, the first step is to discretize the smooth vector fields and . This allows them to be represented by a finite set of samples, along with appropriate interpolation functions.

+
+

+Example 17.1.1 (1D Function Interpolation). +In 1D, to approximate a function using three sample points , , (Figure 17.1.1), we can use interpolation functions and form .

+
+ +
+
+Figure 17.1.1. With interpolation functions , , and sample points , , , a function can be approximated as .

+
+ +

Given a set of sample points indexed by or in the simulation domain, we can approximate the test function and the DOF as: + +where refers to the -th dimension of evaluated at sample point at time , and is the interpolation function at sample point . In this way, we similarly have: + +Plugging these discretizations into the weak form (Equation (17.1)) and expressing summations with the index notation, we obtain: + +On the left-hand side, we see that the sample values and are in fact independent of , so we can move them out of the integral and obtain: + +where + +is the mass matrix.

+
+

+Remark 17.1.1 (Mass Matrix Properties). +The mass matrix (Equation (17.1.2)) is symmetric and positive semi-definite because it can be expressed as: + +where . Thus, for any vector , + +In practice, this mass matrix may be singular. To address this, we typically use a "mass lumping" strategy to approximate the mass matrix with a diagonal and positive definite form. This is achieved by summing each row and defining: +

+
+

After spatial discretization, the solution of the weak form (Equation (17.1)) is confined to -dimensional function spaces, where represents the number of sample points, assuming all interpolation functions are mutually orthogonal. This means that there could be continuous solutions to the weak form outside of our solution space. In such cases, we can only provide an approximate solution based on the chosen sample points and interpolation functions.

+
+

+Definition 17.1.1 (Orthogonal Functions). +Similar to the orthogonality of two vectors and , defined as , the orthogonality of two functions and is defined as: + +Just as a basis of vectors can span a finite-dimensional space, orthogonal functions can form an infinite basis for a function space. Conceptually, the integral above is analogous to a vector dot product.

+
+

That being said, to generate equations solvable for the unknowns, the arbitrary test function does not need to cover all possibilities to produce an infinite number of equations. Instead, we only need to produce a finite set of equations that spans the entire solution space. Therefore, for traversing all sample points, and , we can assign the test function: + +to obtain equations: + +resulting in unknowns and equations, bringing us closer to the discrete form.

+

The two integrals on the right side of Equation (17.1.3) can be evaluated analytically or using quadrature rules, depending on the specific choice of interpolation functions. We will discuss these in detail in future lectures.

+
+

Discrete Time

+

Discretization in time links to our degrees of freedom (DOF) . In the continuous setting, . Now, let us divide time into small intervals, , as discussed in the first chapter. Using the finite difference formula, we can conveniently approximate in terms of .

+

For example, with backward Euler: + +which gives us: + +where . Applying this relation at the sample points into Equation (17.1.3), we obtain: +

+

Then, by applying mass lumping and zero traction boundary conditions, i.e., , we finally see that Equation (17.2.1) is the -th row of the discrete form of backward Euler time integration in the first lecture: + +where the elasticity force is obtained by evaluating: + +which will be discussed in the next chapter.

+
+

Summary

+

In this lecture, we discretized the weak form of momentum conservation in both space and time, arriving at the system of equations for backward Euler time integration introduced in the first lecture.

+

Spatial Discretization:
+For spatial discretization, a finite number of points are sampled within the domain, and their displacements are used as the degrees of freedom (DOF) of the simulation. With the interpolation function associated with each DOF, the displacement at any point in the domain can be approximated, limiting the solution of the weak form to -dimensional function spaces formed by mutually orthogonal interpolation functions, where represents the number of sample points. In this way, the test function can be conveniently assigned to generate equations for solving the unknowns.

+

Temporal Discretization:
+The discretization of time connects the acceleration to the DOF via specific time integration rules. By applying mass lumping and assuming zero traction boundary conditions, we can ultimately derive the discrete form. The integration of interpolation functions will be covered in the next chapter.

+

In the next lecture, we will discuss boundary conditions and frictional contact in the continuous setting.

+
+

Boundary Conditions and Frictional Contact

+

Until now, we've omitted the Dirichlet boundary conditions and frictional contact in both the strong and weak forms of the governing equations to keep the derivations concise and straightforward. However, as we learned in the Boundary Treatments chapter, this boundary information is crucial for accurately simulating a wide range of solid dynamics.

+
+

Incorporating Boundary Conditions

+

In the weak form we derived (see Equation (16.3.6)), there is a boundary term that describes the force acting on the boundary of the solid from the outside.

+

If there are no Dirichlet boundary conditions, the entire boundary is handled using Neumann Boundary Conditions, where the boundary force is specified as part of the problem setup. Recall that we discussed the Dirichlet Boundary Condition, where the displacements of the boundary are directly prescribed. In practice, external forces act on the Dirichlet boundaries to ensure their displacements precisely match the prescribed values, and these forces are calculated directly from those displacements.

+

In a solid simulation problem, boundaries can be either a Dirichlet boundary or a Neumann boundary, which can be described by a more general problem formulation in strong form: +

+

Here and are the Neumann and Dirichlet boundaries respectively, , , and and are given. After we derive the weak form of the momentum conservation (see Equation (18.1.1), first line), the boundary term can be separately considered for Dirichlet and Neumann boundaries: +

+

For Neumann boundaries, since the traction is provided, the above integral can be directly evaluated after discretization. However, for Dirichlet boundaries, remains unknown until we solve the problem. Therefore, a straightforward approach is to introduce the traction at Dirichlet boundaries as unknowns and solve the system that includes both the discretized weak form equations and the Dirichlet boundary conditions.

+
+

+Remark 18.1.1 (Optimization Form). +In the optimization form, the potential energy does not include any Dirichlet boundaries, effectively ignoring the boundary integral in the weak form. This is valid because the Dirichlet boundary conditions will be enforced by the linear equality constraints, and the corresponding discretized weak form equation will be overwritten.

+
+
+

Normal Contact for Non-penetration

+

To prevent self-interpenetration during simulation, it's essential to enforce a condition ensuring that the deformation map is bijective for any . This bijection is maintained by boundary forces acting on pairs of contacting surface regions, referred to as . We can think of these forces as another set of Neumann boundary conditions that exert extra forces on only when necessary to prevent interpenetration. Thus, we can extend the boundary integral term in the weak form as follows:

+

+

where is the original Neumann boundary force specified in the problem setup, and is the normal contact force arising from the bijectivity constraint.

+

Similar to Dirichlet boundary conditions, can only be determined once we solve the problem. However, enforcing non-interpenetration is more complex than prescribing displacements. Fortunately, we can use the approximate constitutive model of in IPC to represent the contact force as a function of , ensuring non-interpenetration by simply including this additional conservative force.

+
+

+Remark 18.2.1 (Overlapping Boundaries). +Note that here can overlap with both and . For a free (Neumann) boundary contacting a Dirichlet boundary, on the Dirichlet part will also be ignored when enforcing the Dirichlet boundary conditions. However, if two Dirichlet boundaries interpenetrate each other, the problem will have no solution with the bijectivity constraint.

+
+
+

Barrier Potential

+

As discussed in Distance Barrier for Nonpenetration, the principle of IPC for solid-to-obstacle contact is to use a barrier function to ensure that the signed distance between any nodal degrees of freedom (DOFs) and obstacles remains positive throughout the simulation. To handle self-contact, potentially for codimensional objects, this idea is extended to ensure that the unsigned distance between any boundary points and the boundary remains nonzero throughout the simulation.

+

Let's consider two colliding regions, and , on the boundary. For any point , we must ensure that the closest distance between and any point on remains nonzero. This can be achieved by using a barrier function to enforce this minimum distance, where the negative gradient of the function provides the contact force. This can be written as

+

+

where is the barrier function:

+

+

serving as the contact potential energy density. Here, the barrier function approaches infinity as the distance approaches zero, providing an arbitrarily large repulsive force to prevent interpenetration. When the distance is above the threshold and no contact is occurring, no contact forces are exerted. By using the barrier function, the non-smooth contact constraints are approximated by a constitutive model in which the force is conservative, enabling consistent resolution through an optimization-based time integrator.

+
+

+Remark 18.3.1 (Barrier Density). +Compared to Equation (7.2.3), the barrier energy density function here is additionally multiplied by to maintain consistent units after surface integration. Recall from Remark 7.2.1 that the barrier potential can be thought of as an extra thin layer of (-thick) virtual material right outside the boundary of the solids, and is analogous to Young's modulus.

+
+
+

+Remark 18.3.2 (Min Operator). +When multiple points have the same minimal distance to , the distance barrier of to all these points should be summed up. The min operator is non-smooth, which can still complicate optimization-based time integration. In the next chapter, we will demonstrate how this is approximated as described in Distance Barrier for Nonpenetration.

+
+

The case of two colliding regions results in a boundary integral:

+

+

where is defined in Equation (18.3.1), and:

+

+

However, we have ignored the self-contact of and in this example. Thus, generalizing to arbitrary self-contact for the whole domain, we can keep the single boundary integral term for contact as in Equation (18.2.1) and define the traction more generally as:

+

+

where is an infinitesimal circle around with the radius sufficiently small to avoid unnecessary contact forces between a point and its geodesic neighbors.

+
+

+Remark 18.3.3 (Barrier Force Limits). +In Equation (18.3.4), self-contact is ignored for points inside . This is the trade-off for smoothly approximating contact forces, which are discontinuous in a macroscopic view. Similarly, introduces another source of error. However, when and , our model converges to the discontinuous definition. Note that we also need , or there could still be some distance between and that causes the barrier to diverge in the limit.

+
+

Finally, we can define the contact potential over the whole boundary as:

+

+

Here, the coefficient is used because the barrier energy density of each pair of contacting points will be counted twice in the integral due to symmetry. When computing barrier forces, both occurrences need to be differentiated. Therefore, using the coefficient allows us to match the force definition in Equation (18.3.4). We'll elaborate on this in the next chapter under the discrete weak form.

+

The contact potential is not required in the weak form but will be useful for optimization-based time integration.

+
+

Friction Force

+

Analogous to Frictional Contact, maximizing the dissipation rate subject to the Coulomb constraint defines friction forces per unit area variationally:

+

+

Here, is the relative sliding velocity between and the closest point , is the coefficient of friction, is the normal contact force per unit area, and is the normal direction.

+

This is equivalent to:

+

+

with when , while takes any unit vector orthogonal to when .

+

In addition, the friction scaling function is also nonsmooth with respect to , since when , and when . These nonsmooth properties can severely hinder or even break the convergence of gradient-based optimization. The mollification of the friction-velocity relationship here follows the same approach as in Frictional Contact.

+
+

Summary

+

We have discussed Neumann and Dirichlet boundary conditions as well as frictional contact in the continuous setting to complete a rigorous problem formulation. Combining everything in strong form, for all :

+

+

After deriving the weak form of the momentum equation, the boundary integral term can be separated as follows:

+

+

Here, only the Neumann force is given, while all other boundary forces can be determined after solving the coupled system. Fortunately, Dirichlet boundary conditions can be enforced straightforwardly in the optimization framework as linear equality constraints. Frictional contact forces and can both be smoothly approximated as conservative forces with controllable error.

+

In the next chapter, we will discuss discretizing the weak form using the finite element method (FEM), connecting the derivations in this chapter to the discrete simulation methods.

+
+

Linear Finite Elements

+

From the governing equations in the continuous setting, we derived the discretized weak form system (nd equations) using the backward Euler time integration rule:

+

+In this chapter, we'll start by discussing the shape function in the context of linear finite elements. This exploration will help us understand the underlying implementation detailed in Inversion-Free Elasticity.

+

We'll focus specifically on simplex finite elements. In 2D, the 2-simplex is a triangle, and we've consistently used triangle meshes throughout this book to discretize the solid domain into a disjoint set of triangular elements.

+
+

+Definition 19.1 (Simplex).
+An n-simplex is a geometric object with vertices that exists in an -dimensional space. It cannot fit in any space of smaller dimension.

+
+
+

Piecewise Linear Displacement Field

+

For a triangle element with vertices , , and in the solid domain, we can approximate the world space coordinates of an arbitrary point in this element using spatial discretization (see Equation (17.1.1)):

+

+

This equation represents a 2D interpolation, extending Experiment Example 17.1.1. Here, we assume that the world space coordinates of any arbitrary point in an element can be interpolated solely from the coordinates of the element's vertices.

+

Linear finite elements use linear shape functions in Equation (19.1.1), resulting in a piecewise linear (per triangle) displacement field over the entire domain. Before providing the precise expression of in terms of , we'll introduce another parameter space to simplify the derivation.

+

Let and , we can use them to express the material space coordinates of an arbitrary point in the element as:

+

+

Here, is a linear function of . With linear shape functions, the approximation is a linear function of .

+

Recall that for interpolation, we have to satisfy the conditions . Putting these all together, we can obtain a unique solution:

+

+

where we denote as . This indicates that:

+

+

Interestingly, with the expression of , , and , we do not necessarily need the precise expression of and for the following derivations to compute each term in Equation (17.2.1).

+
+

+Remark 19.1.1 (Partition of Unity). The shape functions of FEM satisfy the partition of unity everywhere within each element: + +One advantage of FEM is that it provides accurate boundary resolution compared to grid or particle-based representations. The boundary nodes of the FEM mesh can be exactly located on the boundary of the continuous domain. The elements are generated inside the domain, connecting the boundary nodes to form the discrete boundary, which converges to the boundary of the continuous domain as resolution increases.
+Although particle-based methods can also sample particles on the domain boundary, their spherical shape functions extend beyond the domain, breaking the partition of unity. This creates a "soft" outbound layer of material that makes boundary force computations inaccurate. In contrast, FEM shape functions are nonzero only within each element, where the partition of unity is satisfied everywhere.

+
+
+

Mass Matrix and Lumping

+

Recall from Discretization of Weak Forms that:

+

+

With the solid domain discretized into triangles , we have:

+

+

where represents the material space of triangle . Note that for linear triangle elements, since is nonzero only on the incident triangles of node , here we only need to consider triangles with both and being their vertices.

+

Let us change the integration variable from to , which gives:

+

+

For simplicity, let us denote the vertices of this triangle as , , and , and then we have:

+

+

where is the area of triangle . Here, and take , , or depending on the vertex indices and . For example, if and correspond to the 2nd and 3rd vertices of triangle , then and . Assuming uniform density, we have:

+

+

With mass lumping, , which means:

+

+

where contains all the nodes of the mesh, and all off-diagonal entries of are . Similarly, due to the locality of , for each triangle element, only needs to traverse all three triangle vertices:

+

+

where denotes the set of triangles incident to node . This result also explains why in Inversion-Free Elasticity when computing the mass for all the nodes, we traverse all triangles, calculate the mass of the triangle and evenly distribute it to the three vertices. With the mass matrix computed, the momentum change and external body force terms including their energy forms are all easy to deal with.

+
+

Elasticity Term

+

For the elasticity term in the discrete weak form system in Equation (19.1), we can write it as the summation of integrals on each triangle in vector form:

+

+

Analogously, this summation also only needs to involve the incident triangles of node .

+

Recall from Strain Energy, to compute the first Piola-Kirchoff stress , we only need the deformation gradient . From Section Kinematics, we know that . Applying the chain rule with the parameter space variables as intermediates, we have:

+

+

which is exactly the same as Equation (15.1.1) from our earlier implementation (Section Inversion-Free Elasticity). Here, we also see that with linear finite elements, the deformation gradient field is piecewise constant in , so is .

+

Then for , depending on the index of in triangle , we can derive it again using parameter space variables as:

+

+

This also allows us to see that is constant within any triangle and it is equivalent to since:

+

+

Substituting into Equation (19.3.1) we obtain:

+

+

which is exactly how nodal elasticity force is computed in Section Inversion-Free Elasticity. This also indicates that the total elasticity potential can be calculated as , which is before spatial discretization.

+
+

+Remark 19.3.1. [Linear FEM] +Linear FEM refers to being a piecewise linear function of , but the elasticity model can still be nonlinear, i.e. can be a nonlinear function of .

+
+
+

Summary

+

Based on the temporally and spatially discretized weak form, we've explored methods to compute the mass matrix, deformation gradient, and elasticity force under the linear finite element setting, all of which align with our implementation in Section Inversion-Free Elasticity.

+

With linear finite elements, the world space coordinates are approximated as a piecewise linear function of . This approximation, , is a linear function inside each triangle and is -continuous at the edges. By using two parameters, and , to represent points on each triangle, we can identify the linear shape functions that interpolate the displacements at the triangle vertices and derive the deformation gradient . The mass matrix entries and elasticity terms can then be computed via integration with respect to and .

+
+

Piecewise Linear Boundaries

+

In this lecture, we will continue our discussion on linear finite elements by focusing on boundary conditions and frictional self-contact on piecewise linear boundaries. Specifically, we will examine the computation of the boundary integral term:

+

+

We will cover this in the context of Dirichlet and Neumann boundaries, as well as normal and frictional self-contact forces.

+
+

Boundary Conditions

+

Dirichlet

+

Due to the accurate boundary resolution of the Finite Element Method (FEM), enforcing Dirichlet boundary conditions is straightforward. We only need to constrain the world-space coordinates of the boundary nodes to the prescribed values:

+

+

Once these constraints are properly enforced, the Dirichlet boundary integral term can be ignored.

+

This same mechanism can also be used to prescribe the displacement of any interior nodes. Although this does not directly correspond to any physical effects, it can simplify the simulation setup.

+

Neumann

+

For Neumann boundary conditions, we can evaluate the boundary integral term using the parameter space variables and . With triangle mesh discretization, we have:

+

+

where is the edge of triangle that is on the Neumann boundary.

+

For any boundary node in 2D, there will be at most two incident triangles to consider in the integration for linear shape functions. Let's examine the case with two incident triangles. Consider one of the integrals. Without loss of generality, assume (where corresponds to in triangle ), and that is the other node of on the boundary edge. Then, switching the integration variables to gives us:

+

+

Here, is simply the edge length . If is constant over the boundary at , we can compute:

+

+

Therefore, to add a constant Neumann force to the discrete system, we first calculate the length weight of each boundary node by distributing the length of the boundary edges evenly to their vertices, and then multiply by the traction . If is not constant over the boundary, more complex boundary integral calculations are needed. For a boundary node with only one incident triangle, its length weight comes from its two incident edges within the same triangle.

+
+

+Remark 20.1.1 (Neumann Boundary Conditions). Here, we observe that the specified traction in standard Neumann boundary conditions is independent of , which simplifies the derivation of the potential energy, even in the continuous setting for varying Neumann forces over the domain: + +To verify this, we can replace with for spatial discretization. Taking the derivative with respect to gives us the force integral term in the discrete weak form: +

+
+
+

Solid-Obstacle Contact

+

Recall that we used a conservative force model to approximate the contact traction , allowing it to be directly evaluated given the current configuration of the solids. This results in a contact potential:

+

+

where is the barrier energy density function, and is an infinitesimal region around where contact is ignored for theoretical soundness.

+
+
+

For normal contact between simulated solids and collision obstacles (ignoring self-contact for now), can be written in a much simpler form + +Here and are the boundaries of the simulated solids and obstacles respectively, is the point-obstacle distance, and the simplification from two terms to one single term is due to symmetry in the continuous setting. +With triangle discretization, + +Similar to the derivation for Neumann boundaries, for any boundary node , with 2 incident triangles, let us look at one of the integral. Without loss of generality, we can assume ( corresponds to in triangle ), and that is the other node of on the boundary edge. Then, switching the integration variables to gives us + +Since and are both highly nonlinear functions, we could not obtain a closed-form expression for Equation (20.2.2). If we take the two end points and as quadrature points both with weights , we can approximate the integral as + +Then, the whole boundary integral can be approximated as + +assuming that and are the two neighbors of on the boundary. This is now exactly what has been implemented in Filter Line Search.

+
+

+Remark 20.2.1 (Quadrature Choice for Line Segment). Selecting the two end points () as quadrature points for a line segment integral (Equation (20.2.3)) is not a common design choice. Typically, Gaussian quadrature would use . The advantage of choosing is that it results in fewer quadrature points globally, thus reducing computational costs, as neighboring edges share end points.

+
+

To see how connects to the boundary integral (Equation (20.1)) in the discrete weak form, let us take the derivative of the discretized contact potential (Equation (20.2.1)) with respect to : + +Then we also verified that here.

+
+

Self-Contact

+

With triangle discretization, the boundary of the domain is approximated as a polyline formed by a set of edges. Let us denote this set of boundary edges as , and the barrier potential becomes:

+

+

Here, is the set of edges that contain . Completely ignoring these edges is a specific choice of under the current discretization. The term is simply the point-edge distance , which can be calculated as either a point-point distance or a point-line distance depending on the relative positions of the point and the edge.

+

As we know, the barrier energy density function is already a smooth approximation to the discontinuous normal contact forces that prevent interpenetration between two colliding points. However, when considering self-contact between discrete surfaces (piecewise linear here), the non-smooth operator on point-edge distances is inevitable. This non-smoothness can still pose challenges for optimization time integrators.

+

To obtain a smooth barrier potential even in the case of piecewise linear boundaries, we first transform the operator to a operator, as the energy density function is a non-ascending function everywhere in the domain. This gives us:

+

+

Next, we need to smoothly approximate the operator. A straightforward choice is to use the smooth max function, such as the -norm function:

+

+

with sufficiently large. However, the exponent will couple multiple inputs together, increasing the stencil size and making the Hessian less sparse, which will make the simulation more computationally expensive.

+

Fortunately, due to the local support of , where the contact force only exists for distances smaller than , using is sufficient. With a relatively small , there will only be some redundant contact forces at the interface of boundary elements (Figure 20.3.1).

+
+
+ +
+
+Figure 20.3.1. In this simple two-edge illustration, the yellow and green regions are only counted once by the summation, but the blue region and the yellow-green overlap are counted twice. If we subtract once the blue region, then for the right-top boundary (convex), it becomes perfect, but for the left-bottom boundary (concave), we can still see some overlap that are counted twice.
+
+

Since the overlapping supports of from multiple boundary elements can be clearly identified, it is also possible to subtract the redundant barrier potentials in those regions, as discussed in detail in [Li et al. 2023]. For this book, let us keep it simple by using with the -norm formulation, which is just summation:

+

+

Approximating the integral under triangle discretization and picking the end points of each boundary edge as the quadrature points, we obtain the fully discrete form:

+

+

Similar to the solid-obstacle contact cases, can be derived by taking the derivative of the whole contact potential with respect to the nodal degrees of freedom (DOFs).

+
+

Summary

+

We have connected the discrete weak form (Equation (19.1)) to the implementations in Filter Line Search for boundary conditions and contact. Additionally, we have derived self-contact between discrete surfaces in 2D, which will be implemented in the next lecture.

+

The derivations follow a consistent methodology: first, rewrite the global integral as a summation of local element-wise integrals, and then approximate or analytically evaluate the local integrals using certain quadrature rules.

+

We didn't explicitly discuss friction in this lecture because its force definition in the continuous setting was covered in Boundary Conditions and Frictional Contact. Its integral approximation can be performed similarly to normal contact forces (see Case Study: 2D Frictional Self-Contact for details).

+

During the derivation, we also observed that the route we have taken from the strong form to the optimization time integration implementation, namely:

+

+

is not unique. We can directly write the continuous form of the potential energies and then perform spatial discretization and approximation to obtain the nodal forces. Readers interested in this approach can refer to Lagrangian Mechanics or Hamiltonian Mechanics.

+
+

Case Study: 2D Self-Contact*

+

We have finished connecting linear finite elements to the weak form derivation for elastodynamics and frictional contact. Now, it's time to see how these concepts are implemented in code. In this lecture, we will implement 2D frictionless self-contact based on our Python development of the inversion-free elasticity simulation from Case Study: Inversion-free Elasticity.

+

The executable Python project for this section can be found at https://github.com/phys-sim-book/solid-sim-tutorial under the 7_self_contact folder.

+

We will implement frictional self-contact in the next lecture.

+
+

Scene Setup and Boundary Element Collection

+

To begin with, we set up a new scene with two squares falling onto the ground, compressed by the ceiling so that self-contact will occur between these squares.

+

+Implementation 21.1.1 (Simulation setup, simulator.py).

+
# simulation setup
+side_len = 0.45
+rho = 1000      # density of square
+E = 1e5         # Young's modulus
+nu = 0.4        # Poisson's ratio
+n_seg = 2       # num of segments per side of the square
+h = 0.01        # time step size in s
+DBC = [(n_seg + 1) * (n_seg + 1) * 2]   # dirichlet node index
+DBC_v = [np.array([0.0, -0.5])]         # dirichlet node velocity
+DBC_limit = [np.array([0.0, -0.7])]     # dirichlet node limit position
+ground_n = np.array([0.0, 1.0])         # normal of the slope
+ground_n /= np.linalg.norm(ground_n)    # normalize ground normal vector just in case
+ground_o = np.array([0.0, -1.0])        # a point on the slope  
+mu = 0.4        # friction coefficient of the slope
+
+# initialize simulation
+[x, e] = square_mesh.generate(side_len, n_seg)       # node positions and triangle node indices of the top square
+e = np.append(e, np.array(e) + [len(x)] * 3, axis=0) # add triangle node indices of the bottom square
+x = np.append(x, x + [side_len * 0.1, -side_len * 1.1], axis=0) # add node positions of the bottom square
+
+

In line 17, we adapt the DOF index of the ceiling from seg+1) to seg+1)2, as we now have two squares. Line 26 generates the first square on the top, while lines 27 and 28 generate the second square on the bottom by creating copies and offsets.

+

The initial frame, as shown in Figure 21.1.1, is now established. However, without handling self-contact, these two squares cannot interact with each other yet.

+
+
+ +
+Figure 21.1.1. The new scene setup with 2 squares to fall.
+
+
+

To handle contact, we first need to collect all boundary elements. In 2D, this involves identifying the nodes and edges on the boundary where contact forces will be applied to all close but non-incident point-edge pairs. The following function finds all boundary nodes and edges given a triangle mesh:

+

+Implementation 21.1.2 (Collect boundary elements, square_mesh.py).

+
def find_boundary(e):
+    # index all half-edges for fast query
+    edge_set = set()
+    for i in range(0, len(e)):
+        for j in range(0, 3):
+            edge_set.add((e[i][j], e[i][(j + 1) % 3]))
+
+    # find boundary points and edges
+    bp_set = set()
+    be = []
+    for eI in edge_set:
+        if (eI[1], eI[0]) not in edge_set:
+            # if the inverse edge of a half-edge does not exist,
+            # then it is a boundary edge
+            be.append([eI[0], eI[1]])
+            bp_set.add(eI[0])
+            bp_set.add(eI[1])
+    return [list(bp_set), be]
+
+

This function is called in simulator.py, and the boundary elements are then passed to the time integrator for energy, gradient, and Hessian evaluations, as well as line search filtering.

+
+

Point-Edge Distance

+

Next, we calculate the point-edge distance and its derivatives. These will be used to solve for the contact forces. For a node and an edge , their squared distance is defined as

+

+

which is the closest squared distance between and any point on .

+
+

+Remark 21.2.1 (Distance Calculation Optimization). +Here, we use the squared unsigned distances for evaluating the contact energies. This approach avoids taking square roots, which can complicate the expression of the derivatives and increase numerical rounding errors during computation. Additionally, unsigned distances can be directly extended for codimensional pairs, such as point-point pairs, which are useful when simulating particle contacts in 2D. They also do not suffer from locking issues, as signed distances do, when there are large displacements.

+
+

Fortunately, is a piece-wise smooth function w.r.t. the DOFs: + +where the smooth expression can be determined by checking whether the node is inside the orthogonal span of the edge. Given these smooth expressions, we can differentiate each of them and obtain the derivatives of the point-edge distance function. The implementations are as follows:

+

+Implementation 21.2.1 (Point-Edge distance calculation (Hessian omitted), PointEdgeDistance.py).

+
import numpy as np
+
+import distance.PointPointDistance as PP
+import distance.PointLineDistance as PL
+
+def val(p, e0, e1):
+    e = e1 - e0
+    ratio = np.dot(e, p - e0) / np.dot(e, e)
+    if ratio < 0:    # point(p)-point(e0) expression
+        return PP.val(p, e0)
+    elif ratio > 1:  # point(p)-point(e1) expression
+        return PP.val(p, e1)
+    else:            # point(p)-line(e0e1) expression
+        return PL.val(p, e0, e1)
+
+def grad(p, e0, e1):
+    e = e1 - e0
+    ratio = np.dot(e, p - e0) / np.dot(e, e)
+    if ratio < 0:    # point(p)-point(e0) expression
+        g_PP = PP.grad(p, e0)
+        return np.reshape([g_PP[0:2], g_PP[2:4], np.array([0.0, 0.0])], (1, 6))[0]
+    elif ratio > 1:  # point(p)-point(e1) expression
+        g_PP = PP.grad(p, e1)
+        return np.reshape([g_PP[0:2], np.array([0.0, 0.0]), g_PP[2:4]], (1, 6))[0]
+    else:            # point(p)-line(e0e1) expression
+        return PL.grad(p, e0, e1)
+
+

It can be verified that the point-edge distance function is -continuous everywhere, including at the interfaces between different segments. For the point-point case, we have:

+

+Implementation 21.2.2 (Point-Point distance calculation, PointPointDistance.py).

+
import numpy as np
+
+def val(p0, p1):
+    e = p0 - p1
+    return np.dot(e, e)
+
+def grad(p0, p1):
+    e = p0 - p1
+    return np.reshape([2 * e, -2 * e], (1, 4))[0]
+
+def hess(p0, p1):
+    H = np.array([[0.0] * 4] * 4)
+    H[0, 0] = H[1, 1] = H[2, 2] = H[3, 3] = 2
+    H[0, 2] = H[1, 3] = H[2, 0] = H[3, 1] = -2
+    return H
+
+

For the point-line case, the distance evaluations can be implemented as follows, and the derivatives can be obtained using symbolic differentiation tools.

+

+Implementation 21.2.3 (Point-Line distance calculation (Hessian omitted), PointLineDistance.py).

+
import numpy as np
+
+def val(p, e0, e1):
+    e = e1 - e0
+    numerator = e[1] * p[0] - e[0] * p[1] + e1[0] * e0[1] - e1[1] * e0[0]
+    return numerator * numerator / np.dot(e, e)
+
+def grad(p, e0, e1):
+    g = np.array([0.0] * 6)
+    t13 = -e1[0] + e0[0]
+    t14 = -e1[1] + e0[1]
+    t23 = 1.0 / (t13 * t13 + t14 * t14)
+    t25 = ((e0[0] * e1[1] + -(e0[1] * e1[0])) + t14 * p[0]) + -(t13 * p[1])
+    t24 = t23 * t23
+    t26 = t25 * t25
+    t27 = (e0[0] * 2.0 + -(e1[0] * 2.0)) * t24 * t26
+    t26 *= (e0[1] * 2.0 + -(e1[1] * 2.0)) * t24
+    g[0] = t14 * t23 * t25 * 2.0
+    g[1] = t13 * t23 * t25 * -2.0
+    t24 = t23 * t25
+    g[2] = -t27 - t24 * (-e1[1] + p[1]) * 2.0
+    g[3] = -t26 + t24 * (-e1[0] + p[0]) * 2.0
+    g[4] = t27 + t24 * (p[1] - e0[1]) * 2.0
+    g[5] = t26 - t24 * (p[0] - e0[0]) * 2.0
+    return g
+
+
+

Barrier Energy and Its Derivatives

+

With the point-edge distance functions implemented, we can traverse all point-edge pairs to assemble the total barrier energy and its derivatives. These will be used to solve for the search direction in the time-stepping optimization.

+

Since squared distances are used, here we rescale the barrier function to + +so that + +still holds. Analogous to elasticity, can be viewed as a strain measure, then the 2nd-order derivative of the energy density (per area) function w.r.t. at would correspond to Young's modulus times thickness , which makes physically meaningful and convenient to set.

+

Based on Equation (20.3.1), we can derive the gradient and Hessian of the barrier potential as + +where and we omitted the superscripts and subscripts for the squared point-edge distance functions ( denotes here).

+

The energy, gradient, and Hessian of the barrier contact potential are implemented as follows:

+

+Implementation 21.3.1 (Barrier energy computation, BarrierEnergy.py).

+
    # self-contact
+    dhat_sqr = dhat * dhat
+    for xI in bp:
+        for eI in be:
+            if xI != eI[0] and xI != eI[1]: # do not consider a point and its incident edge
+                d_sqr = PE.val(x[xI], x[eI[0]], x[eI[1]])
+                if d_sqr < dhat_sqr:
+                    s = d_sqr / dhat_sqr
+                    # since d_sqr is used, need to divide by 8 not 2 here for consistency to linear elasticity:
+                    sum += 0.5 * contact_area[xI] * dhat * kappa / 8 * (s - 1) * math.log(s)
+
+

+Implementation 21.3.2 (Barrier energy gradient computation, BarrierEnergy.py).

+
    # self-contact
+    dhat_sqr = dhat * dhat
+    for xI in bp:
+        for eI in be:
+            if xI != eI[0] and xI != eI[1]: # do not consider a point and its incident edge
+                d_sqr = PE.val(x[xI], x[eI[0]], x[eI[1]])
+                if d_sqr < dhat_sqr:
+                    s = d_sqr / dhat_sqr
+                    # since d_sqr is used, need to divide by 8 not 2 here for consistency to linear elasticity:
+                    local_grad = 0.5 * contact_area[xI] * dhat * (kappa / 8 * (math.log(s) / dhat_sqr + (s - 1) / d_sqr)) * PE.grad(x[xI], x[eI[0]], x[eI[1]])
+                    g[xI] += local_grad[0:2]
+                    g[eI[0]] += local_grad[2:4]
+                    g[eI[1]] += local_grad[4:6]
+
+

+Implementation 21.3.3 (Barrier energy Hessian computation, BarrierEnergy.py).

+
    # self-contact
+    dhat_sqr = dhat * dhat
+    for xI in bp:
+        for eI in be:
+            if xI != eI[0] and xI != eI[1]: # do not consider a point and its incident edge
+                d_sqr = PE.val(x[xI], x[eI[0]], x[eI[1]])
+                if d_sqr < dhat_sqr:
+                    d_sqr_grad = PE.grad(x[xI], x[eI[0]], x[eI[1]])
+                    s = d_sqr / dhat_sqr
+                    # since d_sqr is used, need to divide by 8 not 2 here for consistency to linear elasticity:
+                    local_hess = 0.5 * contact_area[xI] * dhat * utils.make_PSD(kappa / (8 * d_sqr * d_sqr * dhat_sqr) * (d_sqr + dhat_sqr) * np.outer(d_sqr_grad, d_sqr_grad) \
+                        + (kappa / 8 * (math.log(s) / dhat_sqr + (s - 1) / d_sqr)) * PE.hess(x[xI], x[eI[0]], x[eI[1]]))
+                    index = [xI, eI[0], eI[1]]
+                    for nI in range(0, 3):
+                        for nJ in range(0, 3):
+                            for c in range(0, 2):
+                                for r in range(0, 2):
+                                    IJV[0].append(index[nI] * 2 + r)
+                                    IJV[1].append(index[nJ] * 2 + c)
+                                    IJV[2] = np.append(IJV[2], local_hess[nI * 2 + r, nJ * 2 + c])
+
+
+

Continuous Collision Detection

+

Now, we have all the ingredients to solve for the search direction in a simulation with self-contact. After obtaining the search direction, we perform line search filtering for the point-edge pairs.

+

+Implementation 21.4.1 (Line search filtering, BarrierEnergy.py).

+
    # self-contact
+    for xI in bp:
+        for eI in be:
+            if xI != eI[0] and xI != eI[1]: # do not consider a point and its incident edge
+                if CCD.bbox_overlap(x[xI], x[eI[0]], x[eI[1]], p[xI], p[eI[0]], p[eI[1]], alpha):
+                    toc = CCD.narrow_phase_CCD(x[xI], x[eI[0]], x[eI[1]], p[xI], p[eI[0]], p[eI[1]], alpha)
+                    if alpha > toc:
+                        alpha = toc
+
+

Here, we perform an overlap check on the bounding boxes of the spans of the point and edge first to narrow down the number of point-edge pairs for which we need to compute the time of impact:

+

+Implementation 21.4.2 (Bounding box overlap check, CCD.py).

+
from copy import deepcopy
+import numpy as np
+import math
+
+import distance.PointEdgeDistance as PE
+
+# check whether the bounding box of the trajectory of the point and the edge overlap
+def bbox_overlap(p, e0, e1, dp, de0, de1, toc_upperbound):
+    max_p = np.maximum(p, p + toc_upperbound * dp) # point trajectory bbox top-right
+    min_p = np.minimum(p, p + toc_upperbound * dp) # point trajectory bbox bottom-left
+    max_e = np.maximum(np.maximum(e0, e0 + toc_upperbound * de0), np.maximum(e1, e1 + toc_upperbound * de1)) # edge trajectory bbox top-right
+    min_e = np.minimum(np.minimum(e0, e0 + toc_upperbound * de0), np.minimum(e1, e1 + toc_upperbound * de1)) # edge trajectory bbox bottom-left
+    if np.any(np.greater(min_p, max_e)) or np.any(np.greater(min_e, max_p)):
+        return False
+    else:
+        return True
+
+

To calculate a sufficiently large conservative estimation of the time of impact (TOI), we cannot directly calculate the TOI and take a proportion of it as we did for point-ground contact in Filter Line Search. Directly calculating the TOI for contact primitive pairs requires solving quadratic or cubic root-finding problems in 2D and 3D, which are prone to numerical errors, especially when distances are tiny and configurations are numerically degenerate (e.g., nearly parallel edge-edge pairs in 3D).

+

Thus, we implement the additive CCD method (ACCD) [Li et al. 2021], which iteratively moves the contact pairs along the search direction until the minimum separation distance is reached, to robustly estimate the TOI.

+

Taking a point-edge pair as an example, the key insight of ACCD is that, given the current positions , , and search directions , , , its TOI can be calculated as

+

+

assuming is the point on the edge that will first collide with. +The issue is that we do not know a priori. However, we can derive a lower bound for as

+

+

By taking a step with this lower bound , we are guaranteed to have no interpenetration for this pair. However, although straightforward to compute, can be much smaller than . Therefore, we iteratively calculate and advance a copy of the participating nodes by this amount, accumulating all to monotonically improve the estimate of until the point-edge pair reaches a distance smaller than the minimum separation, e.g., the original distance. The implementation is as follows, where we first remove the shared components of the search directions so that they have smaller magnitudes to achieve earlier termination of the algorithm.

+

+Implementation 21.4.3 (ACCD method implementation, CCD.py).

+
# compute the first "time" of contact, or toc,
+# return the computed toc only if it is smaller than the previously computed toc_upperbound
+def narrow_phase_CCD(_p, _e0, _e1, _dp, _de0, _de1, toc_upperbound):
+    p = deepcopy(_p)
+    e0 = deepcopy(_e0)
+    e1 = deepcopy(_e1)
+    dp = deepcopy(_dp)
+    de0 = deepcopy(_de0)
+    de1 = deepcopy(_de1)
+
+    # use relative displacement for faster convergence
+    mov = (dp + de0 + de1) / 3 
+    de0 -= mov
+    de1 -= mov
+    dp -= mov
+    maxDispMag = np.linalg.norm(dp) + math.sqrt(max(np.dot(de0, de0), np.dot(de1, de1)))
+    if maxDispMag == 0:
+        return toc_upperbound
+
+    eta = 0.1 # calculate the toc that first brings the distance to 0.1x the current distance
+    dist2_cur = PE.val(p, e0, e1)
+    dist_cur = math.sqrt(dist2_cur)
+    gap = eta * dist_cur
+    # iteratively move the point and edge towards each other and
+    # grow the toc estimate without numerical errors
+    toc = 0
+    while True:
+        tocLowerBound = (1 - eta) * dist_cur / maxDispMag
+
+        p += tocLowerBound * dp
+        e0 += tocLowerBound * de0
+        e1 += tocLowerBound * de1
+        dist2_cur = PE.val(p, e0, e1)
+        dist_cur = math.sqrt(dist2_cur)
+        if toc != 0 and dist_cur < gap:
+            break
+
+        toc += tocLowerBound
+        if toc > toc_upperbound:
+            return toc_upperbound
+
+    return toc
+
+

The final simulation results are demonstrated in Figure 21.4.1.

+
+
+ +
+
+Figure 21.4.1. Two squares dropped onto the ground and compressed by a ceiling. The ground has friction coefficient but there is no friction between the squares so that the top square slides down to the ground without significantly changing the position of the bottom one.
+
+
+

Summary

+

We have implemented frictionless self-contact with guaranteed non-intersection for 2D FEM simulations by discretizing barrier energies onto the non-incident point-edge pairs on the boundary.

+

To compute the barrier energies, we used squared point-edge distances to avoid potential numerical issues. The point-edge distance is a piecewise smooth function with closed-form expressions depending on the relative positions of the point and the edge, and the overall function is -continuous everywhere. The derivatives of the function can be conveniently obtained by applying symbolic differentiation to each expression.

+

For line search filtering, instead of directly computing the time of impact (TOI) which is prone to numerical issues, we implemented the additive CCD method (ACCD) to obtain a sufficiently large and conservative estimate of TOI. ACCD is an iterative method that accumulates lower bounds of TOI while progressively advancing the nodes along the search direction. Before running ACCD, we perform overlap checks on the bounding boxes of the point's and edge's spans to quickly filter out non-colliding pairs.

+

In later lectures, we will see that for large-scale scenes in 3D, efficient spatial indexing strategies such as spatial hashing and bounding box hierarchies (BVH) will be needed to significantly reduce the expensive spatial search costs.

+

In the next lecture, we will implement frictional self-contact based on what we have just developed.

+
+

2D Frictional Self-Contact*

+

In this lecture, we implement 2D friction based on our 2D self-contact implementation in Case Study: 2D Self-Contact. The executable Python project for this section can be found at https://github.com/phys-sim-book/solid-sim-tutorial.

+

For simplicity, we will focus on implementing a semi-implicit version of friction. This means the normal force magnitude and the tangent operator will be discretized to the last time step, and we solve the optimization once per time step without further fixed-point iterations that converge to solutions with fully-implicit friction (Frictional Contact) under the 8_self_friction folder.

+

Combined with the smoothly approximated static-dynamic friction transition in IPC, implementing friction into an optimization time integration framework is as straightforward as adding an extra potential energy.

+
+

Discretization and Approximation

+

From Equation (18.4.2), the friction force per unit area is defined as

+

+

where is the friction coefficient, is the normal contact force, and is the relative sliding velocity. Here when , while takes any unit vector orthogonal to the normal when . Additionally, the friction scaling function is also nonsmooth with respect to , as when , and when .

+

It is important to note that without temporal discretization, there is no potential energy for friction. However, similar to Frictional Contact, once we discretize the normal force magnitude and the tangent operator to the last time step and smoothly approximate the friction scaling function , the friction force at the -th time step becomes integrable with respect to , and we obtain

+

+

Here, is the approximate relative sliding velocity, where and are the normal direction and the point in contact with in the last time step, , and

+

+

Therefore, considering self-contact, the approximate friction potential over the entire boundary can be written as

+

+

where the scaling comes from double counting the friction between each pair of contact points in the integral (similar to the normal contact forces in Boundary Conditions and Frictional Contact).

+

After discretizing the boundary curves as polylines and approximating the max operator in the normal contact force component using summations (Piecewise Linear Boundaries), we similarly obtain the spatially discretized friction potential:

+

+

Here, is the point-edge distance between and edge in the last time step, and is the approximate relative sliding velocity of the point-edge pair with contact normal and the closest point discretized to the last time step (see next section for details).

+

If we choose boundary nodes as quadrature points to approximate the integral, we finally obtain our discrete friction potential:

+

+

where is the integration weight. Denoting and , the expression of agrees with the discrete form of Equation (9.2.1) we directly derived, except that here traverses all non-incident point-edge pairs on the boundary.

+

Based on this discrete form of the smoothed semi-implicit friction potential, we now need to determine how to calculate and for point-edge pairs, implement the computation of the value, gradient, and Hessian of , and then incorporate them into the optimization.

+
+

Precomputing Normal and Tangent Information

+

To make the temporally discretized friction force integrable, we must explicitly discretize certain normal and tangent information. This information only needs to be calculated once at the beginning of each time step, as it will remain constant during each optimization.

+

First, we need to calculate for each point-edge pair using . Recall that we used squared distances as input for the barrier functions, so should be calculated using the chain rule as follows:

+

+

According to the scaled barrier function taking squared distance as input (Equation (21.3.1)), we can derive

+

+
+

+Remark 22.2.1. The set of point-edge pairs for friction in our semi-implicit friction setting is fixed in each time step and is different from the set of normal contact pairs. The set for friction only contains those pairs with , and this does not change with the optimization variable in the current time step.

+
+

Now for the tangent information, the key is to keep the normal and the barycentric coordinate of the closest point on the edge constant. For the -th point-edge pair, if we denote the node indices for the point and edge as , , and , then we can write the relative sliding velocity as

+

+

where is the barycentric coordinate and is the normal of the edge. Here we see that and are both dependent on , so directly integrating is nontrivial. By calculating and using , we obtain the semi-implicit relative sliding velocity

+

+

and now only the velocities are dependent on , which makes both integration and differentiation straightforward. If we denote , we obtain

+

+

Code

+

Next, let's look at the code. Implementation 22.2.1 calculates the barycentric coordinate of the closest point and the normal given point-edge nodal positions. The idea is to orthogonally project onto the edge.

+

+Implementation 22.2.1 (Calculating contact point and normal, PointEdgeDistance.py).

+
# compute normal and the parameterization of the closest point on the edge
+def tangent(p, e0, e1):
+    e = e1 - e0
+    ratio = np.dot(e, p - e0) / np.dot(e, e)
+    if ratio < 0:    # point(p)-point(e0) expression
+        n = p - e0
+    elif ratio > 1:  # point(p)-point(e1) expression
+        n = p - e1
+    else:            # point(p)-line(e0e1) expression
+        n = p - ((1 - ratio) * e0 + ratio * e1)
+    return [n / np.linalg.norm(n), ratio]
+
+

Then, Implementation 22.2.2 traverses all non-incident point-edge pairs with a distance smaller than , calculates , and calls the above function to calculate and .

+

As in Frictional Contact, these lines of code are executed at the beginning of each time step in time_integrator.py, and the information for each friction pair is stored and passed to the energy, gradient, and Hessian computation functions that we will discuss next.

+

+Implementation 22.2.2 (Semi-implicit friction precomputation, BarrierEnergy.py).

+
    # self-contact
+    mu_lambda_self = []
+    dhat_sqr = dhat * dhat
+    for xI in bp:
+        for eI in be:
+            if xI != eI[0] and xI != eI[1]: # do not consider a point and its incident edge
+                d_sqr = PE.val(x[xI], x[eI[0]], x[eI[1]])
+                if d_sqr < dhat_sqr:
+                    s = d_sqr / dhat_sqr
+                    # since d_sqr is used, need to divide by 8 not 2 here for consistency to linear elasticity
+                    # also, lambda = -\partial b / \partial d = -(\partial b / \partial d^2) * (\partial d^2 / \partial d)
+                    mu_lam = mu * -0.5 * contact_area[xI] * dhat * (kappa / 8 * (math.log(s) / dhat_sqr + (s - 1) / d_sqr)) * 2 * math.sqrt(d_sqr)
+                    [n, r] = PE.tangent(x[xI], x[eI[0]], x[eI[1]]) # normal and closest point parameterization on the edge
+                    mu_lambda_self.append([xI, eI[0], eI[1], mu_lam, n, r])
+
+
+

Friction Energy and Its Derivatives

+

With , , and precomputed for each friction point-edge pair, we can now conveniently compute the energy (Implementation 22.3.1), gradient (Implementation 22.3.2), and Hessian (Implementation 22.3.3) of the friction potential and add them into the optimization.

+

+Implementation 22.3.1 (Friction energy value, FrictionEnergy.py).

+
    # self-contact:
+    for i in range(0, len(mu_lambda_self)):
+        [xI, eI0, eI1, mu_lam, n, r] = mu_lambda_self[i]
+        T = np.identity(2) - np.outer(n, n)
+        rel_v = v[xI] - ((1 - r) * v[eI0] + r * v[eI1])
+        vbar = np.transpose(T).dot(rel_v)
+        sum += mu_lam * f0(np.linalg.norm(vbar), epsv, hhat)
+
+

When computing the gradient and Hessian, we used the relative velocity as an intermediate variable to make the implementation more organized. This approach is given by: + +where the derivatives of with respect to have exactly the same forms as in Frictional Contact.

+

+Implementation 22.3.2 (Friction energy gradient, FrictionEnergy.py).

+
    # self-contact:
+    for i in range(0, len(mu_lambda_self)):
+        [xI, eI0, eI1, mu_lam, n, r] = mu_lambda_self[i]
+        T = np.identity(2) - np.outer(n, n)
+        rel_v = v[xI] - ((1 - r) * v[eI0] + r * v[eI1])
+        vbar = np.transpose(T).dot(rel_v)
+        g_rel_v = mu_lam * f1_div_vbarnorm(np.linalg.norm(vbar), epsv) * T.dot(vbar)
+        g[xI] += g_rel_v
+        g[eI0] += g_rel_v * -(1 - r)
+        g[eI1] += g_rel_v * -r
+
+

+Implementation 22.3.3 (Friction energy Hessian, FrictionEnergy.py).

+
    # self-contact:
+    for i in range(0, len(mu_lambda_self)):
+        [xI, eI0, eI1, mu_lam, n, r] = mu_lambda_self[i]
+        T = np.identity(2) - np.outer(n, n)
+        rel_v = v[xI] - ((1 - r) * v[eI0] + r * v[eI1])
+        vbar = np.transpose(T).dot(rel_v)
+        vbarnorm = np.linalg.norm(vbar)
+        inner_term = f1_div_vbarnorm(vbarnorm, epsv) * np.identity(2)
+        if vbarnorm != 0:
+            inner_term += f_hess_term(vbarnorm, epsv) / vbarnorm * np.outer(vbar, vbar)
+        hess_rel_v = mu_lam * T.dot(utils.make_PSD(inner_term)).dot(np.transpose(T)) / hhat
+        index = [xI, eI0, eI1]
+        d_rel_v_dv = [1, -(1 - r), -r]
+        for nI in range(0, 3):
+            for nJ in range(0, 3):
+                for c in range(0, 2):
+                    for r in range(0, 2):
+                        IJV[0].append(index[nI] * 2 + r)
+                        IJV[1].append(index[nJ] * 2 + c)
+                        IJV[2] = np.append(IJV[2], d_rel_v_dv[nI] * d_rel_v_dv[nJ] * hess_rel_v[r, c])
+
+

After these implementations, we can finally run our compressing squares example with frictional self-contact (see: Figure 22.3.1). From the figure, we observe that once the two squares touch, the large friction between them and the ground restricts any sliding. This causes the squares to rotate counter-clockwise as they are compressed by the ceiling.

+
+
+ +
+
+Figure 22.3.1. Two squares dropped onto the ground and compressed by a ceiling. The friction coefficient is between any contacting surfaces, which restricts any sliding here in this scene and results in counter-clockwise rotations of the two squares under compression. As their interface becomes nearly vertical, the squares are finally detached.
+
+
+

Summary

+

We implemented semi-implicit friction in 2D based on squared unsigned distances of point-edge pairs and incorporated it into the time-stepping optimization.

+

We began by making the friction force integrable in the continuous setting through semi-implicit temporal discretization and a smooth approximation of the dynamic-static friction transition. The spatial discretization of the approximate friction potential follows a similar approach to the barrier potential.

+

Next, we examined the computation of the normal force magnitude , normal direction , and barycentric coordinate of the closest point for point-edge pairs. These values are calculated at the beginning of each time step and remain constant during the optimization. It is important to note that the set of point-edge pairs for friction is also constant per optimization and differs from the set used for the barrier.

+

Finally, we implemented the computation of the discrete friction potential and its derivatives. We used relative velocities as intermediate variables and applied the chain rule to organize the calculations.

+

Up to now, we have covered both the theoretical and practical aspects of a 2D solid simulator with inversion-free elastodynamics and interpenetration-free frictional self-contact. Next, we will explore the additional steps needed to extend these concepts to 3D!

+
+

3D Elastodynamics

+

To extend our 2D solid simulator (2D Frictional Self-Contact) to 3D, we can use -simplex tetrahedral elements to discretize the 3D solid domains. In this approach, the surface of the solid is represented as a triangle mesh, which is a common method in computer graphics for representing 3D geometries. Additionally, we need to sample vertices in the interior of the solid to form the tetrahedral elements required for discretizing the inertia and elasticity energies.

+
+

Kinematics

+

Similar to 2D triangle elements, we use with to express the material space coordinates of an arbitrary point in the tetrahedral element defined by vertices and as follows: + +Here, is a linear function of . Using linear shape functions, the approximate world-space coordinate is also a linear function of : + +where is denoted as . This implies that the shape functions are: +

+
+

Mass Matrix

+

Recall that the mass matrix can be calculated as + +where represents the material space of tetrahedron . Changing the integration variable from to results in +

+

For element with vertices , , , and , + +where is the volume of tetrahedron .

+

Here, we will omit the detailed derivations of each entry in the consistent mass matrix. Assuming uniform density , for the lumped mass matrix, + +where denotes the set of tetrahedra incident to node . In other words, the mass of each tetrahedron is evenly distributed among its 4 nodes, which is intuitively analogous to the 2D case.

+
+

Elasticity

+

For elasticity, similar to the 2D case, the deformation gradient is also constant within each tetrahedron, and we can compute it as + +For force and Hessian computation, the required can be computed using + +and similarly + +With , the computation of strain energy , stress and stress derivative can all be found in Strain Energy and Stress and Its Derivatives, and the computation of forces and Hessian matrices follow the same spirit as in 2D.

+

To guarantee non-inversion of the tetrahedral elements during the simulation, the critical step size that first brings the volume of any tetrahedra to can be obtained by solving a 1D equation per tetrahedron + +and then take the minimum of the solved step sizes. +Here is the search direction of node , and in 3D, this is equivalent to + +with and , . Expanding Equation (23.3.1), we obtain the following cubic equation for :

+

+

This cubic equation can sometimes degenerate into a quadratic or linear equation, particularly when node movements do not substantially alter the tetrahedron's volume. To address potential numerical instability, we scale the equation terms based on the constant term coefficient:

+

+

ensuring that magnitude checks can be safely performed with standard thresholds (e.g., ).

+

Practically, we also ensure some safety margin by solving for that reduces the volume of any tetrahedron by 80%, modifying the constant term coefficient in Equation (23.3.2) from to . If no positive real roots are found, the step size can be considered safe, and inversion will not occur. Here is the C++ code snippet for solving this scaled cubic equation:

+

+Implementation 23.3.1 (Cubic Equation Solver).

+
double getSmallestPositiveRealRoot_cubic(double a, double b, double c, double d,
+    double tol)
+{
+    // return negative value if no positive real root is found
+    double t = -1;
+
+    if (abs(a) <= tol)
+        t = getSmallestPositiveRealRoot_quad(b, c, d, tol); // covered in the 2D case
+    else {
+        complex<double> i(0, 1);
+        complex<double> delta0(b * b - 3 * a * c, 0);
+        complex<double> delta1(2 * b * b * b - 9 * a * b * c + 27 * a * a * d, 0);
+        complex<double> C = pow((delta1 + sqrt(delta1 * delta1 - 4.0 * delta0 * delta0 * delta0)) / 2.0, 1.0 / 3.0);
+        if (std::abs(C) == 0.0) // a corner case
+            C = pow((delta1 - sqrt(delta1 * delta1 - 4.0 * delta0 * delta0 * delta0)) / 2.0, 1.0 / 3.0);
+
+        complex<double> u2 = (-1.0 + sqrt(3.0) * i) / 2.0;
+        complex<double> u3 = (-1.0 - sqrt(3.0) * i) / 2.0;
+
+        complex<double> t1 = (b + C + delta0 / C) / (-3.0 * a);
+        complex<double> t2 = (b + u2 * C + delta0 / (u2 * C)) / (-3.0 * a);
+        complex<double> t3 = (b + u3 * C + delta0 / (u3 * C)) / (-3.0 * a);
+
+        if ((abs(imag(t1)) < tol) && (real(t1) > 0))
+            t = real(t1);
+        if ((abs(imag(t2)) < tol) && (real(t2) > 0) && ((real(t2) < t) || (t < 0)))
+            t = real(t2);
+        if ((abs(imag(t3)) < tol) && (real(t3) > 0) && ((real(t3) < t) || (t < 0)))
+            t = real(t3);
+    }
+    return t;
+}
+
+
+

Summary

+

In this section, we delve into the process of extending our solid simulator to accommodate 3D elastodynamic simulation.

+

This enhancement involves discretizing the solid domain using 3-simplex tetrahedral elements. Consequently, the kinematics, mass matrix, and elasticity energies adopt the same approach as in 2D, but now incorporate an additional dimension for the per-element parameter space, integration, and deformation gradient.

+

To maintain inversion-free elements, line search filtering operates similarly, though it now entails solving cubic equations for each element.

+

In the following section, we will explore the extension of the frictional contact component to 3D scenarios.

+
+

3D Frictional Self-Contact

+

In 3D, the contact between the solid domain boundaries represented as triangle meshes can be reduced to point-triangle and edge-edge contacts. Intuitively, the point-edge contact pairs in 2D extend directly to 3D as point-triangle pairs. However, even if we prevent all point-triangle interpenetrations in 3D, the triangle meshes can still penetrate each other. This necessitates accounting for edge-edge pairs, especially when the resolution of the mesh is not very high.

+
+

Barrier and Distances

+

With triangle mesh discretization, the barrier potential in the continuous settings (Equation (18.3.5)) can be approximated as + +where is the set of all surface triangles, is the set of all surface triangles that hold point , and is the point-triangle distance. +Further approximating the max operator with summations and use mesh surface nodes as quadrature points, we have + +where is the integration weight and is the area of node 's incident surface triangle .

+

Now, getting back to the second line of Equation (24.1.1), if we only use points on the edges to approximate the minimum distance, we obtain + +Then if we choose a special quadrature point per surface edge and approximate the max operators with summations, we get + +where is the integration weight and is the area of 's incident surface triangle . +Next, if we always select to be the closest point to on , we will get + +where is the set of all the surface edge neighbors of plus itself. For the summation over all surface edges in Equation (24.1.3), if we only account for with or the other way around, then the coefficient can be omitted.

+

Now we have two kinds of discretizations for the 3D barrier potential energy. To use them together in practice, we can take advantage of a linear combination of them, and the coefficient could usually be set to .

+

For point-triangle and edge-edge distances, they are also both small optimization problems with analytical solutions, which can be represented as piecewise smooth functions like the 2D Point-Edge distance in Equation (21.2.1). +For example, in the point-triangle case, the expression can be determined by checking which region the projection of the point onto the triangle plane is located.

+
+

+Definition 24.1.1 (3D Point-Triangle Distance). The distance between point and triangle with vertices , , and can be defined as

+
+
+

+Definition 24.1.2 (3D Edge-Edge Distance). The distance between edge with end nodes and and edge with end nodes and can be defined as +

+
+
+

+Remark 24.1.1 (Smoothness of 3D Distance Functions). Note that the point-triangle distance is at least continuous everywhere. This means that even when the projected point is located on the borders of the piecewise function, the distance gradient still exists and is continuous. However, for edge-edge distance, when the edges are parallel, the distance function is only continuous, as the gradient of the expressions in adjacent regions do not agree. To address this issue, IPC [Li et al. 2020] proposed multiplying a mollifier to the edge-edge barrier energy density function to make the potential continuous everywhere. This mollifier smoothly decreases to zero when the edges are parallel. This ensures that gradient-based optimization methods can still be applied efficiently to solve the problem.

+
+
+

Collision Detection

+

Collision detection in 3D can be significantly more computationally intensive than in 2D due to the larger number of surface primitives involved. Thankfully, spatial data structures like spatial hashing and bounding volume hierarchies (BVH) help efficiently reduce the number of candidate primitive pairs, making continuous collision detection (CCD) more manageable.

+

Spatial Hashing

+

The core idea of spatial hashing is to partition the space into a uniform grid and assign each grid cell an array to store the indices of primitives whose bounding boxes intersect with that cell. To find the nearby primitives of a given primitive (e.g., a point), we identify the grid cells intersecting with 's bounding box and retrieve the primitive indices stored in these cells. This approach ensures that only nearby primitives are checked for collisions using CCD, eliminating the need for a nested loop to examine all primitive pairs.

+

Bounding Volume Hierarchies (BVH)

+

BVH is another effective method for broad-phase collision detection. It organizes primitives into a hierarchy of bounding volumes, allowing for efficient pruning of the search space when detecting potential collisions.

+

ACCD Method

+

The ACCD (Adaptive Continuous Collision Detection) method, as discussed in Continuous Collision Detection, is applicable in 3D. In this context, the distance calculations need to be adapted for point-triangle and edge-edge pairs.

+

Broad Phase Collision Detection

+

For computing the barrier potential energy, gradient, and Hessian, it is faster and essential to first gather a set of nearby candidate primitive pairs. Then, we compute their distances to determine if they are active (i.e., within a distance ). This filtering process is part of the broad-phase collision detection and can be efficiently implemented using spatial hashing or BVH.

+

By employing these spatial data structures, we significantly reduce the computational load, focusing our detailed collision checks on a manageable subset of nearby primitives.

+
+

Friction

+

3D friction is quite similar to its 2D counterpart, with the primary difference being the types of contact pairs involved. In 3D, these contact pairs are point-triangle and edge-edge pairs. Consequently, the barycentric coordinates of the closest points are now two-dimensional, represented by the optimal values of and in the definitions provided in Definition 24.1.1 and Definition 24.1.2.

+

In practice, this means that while the principles of friction remain the same, the specific calculations adjust to account for the geometry of the contact pairs in 3D space.

+
+

Summary

+

In this section, we discussed the main technical details of implementing a 3D contact handling method based on Implicit Contact Prediction (IPC).

+

In 3D, both distance and friction basis computations become more complex. These computations rely on point-triangle and edge-edge primitive pairs, similar to the point-edge pairs used in 2D.

+

For edge-edge distances, which are only -continuous, an additional mollification function that smoothly decreases to zero is necessary. This function is multiplied with the barrier energy density function to achieve -continuity, enabling the use of efficient gradient-based optimization methods.

+

Due to the significantly larger number of primitive pairs in 3D, spatial data structures like spatial hashing or bounding volume hierarchies (BVH) are often used in the broad phase to filter candidates before computing distances or performing CCD.

+
+

Bibliography

+ + +
+
+ +[Jiang et al. 2016] - Jiang, Chenfanfu and Schroeder, Craig and Teran, Joseph and Stomakhin, Alexey and Selle, Andrew - The Material Point Method for Simulating Continuum Materials. - 2016. - + + +
+

Summary/Abstract

+
N/A
+
+
+
+
+
+
+ +[Chen et al. 2022] - Chen, Yunuo and Li, Minchen and Lan, Lei and Su, Hao and Yang, Yin and Jiang, Chenfanfu - A unified newton barrier method for multibody dynamics. - 2022. - + + +
+

Summary/Abstract

+
N/A
+
+
+
+
+
+
+ +[Li et al. 2020] - Li, Minchen and Ferguson, Zachary and Schneider, Teseo and Langlois, Timothy R and Zorin, Denis and Panozzo, Daniele and Jiang, Chenfanfu and Kaufman, Danny M - Incremental potential contact: intersection-and inversion-free, large-deformation dynamics.. - 2020. - + + +
+

Summary/Abstract

+
N/A
+
+
+
+
+
+
+ +[Stomakhin et al. 2012] - Stomakhin, Alexey and Howes, Russell and Schroeder, Craig A and Teran, Joseph M - Energetically Consistent Invertible Elasticity.. - 2012. - + + +
+

Summary/Abstract

+
N/A
+
+
+
+
+
+
+ +[Smith et al. 2018] - Smith, Breannan and Goes, Fernando De and Kim, Theodore - Stable neo-hookean flesh simulation. - 2018. - + + +
+

Summary/Abstract

+
N/A
+
+
+
+
+
+
+ +[Schroeder 2022] - Schroeder, Craig - Practical course on computing derivatives in code. - 2022. - + + +
+

Summary/Abstract

+
N/A
+
+
+
+
+
+
+ +[Irving et al. 2004] - Irving, Geoffrey and Teran, Joseph and Fedkiw, Ronald - Invertible finite elements for robust simulation of large deformation. - 2004. - + + +
+

Summary/Abstract

+
N/A
+
+
+
+
+
+
+ +[Gonzalez & Stuart 2008] - Gonzalez, Oscar and Stuart, Andrew M - A first course in continuum mechanics. - 2008. - + + +
+

Summary/Abstract

+
N/A
+
+
+
+
+
+
+ +[Sifakis & Barbic 2022] - Sifakis, Eftychios and Barbic, Jernej - Finite element method simulation of 3d deformable solids. - 2022. - + + +
+

Summary/Abstract

+
N/A
+
+
+
+
+
+
+ +[Xu et al. 2015] - Xu, Hongyi and Sin, Funshing and Zhu, Yufeng and Barbic, Jernej - Nonlinear material design using principal stretches. - 2015. - + + +
+

Summary/Abstract

+
N/A
+
+
+
+
+
+
+ +[Li et al. 2023] - Li, Minchen and Ferguson, Zachary and Schneider, Teseo and Langlois, Timothy and Zorin, Denis and Panozzo, Daniele and Jiang, Chenfanfu and Kaufman, Danny M - Convergent Incremental Potential Contact. - 2023. - + + +
+

Summary/Abstract

+
N/A
+
+
+
+
+
+
+ +[Li et al. 2021] - Li, Minchen and Kaufman, Danny M and Jiang, Chenfanfu - Codimensional incremental potential contact. - 2021. - + + +
+

Summary/Abstract

+
N/A
+
+
+
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + +
+ + diff --git a/references.bib b/references.bib new file mode 100644 index 0000000..58aa8d1 --- /dev/null +++ b/references.bib @@ -0,0 +1,107 @@ +@incollection{jiang2016material, + title={The Material Point Method for Simulating Continuum Materials}, + author={Jiang, Chenfanfu and Schroeder, Craig and Teran, Joseph and Stomakhin, Alexey and Selle, Andrew}, + booktitle={ACM SIGGRAPH 2016 courses}, + year={2016} +} + +@article{chen2022unified, + title={A unified newton barrier method for multibody dynamics}, + author={Chen, Yunuo and Li, Minchen and Lan, Lei and Su, Hao and Yang, Yin and Jiang, Chenfanfu}, + journal={ACM Transactions on Graphics (TOG)}, + volume={41}, + number={4}, + pages={1--14}, + year={2022}, + publisher={ACM New York, NY, USA} +} + +@article{li2020incremental, + title={Incremental potential contact: intersection-and inversion-free, large-deformation dynamics.}, + author={Li, Minchen and Ferguson, Zachary and Schneider, Teseo and Langlois, Timothy R and Zorin, Denis and Panozzo, Daniele and Jiang, Chenfanfu and Kaufman, Danny M}, + journal={ACM Trans. Graph.}, + volume={39}, + number={4}, + pages={49}, + year={2020} +} + +@inproceedings{stomakhin2012energetically, + title={Energetically Consistent Invertible Elasticity.}, + author={Stomakhin, Alexey and Howes, Russell and Schroeder, Craig A and Teran, Joseph M}, + booktitle={Symposium on Computer Animation}, + volume={1}, + number={2}, + year={2012} +} + +@article{smith2018stable, + title={Stable neo-hookean flesh simulation}, + author={Smith, Breannan and Goes, Fernando De and Kim, Theodore}, + journal={ACM Transactions on Graphics (TOG)}, + volume={37}, + number={2}, + pages={1--15}, + year={2018}, + publisher={ACM New York, NY, USA} +} + +@incollection{schroeder2022practical, + title={Practical course on computing derivatives in code}, + author={Schroeder, Craig}, + booktitle={ACM SIGGRAPH 2022 Courses}, + pages={1--28}, + year={2022} +} + +@inproceedings{irving2004invertible, + title={Invertible finite elements for robust simulation of large deformation}, + author={Irving, Geoffrey and Teran, Joseph and Fedkiw, Ronald}, + booktitle={Proceedings of the 2004 ACM SIGGRAPH/Eurographics symposium on Computer animation}, + pages={131--140}, + year={2004} +} + +@book{gonzalez2008first, + title={A first course in continuum mechanics}, + author={Gonzalez, Oscar and Stuart, Andrew M}, + volume={42}, + year={2008}, + publisher={Cambridge University Press} +} + +@book{sifakis2022finite, + title={Finite element method simulation of 3d deformable solids}, + author={Sifakis, Eftychios and Barbic, Jernej}, + year={2022}, + publisher={Springer Nature} +} + +@article{xu2015nonlinear, + title={Nonlinear material design using principal stretches}, + author={Xu, Hongyi and Sin, Funshing and Zhu, Yufeng and Barbic, Jernej}, + journal={ACM Transactions on Graphics (TOG)}, + volume={34}, + number={4}, + pages={1--11}, + year={2015}, + publisher={ACM New York, NY, USA} +} + +@article{li2023convergent, + title={Convergent Incremental Potential Contact}, + author={Li, Minchen and Ferguson, Zachary and Schneider, Teseo and Langlois, Timothy and Zorin, Denis and Panozzo, Daniele and Jiang, Chenfanfu and Kaufman, Danny M}, + journal={arXiv preprint arXiv:2307.15908}, + year={2023} +} + +@article{li2021codimensional, + title={Codimensional incremental potential contact}, + author={Li, Minchen and Kaufman, Danny M and Jiang, Chenfanfu}, + journal={ACM Transactions on Graphics (TOG)}, + volume={40}, + number={4}, + pages={1--24}, + year={2021}, + publisher={ACM New York, NY, USA} +} \ No newline at end of file diff --git a/searcher.js b/searcher.js new file mode 100644 index 0000000..dc03e0a --- /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 0000000..e084564 --- /dev/null +++ b/searchindex.js @@ -0,0 +1 @@ +Object.assign(window.search, {"doc_urls":["preface.html#overview","preface.html#contributing","preface.html#version-100-released-20245","preface.html#bibtex","lec1-discrete_space_time.html#lecture-1-discrete-space-and-time","lec1.1-solid_rep.html#representations-of-a-solid-geometry","lec1.2-newton_2nd_law.html#newtons-second-law","lec1.3-time_integration.html#time-integration","lec1.4-explicit_time_integration.html#explicit-time-integration","lec1.4-explicit_time_integration.html#forward-euler","lec1.4-explicit_time_integration.html#symplectic-euler","lec1.5-implicit_time_integration.html#implicit-time-integration","lec1.6-summary.html#summary","lec2-opt_framework.html#lecture-2-optimization-framework","lec2.1-opt_time_integration.html#optimization-time-integrator","lec2.2-dirichlet_BC.html#dirichlet-boundary-conditions","lec2.3-contact.html#contact","lec2.4-friction.html#friction","lec2.5-summary.html#summary","lec3-projected_Newton.html#projected-newton","lec3.1-conv_issue_Newton.html#convergence-issue-of-newtons-method","lec3.2-line_search.html#line-search","lec3.3-grad_based_opt.html#gradient-based-optimization","lec3.4-summary.html#summary","lec4-2d_mass_spring.html#case-study-2d-mass-spring","lec4.1-discretizations.html#spatial-and-temporal-discretizations","lec4.2-inertia.html#inertia-term","lec4.3-mass_spring_energy.html#mass-spring-potential-energy","lec4.4-opt_time_integrator.html#optimization-time-integrator","lec4.5-sim_with_vis.html#simulator-with-visualization","lec4.6-summary.html#summary","lec5-dirichlet_BC_solve.html#dirichlet-boundary-conditions","lec5.1-equality_constraints.html#equality-constraint-formulation","lec5.2-DOF_elimin.html#dof-elimination-method","lec5.2-DOF_elimin.html#a-more-practical-approach","lec5.3-hanging_square.html#case-study-hanging-square","lec5.4-summary.html#summary","lec6-slip_DBC.html#slip-dirichlet-boundary-conditions","lec6.1-axis_aligned.html#axis-aligned-slip-dbc","lec6.2-change_of_vars.html#change-of-variables","lec6.2-change_of_vars.html#challenges-with-general-slip-dbcs-and-the-dof-elimination-method","lec6.2-change_of_vars.html#simplifying-constraints-using-singular-value-decomposition","lec6.3-general_slip_DBC.html#general-slip-dbc","lec6.4-summary.html#summary","lec7-dist_barrier.html#distance-barrier-for-nonpenetration","lec7.1-signed_dists.html#signed-distances","lec7.2-dist_barrier_formulation.html#distance-barrier","lec7.2-dist_barrier_formulation.html#constrained-optimization","lec7.2-dist_barrier_formulation.html#logarithm-barrier-potential-in-contact-modeling","lec7.3-sol_accuracy.html#solution-accuracy","lec7.4-summary.html#summary","lec8-filter_line_search.html#filter-line-search","lec8.1-tunneling.html#the-tunneling-issue","lec8.2-nonpenetration_traj.html#penetration-free-trajectory","lec8.3-square_drop.html#case-study-square-drop","lec8.4-summary.html#summary","lec9-friction.html#frictional-contact","lec9.1-smooth_fric.html#smooth-dynamic-static-transition","lec9.2-semi_imp_fric.html#semi-implicit-discretization","lec9.3-fixed_point_iter.html#fixed-point-iteration","lec9.4-summary.html#summary","lec10-square_on_slope.html#case-study-square-on-slope","lec10.1-ground_to_slope.html#from-ground-to-slope","lec10.2-slope_fric.html#slope-friction","lec10.3-summary.html#summary","lec11-mov_DBC.html#moving-boundary-conditions","lec11.1-penalty_method.html#penalty-method","lec11.2-compress_square.html#case-study-compressing-square","lec11.3-summary.html#summary","lec12-kinematics.html#kinematics-theory","lec12.1-continuum_motion.html#continuum-motion","lec12.2-deformation.html#deformation","lec12.3-summary.html#summary","lec13-strain_energy.html#strain-energy","lec13.1-rigid_null_rot_inv.html#rigid-null-space-and-rotation-invariance","lec13.2-polar_svd.html#polar-singular-value-decomposition","lec13.3-simp_model_inversion.html#simplified-models-and-invertibility","lec13.4-summary.html#summary","lec14-stress_and_derivatives.html#stress-and-its-derivatives","lec14.1-stress.html#stress","lec14.2-compute_P.html#computing-p","lec14.2-compute_P.html#additional-proof-for-pΣpΣΨ","lec14.3-compute_stress_deriv.html#computing-pf-or-δp","lec14.4-summary.html#summary","lec15-inv_free_elasticity.html#case-study-inversion-free-elasticity","lec15.1-linear_tri_elem.html#linear-triangle-elements","lec15.2-energy_grad_hess.html#computing-energy-gradient-and-hessian","lec15.3-filter_line_search.html#filter-line-search-for-non-inversion","lec15.4-summary.html#summary","lec16-strong_and_weak_forms.html#strong-and-weak-forms","lec16.1-mass_conserv.html#conservation-of-mass","lec16.2-momentum_conserv.html#conservation-of-momentum","lec16.3-weak_form.html#weak-form","lec16.4-summary.html#summary","lec17-disc_weak_form.html#discretization-of-weak-forms","lec17.1-discrete_space.html#discrete-space","lec17.2-discrete_time.html#discrete-time","lec17.3-summary.html#summary","lec18-BC_and_fric.html#boundary-conditions-and-frictional-contact","lec18.1-incorporate_BC.html#incorporating-boundary-conditions","lec18.2-normal_contact.html#normal-contact-for-non-penetration","lec18.3-barrier_potential.html#barrier-potential","lec18.4-friction_force.html#friction-force","lec18.5-summary.html#summary","lec19-linear_FEM.html#linear-finite-elements","lec19.1-linear_disp_field.html#piecewise-linear-displacement-field","lec19.2-mass_matrix.html#mass-matrix-and-lumping","lec19.3-elasticity_term.html#elasticity-term","lec19.4-summary.html#summary","lec20-pw_linear_boundary.html#piecewise-linear-boundaries","lec20.1-boundary_conditions.html#boundary-conditions","lec20.1-boundary_conditions.html#dirichlet","lec20.1-boundary_conditions.html#neumann","lec20.2-obstacle_contact.html#solid-obstacle-contact","lec20.3-self_contact.html#self-contact","lec20.4-summary.html#summary","lec21-2d_self_contact.html#case-study-2d-self-contact","lec21.1-scene_setup.html#scene-setup-and-boundary-element-collection","lec21.2-point_edge_dist.html#point-edge-distance","lec21.3-barrier_and_derivatives.html#barrier-energy-and-its-derivatives","lec21.4-ccd.html#continuous-collision-detection","lec21.5-summary.html#summary","lec22-2d_self_fric.html#2d-frictional-self-contact","lec22.1-disc_and_approx.html#discretization-and-approximation","lec22.2-precompute.html#precomputing-normal-and-tangent-information","lec22.2-precompute.html#code","lec22.3-fric_and_derivatives.html#friction-energy-and-its-derivatives","lec22.4-summary.html#summary","lec23-3d_elastodynamics.html#3d-elastodynamics","lec23.1-kinematics.html#kinematics","lec23.2-mass_matrix.html#mass-matrix","lec23.3-elasticity.html#elasticity","lec23.4-summary.html#summary","lec24-3d_fric_self_contact.html#3d-frictional-self-contact","lec24.1-barrier_and_dist.html#barrier-and-distances","lec24.2-collision_detection.html#collision-detection","lec24.2-collision_detection.html#spatial-hashing","lec24.2-collision_detection.html#bounding-volume-hierarchies-bvh","lec24.2-collision_detection.html#accd-method","lec24.2-collision_detection.html#broad-phase-collision-detection","lec24.3-friction.html#friction","lec24.4-summary.html#summary","bibliography.html#bibliography"],"index":{"documentStore":{"docInfo":{"0":{"body":13,"breadcrumbs":2,"title":1},"1":{"body":34,"breadcrumbs":2,"title":1},"10":{"body":129,"breadcrumbs":8,"title":2},"100":{"body":133,"breadcrumbs":11,"title":4},"101":{"body":364,"breadcrumbs":8,"title":2},"102":{"body":85,"breadcrumbs":8,"title":2},"103":{"body":86,"breadcrumbs":6,"title":1},"104":{"body":78,"breadcrumbs":6,"title":3},"105":{"body":229,"breadcrumbs":11,"title":4},"106":{"body":138,"breadcrumbs":9,"title":3},"107":{"body":141,"breadcrumbs":7,"title":2},"108":{"body":77,"breadcrumbs":5,"title":1},"109":{"body":33,"breadcrumbs":6,"title":3},"11":{"body":248,"breadcrumbs":9,"title":3},"110":{"body":0,"breadcrumbs":7,"title":2},"111":{"body":48,"breadcrumbs":6,"title":1},"112":{"body":164,"breadcrumbs":6,"title":1},"113":{"body":211,"breadcrumbs":9,"title":3},"114":{"body":286,"breadcrumbs":7,"title":2},"115":{"body":118,"breadcrumbs":5,"title":1},"116":{"body":55,"breadcrumbs":10,"title":5},"117":{"body":282,"breadcrumbs":15,"title":5},"118":{"body":420,"breadcrumbs":11,"title":3},"119":{"body":301,"breadcrumbs":11,"title":3},"12":{"body":129,"breadcrumbs":5,"title":1},"120":{"body":497,"breadcrumbs":11,"title":3},"121":{"body":146,"breadcrumbs":7,"title":1},"122":{"body":82,"breadcrumbs":8,"title":4},"123":{"body":246,"breadcrumbs":8,"title":2},"124":{"body":164,"breadcrumbs":12,"title":4},"125":{"body":207,"breadcrumbs":9,"title":1},"126":{"body":273,"breadcrumbs":10,"title":3},"127":{"body":129,"breadcrumbs":6,"title":1},"128":{"body":45,"breadcrumbs":4,"title":2},"129":{"body":43,"breadcrumbs":4,"title":1},"13":{"body":0,"breadcrumbs":6,"title":4},"130":{"body":62,"breadcrumbs":6,"title":2},"131":{"body":301,"breadcrumbs":4,"title":1},"132":{"body":67,"breadcrumbs":4,"title":1},"133":{"body":48,"breadcrumbs":8,"title":4},"134":{"body":281,"breadcrumbs":8,"title":2},"135":{"body":38,"breadcrumbs":8,"title":2},"136":{"body":55,"breadcrumbs":8,"title":2},"137":{"body":21,"breadcrumbs":10,"title":4},"138":{"body":22,"breadcrumbs":8,"title":2},"139":{"body":52,"breadcrumbs":10,"title":4},"14":{"body":278,"breadcrumbs":8,"title":3},"140":{"body":55,"breadcrumbs":6,"title":1},"141":{"body":92,"breadcrumbs":6,"title":1},"142":{"body":278,"breadcrumbs":2,"title":1},"15":{"body":197,"breadcrumbs":8,"title":3},"16":{"body":604,"breadcrumbs":4,"title":1},"17":{"body":150,"breadcrumbs":4,"title":1},"18":{"body":192,"breadcrumbs":4,"title":1},"19":{"body":0,"breadcrumbs":4,"title":2},"2":{"body":13,"breadcrumbs":5,"title":4},"20":{"body":225,"breadcrumbs":9,"title":4},"21":{"body":226,"breadcrumbs":6,"title":2},"22":{"body":359,"breadcrumbs":8,"title":3},"23":{"body":84,"breadcrumbs":4,"title":1},"24":{"body":41,"breadcrumbs":10,"title":5},"25":{"body":229,"breadcrumbs":11,"title":3},"26":{"body":182,"breadcrumbs":9,"title":2},"27":{"body":380,"breadcrumbs":13,"title":4},"28":{"body":327,"breadcrumbs":11,"title":3},"29":{"body":624,"breadcrumbs":9,"title":2},"3":{"body":10,"breadcrumbs":2,"title":1},"30":{"body":108,"breadcrumbs":7,"title":1},"31":{"body":45,"breadcrumbs":6,"title":3},"32":{"body":352,"breadcrumbs":9,"title":3},"33":{"body":130,"breadcrumbs":9,"title":3},"34":{"body":286,"breadcrumbs":9,"title":3},"35":{"body":280,"breadcrumbs":11,"title":4},"36":{"body":78,"breadcrumbs":5,"title":1},"37":{"body":62,"breadcrumbs":8,"title":4},"38":{"body":117,"breadcrumbs":12,"title":4},"39":{"body":0,"breadcrumbs":8,"title":2},"4":{"body":149,"breadcrumbs":8,"title":5},"40":{"body":85,"breadcrumbs":13,"title":7},"41":{"body":208,"breadcrumbs":12,"title":6},"42":{"body":231,"breadcrumbs":10,"title":3},"43":{"body":88,"breadcrumbs":6,"title":1},"44":{"body":49,"breadcrumbs":6,"title":3},"45":{"body":365,"breadcrumbs":7,"title":2},"46":{"body":0,"breadcrumbs":7,"title":2},"47":{"body":66,"breadcrumbs":7,"title":2},"48":{"body":214,"breadcrumbs":10,"title":5},"49":{"body":188,"breadcrumbs":7,"title":2},"5":{"body":634,"breadcrumbs":9,"title":3},"50":{"body":212,"breadcrumbs":5,"title":1},"51":{"body":127,"breadcrumbs":6,"title":3},"52":{"body":204,"breadcrumbs":7,"title":2},"53":{"body":550,"breadcrumbs":9,"title":3},"54":{"body":441,"breadcrumbs":11,"title":4},"55":{"body":122,"breadcrumbs":5,"title":1},"56":{"body":46,"breadcrumbs":4,"title":2},"57":{"body":237,"breadcrumbs":10,"title":4},"58":{"body":283,"breadcrumbs":8,"title":3},"59":{"body":158,"breadcrumbs":8,"title":3},"6":{"body":190,"breadcrumbs":9,"title":3},"60":{"body":85,"breadcrumbs":4,"title":1},"61":{"body":64,"breadcrumbs":8,"title":4},"62":{"body":305,"breadcrumbs":8,"title":2},"63":{"body":467,"breadcrumbs":8,"title":2},"64":{"body":57,"breadcrumbs":6,"title":1},"65":{"body":93,"breadcrumbs":6,"title":3},"66":{"body":277,"breadcrumbs":7,"title":2},"67":{"body":752,"breadcrumbs":11,"title":4},"68":{"body":83,"breadcrumbs":5,"title":1},"69":{"body":143,"breadcrumbs":4,"title":2},"7":{"body":201,"breadcrumbs":7,"title":2},"70":{"body":281,"breadcrumbs":6,"title":2},"71":{"body":316,"breadcrumbs":4,"title":1},"72":{"body":55,"breadcrumbs":4,"title":1},"73":{"body":89,"breadcrumbs":4,"title":2},"74":{"body":353,"breadcrumbs":12,"title":5},"75":{"body":184,"breadcrumbs":10,"title":4},"76":{"body":217,"breadcrumbs":8,"title":3},"77":{"body":162,"breadcrumbs":4,"title":1},"78":{"body":59,"breadcrumbs":4,"title":2},"79":{"body":271,"breadcrumbs":4,"title":1},"8":{"body":27,"breadcrumbs":9,"title":3},"80":{"body":114,"breadcrumbs":6,"title":2},"81":{"body":87,"breadcrumbs":7,"title":3},"82":{"body":437,"breadcrumbs":8,"title":3},"83":{"body":94,"breadcrumbs":4,"title":1},"84":{"body":73,"breadcrumbs":10,"title":5},"85":{"body":313,"breadcrumbs":11,"title":3},"86":{"body":751,"breadcrumbs":13,"title":4},"87":{"body":385,"breadcrumbs":15,"title":5},"88":{"body":127,"breadcrumbs":7,"title":1},"89":{"body":135,"breadcrumbs":6,"title":3},"9":{"body":142,"breadcrumbs":8,"title":2},"90":{"body":139,"breadcrumbs":7,"title":2},"91":{"body":215,"breadcrumbs":7,"title":2},"92":{"body":272,"breadcrumbs":7,"title":2},"93":{"body":97,"breadcrumbs":5,"title":1},"94":{"body":67,"breadcrumbs":6,"title":3},"95":{"body":316,"breadcrumbs":7,"title":2},"96":{"body":74,"breadcrumbs":7,"title":2},"97":{"body":115,"breadcrumbs":5,"title":1},"98":{"body":32,"breadcrumbs":8,"title":4},"99":{"body":174,"breadcrumbs":10,"title":3}},"docs":{"0":{"body":"This free online book marks our commitment to make the theory and algorithms of physics-based simulations accessible to everyone.","breadcrumbs":"Preface » Overview","id":"0","title":"Overview"},"1":{"body":"If you are interested in contributing to editing and improving this book, please do it through a Github pull request on the mdbook-src repository (not the HTML repository) , or directly contact Minchen Li and Chenfanfu Jiang . Depending on the nature of your contribution, you'll be listed as book co-authors or community contributors in future builds of the book.","breadcrumbs":"Preface » Contributing","id":"1","title":"Contributing"},"10":{"body":"If we put superscript \\(n+1\\) on \\(v\\) in the position derivative discretization while keeping the velocity derivative the same, we get a new update rule: Method 1.4.2 (Symplectic Euler Time Integration for Newton's Second Law). Given the current state variables, the mass matrix, and the time step size from \\(t^n\\) to \\(t^{n+1}\\), xn+1vn+1​=xn+Δtvn+1=vn+ΔtM−1fn,​(1.4.3) where \\(n=0,1,2,\\dots\\). With a minor alteration, the integration becomes conditionally stable . This implies that if \\(\\Delta t\\) remains within a problem-specific limit, we can effectively confine the numerical error of the solution. Moreover, the Symplectic Euler method exhibits an appealing trait of system energy preservation, as demonstrated in the middle of the figure below. Figure 1.4.1 (Stability of Time Integrators). The provided illustration showcases a particle executing constant circular motion, simulated using the forward Euler, Symplectic Euler, and implicit Euler methods, respectively from left to right. The varying colors within the illustration represent the progression of time. Notably, each method exhibits distinct characteristics in the simulation: the forward Euler simulation eventually undergoes an unstable escalation, the Symplectic Euler closely adheres to the theoretical trajectory, and the implicit Euler, while maintaining stability, gradually brings the motion to a halt.","breadcrumbs":"Discrete Space and Time » Explicit Time Integration » Symplectic Euler","id":"10","title":"Symplectic Euler"},"100":{"body":"To prevent self-interpenetration during simulation, it's essential to enforce a condition ensuring that the deformation map ϕ(⋅,t):Ω0→Ωt is bijective for any t≥0. This bijection is maintained by boundary forces acting on pairs of contacting surface regions, referred to as ΓC​. We can think of these forces as another set of Neumann boundary conditions that exert extra forces on ΓC​ only when necessary to prevent interpenetration. Thus, we can extend the boundary integral term in the weak form as follows: ​∫∂Ω0​Qi​(X,t)Ti​(X,t)ds(X)=∫ΓD​​Qi​(X,t)TD∣i​(X,t)ds(X)+∫ΓN​​Qi​(X,t)TN∣i​(X,t)ds(X)+∫ΓC​​Qi​(X,t)TC∣i​(X,t)ds(X),​(18.2.1) where TN​(X,t) is the original Neumann boundary force specified in the problem setup, and TC​(X,t) is the normal contact force arising from the bijectivity constraint. Similar to Dirichlet boundary conditions, TC​(X,t) can only be determined once we solve the problem. However, enforcing non-interpenetration is more complex than prescribing displacements. Fortunately, we can use the approximate constitutive model of TC​(X,t) in IPC to represent the contact force as a function of x, ensuring non-interpenetration by simply including this additional conservative force. Remark 18.2.1 (Overlapping Boundaries). Note that here ΓC​ can overlap with both ΓD​ and ΓN​. For a free (Neumann) boundary contacting a Dirichlet boundary, TC​(X,t) on the Dirichlet part will also be ignored when enforcing the Dirichlet boundary conditions. However, if two Dirichlet boundaries interpenetrate each other, the problem will have no solution with the bijectivity constraint.","breadcrumbs":"Boundary Conditions and Frictional Contact » Normal Contact for Nonpenetration » Normal Contact for Non-penetration","id":"100","title":"Normal Contact for Non-penetration"},"101":{"body":"As discussed in Distance Barrier for Nonpenetration , the principle of IPC for solid-to-obstacle contact is to use a barrier function to ensure that the signed distance between any nodal degrees of freedom (DOFs) and obstacles remains positive throughout the simulation. To handle self-contact, potentially for codimensional objects, this idea is extended to ensure that the unsigned distance between any boundary points and the boundary remains nonzero throughout the simulation. Let's consider two colliding regions, Γ1​⊂∂Ω0 and Γ2​⊂∂Ω0, on the boundary. For any point X1​∈Γ1​, we must ensure that the closest distance between X1​ and any point on Γ2​ remains nonzero. This can be achieved by using a barrier function to enforce this minimum distance, where the negative gradient of the function provides the contact force. This can be written as TC​(X1​,t)=−∂x(X1​,t)∂b(minX2​∈Γ2​​∥x(X1​,t)−x(X2​,t)∥,d^)​,(18.3.1) where b is the barrier function: b(d,d^)={2κ​d^(d^d​−1)lnd^d​0​d0, while s(VF​) takes any unit vector orthogonal to N(X,t) when ∥VF​∥=0. In addition, the friction scaling function f is also nonsmooth with respect to VF​, since f(∥VF​∥)=1 when ∥VF​∥>0, and f(∥VF​∥)∈[0,1] when ∥VF​∥=0. These nonsmooth properties can severely hinder or even break the convergence of gradient-based optimization. The mollification of the friction-velocity relationship here follows the same approach as in Frictional Contact .","breadcrumbs":"Boundary Conditions and Frictional Contact » Friction Force » Friction Force","id":"102","title":"Friction Force"},"103":{"body":"We have discussed Neumann and Dirichlet boundary conditions as well as frictional contact in the continuous setting to complete a rigorous problem formulation. Combining everything in strong form, for all t≥0: R(X,0)∂t∂V​(X,t)=∇X⋅P(X,t)+R(X,0)Aext(X,t),x=xD​(X,t),P(X,t)N(X)=TN​(X,t)+TC​(X,t)+TF​(X,t),ϕ(X,t):Ω0→Ωt is bijective,TF​(X,t)=β∈Rdargmin​βTVF​(X,t)s.t.∥β∥≤μ∥TC​(X,t)∥ and β⋅N(X,t)=0,​∀ X∈Ω0;∀ X∈ΓD​;∀ X∈ΓN​;∀ X∈Ω0;∀ X∈ΓC​.​(18.5.1) After deriving the weak form of the momentum equation, the boundary integral term can be separated as follows: ∫∂Ω0​Qi​(X,t)Ti​(X,t)ds(X)=​∫ΓD​​Qi​(X,t)TD∣i​(X,t)ds(X)+∫ΓN​​Qi​(X,t)TN∣i​(X,t)ds(X)+∫ΓC​​Qi​(X,t)TC∣i​(X,t)ds(X)+∫ΓC​​Qi​(X,t)TF∣i​(X,t)ds(X).​(18.5.2) Here, only the Neumann force TN​(X,t) is given, while all other boundary forces can be determined after solving the coupled system. Fortunately, Dirichlet boundary conditions can be enforced straightforwardly in the optimization framework as linear equality constraints. Frictional contact forces TC​(X,t) and TF​(X,t) can both be smoothly approximated as conservative forces with controllable error. In the next chapter, we will discuss discretizing the weak form using the finite element method (FEM), connecting the derivations in this chapter to the discrete simulation methods.","breadcrumbs":"Boundary Conditions and Frictional Contact » Summary » Summary","id":"103","title":"Summary"},"104":{"body":"From the governing equations in the continuous setting, we derived the discretized weak form system (nd equations) using the backward Euler time integration rule: ​Ma^b​Δt2xb∣i^n​−(xb∣i^n−1​+hVb∣i^n−1​)​=∫∂Ω0​Na^​(X)Ti^​(X,tn)ds(X)−∫Ω0​Na^,j​(X)Pi^j​(X,tn)dX.​(19.1) In this chapter, we'll start by discussing the shape function Na^​ in the context of linear finite elements. This exploration will help us understand the underlying implementation detailed in Inversion-Free Elasticity . We'll focus specifically on simplex finite elements. In 2D, the 2-simplex is a triangle, and we've consistently used triangle meshes throughout this book to discretize the solid domain into a disjoint set of triangular elements. Definition 19.1 (Simplex). An n-simplex is a geometric object with n+1 vertices that exists in an n-dimensional space. It cannot fit in any space of smaller dimension.","breadcrumbs":"Linear Finite Elements » Linear Finite Elements","id":"104","title":"Linear Finite Elements"},"105":{"body":"For a triangle element with vertices X1​, X2​, and X3​ in the solid domain, we can approximate the world space coordinates of an arbitrary point X in this element using spatial discretization (see Equation (17.1.1) ): x^(X)=x(X1​)N1​(X)+x(X2​)N2​(X)+x(X3​)N3​(X),(19.1.1) This equation represents a 2D interpolation, extending Experiment Example 17.1.1 . Here, we assume that the world space coordinates of any arbitrary point in an element can be interpolated solely from the coordinates of the element's vertices. Linear finite elements use linear shape functions Ni​ in Equation (19.1.1) , resulting in a piecewise linear (per triangle) displacement field u=x^(X)−X over the entire domain. Before providing the precise expression of N in terms of X, we'll introduce another parameter space to simplify the derivation. Let β,γ∈[0,1] and β+γ=1, we can use them to express the material space coordinates of an arbitrary point X in the element X1​X2​X3​ as: X(β,γ)​=X1​+β(X2​−X1​)+γ(X3​−X1​)=(1−β−γ)X1​+βX2​+γX3​.​ Here, X is a linear function of (β,γ). With linear shape functions, the approximation x^ is a linear function of X. Recall that for interpolation, we have to satisfy the conditions x^(Xi​)=x(Xi​). Putting these all together, we can obtain a unique solution: x(β,γ)≈x^(β,γ)​=x1​+β(x2​−x1​)+γ(x3​−x1​)=(1−β−γ)x1​+βx2​+γx3​,​ where we denote x(Xi​) as xi​. This indicates that: N1​(β,γ)=1−β−γ,N2​(β,γ)=β,N3​(β,γ)=γ. Interestingly, with the expression of X(β,γ), x(β,γ), and N(β,γ), we do not necessarily need the precise expression of x^(X) and N(X) for the following derivations to compute each term in Equation (17.2.1) . Remark 19.1.1 (Partition of Unity). The shape functions of FEM satisfy the partition of unity everywhere within each element: N1​(β,γ)+N2​(β,γ)+N3​(β,γ)=1∀ β,γ∈[0,1] and β+γ=1. One advantage of FEM is that it provides accurate boundary resolution compared to grid or particle-based representations. The boundary nodes of the FEM mesh can be exactly located on the boundary of the continuous domain. The elements are generated inside the domain, connecting the boundary nodes to form the discrete boundary, which converges to the boundary of the continuous domain as resolution increases. Although particle-based methods can also sample particles on the domain boundary, their spherical shape functions extend beyond the domain, breaking the partition of unity. This creates a \"soft\" outbound layer of material that makes boundary force computations inaccurate. In contrast, FEM shape functions are nonzero only within each element, where the partition of unity is satisfied everywhere.","breadcrumbs":"Linear Finite Elements » Piecewise Linear Displacement Field » Piecewise Linear Displacement Field","id":"105","title":"Piecewise Linear Displacement Field"},"106":{"body":"Recall from Discretization of Weak Forms that: Mab​=∫Ω0​R(X,0)Na​(X)Nb​(X)dX.(19.2.1) With the solid domain discretized into triangles T, we have: Mab​=e∈T∑​∫Ωe0​​R(X,0)Na​(X)Nb​(X)dX,(19.2.2) where Ωe0​ represents the material space of triangle e. Note that for linear triangle elements, since Ni​ is nonzero only on the incident triangles of node i, here we only need to consider triangles with both a and b being their vertices. Let us change the integration variable from X to (β,γ), which gives: =​∫Ωe0​​R(X,0)Na​(X)Nb​(X)dX∫01​∫01−β​R(β,γ,0)Na​(β,γ)Nb​(β,γ)∣det(∂(β,γ)∂X​)∣dγdβ.​(19.2.3) For simplicity, let us denote the vertices of this triangle e as X1​, X2​, and X3​, and then we have: ∣det(∂(β,γ)∂X​)∣=∣det([X2​−X1​,X3​−X1​])∣=2Ae​, where Ae​ is the area of triangle e. Here, Na​ and Nb​ take 1−β−γ, β, or γ depending on the vertex indices a and b. For example, if a and b correspond to the 2nd and 3rd vertices of triangle e, then Na​=β and Nb​=γ. Assuming uniform density, we have: ∫Ωe0​​R(X,0)Na​(X)Nb​(X)dX====​2RAe​∫01​∫01−β​βγdγdβ2RAe​∫01​21​βγ2∣γ=0γ=1−β​dβRAe​∫01​β(1−β)2dβRAe​(2β2​−32β3​+4β4​)∣β=0β=1​=121​RAe​.​(19.2.4) With mass lumping, Mablump​=δab​∑c​Mac​, which means: Maalump​=e∈T∑​b∈V∑​∫Ωe0​​R(X,0)Na​(X)Nb​(X)dX,(19.2.5) where V contains all the nodes of the mesh, and all off-diagonal entries of Mlump are 0. Similarly, due to the locality of N, for each triangle element, b only needs to traverse all three triangle vertices: Maalump​​=e∈T(a)∑​2RAe​(∫01​∫01−β​β(1−β−γ)dγdβ+∫01​∫01−β​β2dγdβ+∫01​∫01−β​βγdγdβ)=e∈T(a)∑​2RAe​∫01​βdγdβ=e∈T(a)∑​2RAe​∫01​βγ∣γ=0γ=1−β​dβ=e∈T(a)∑​2RAe​∫01​β(1−β)dβ=e∈T(a)∑​2RAe​(2β2​−3β3​)∣β=0β=1​=e∈T(a)∑​31​RAe​,​(19.2.6) where T(a) denotes the set of triangles incident to node a. This result also explains why in Inversion-Free Elasticity when computing the mass for all the nodes, we traverse all triangles, calculate the mass of the triangle RAe​ and evenly distribute it to the three vertices. With the mass matrix computed, the momentum change and external body force terms including their energy forms are all easy to deal with.","breadcrumbs":"Linear Finite Elements » Mass Matrix and Lumping » Mass Matrix and Lumping","id":"106","title":"Mass Matrix and Lumping"},"107":{"body":"For the elasticity term ∫Ω0​Na^,j​(X)Pi^j​(X,tn)dX in the discrete weak form system in Equation (19.1) , we can write it as the summation of integrals on each triangle e in vector form: ​∫Ω0​Na^,j​(X)Pi^j​(X,tn)dX=∫Ω0​(P(X,tn)∇XNa^​(X))i^​ dX=e∈T∑​∫Ωe0​​(P(X,tn)∇XNa^​(X))i^​ dX.​(19.3.1) Analogously, this summation also only needs to involve the incident triangles of node a^. Recall from Strain Energy , to compute the first Piola-Kirchoff stress P(X,tn), we only need the deformation gradient F(X,tn). From Section Kinematics , we know that F=∂X∂x​. Applying the chain rule with the parameter space variables (β,γ) as intermediates, we have: ​F=∂(β,γ)∂x​(∂(β,γ)∂X​)−1≈∂(β,γ)∂x^​(∂(β,γ)∂X​)−1=[x2​−x1​,x3​−x1​][X2​−X1​,X3​−X1​]−1,​(19.3.2) which is exactly the same as Equation (15.1.1) from our earlier implementation (Section Inversion-Free Elasticity ). Here, we also see that with linear finite elements, the deformation gradient field is piecewise constant in Ω0, so is P. Then for ∇XNa^​(X), depending on the index of a^ in triangle e, we can derive it again using parameter space variables as: ∇XN1​(X)∇XN2​(X)=([1,0][X2​−X1​,X3​−X1​]−1)T∇XN3​(X)=([0,1][X2​−X1​,X3​−X1​]−1)T.​=∂X∂(1−β−γ)​=(∂(β,γ)∂(1−β−γ)​(∂(β,γ)∂X​)−1)T=([−1,−1][X2​−X1​,X3​−X1​]−1)T=∂X∂β​=(∂(β,γ)∂β​(∂(β,γ)∂X​)−1)T=∂X∂γ​=(∂(β,γ)∂γ​(∂(β,γ)∂X​)−1)T​ This also allows us to see that P(X,tn)∇XNa^​(X) is constant within any triangle e and it is equivalent to ∂xa^​∂Ψe​​ since: ∂xa^​∂Ψe​​=∂F∂Ψe​​∂x^∂F​∂xa^​∂x^​=P∂x^∂x^/∂X​Na^​=P∇XNa^​.​ Substituting ∂xa^​∂Ψe​​ into Equation (19.3.1) we obtain: ∫Ω0​Na^,j​(X)Pi^j​(X,tn)dX​=e∈T∑​∫Ωe0​​(P(X,tn)∇XNa^​(X))i^​ dX=e∈T∑​∫Ωe0​​(∂xa^​∂Ψe​​)i^​ dX=e∈T∑​Ae​(∂xa^​∂Ψe​​)i^​,​ which is exactly how nodal elasticity force is computed in Section Inversion-Free Elasticity . This also indicates that the total elasticity potential can be calculated as ∑e∈T​Ae​Ψe​, which is ∫Ω0​Ψ(X)dX before spatial discretization. Remark 19.3.1. [Linear FEM] Linear FEM refers to x being a piecewise linear function of X, but the elasticity model can still be nonlinear, i.e. P can be a nonlinear function of F.","breadcrumbs":"Linear Finite Elements » Elasticity Term » Elasticity Term","id":"107","title":"Elasticity Term"},"108":{"body":"Based on the temporally and spatially discretized weak form, we've explored methods to compute the mass matrix, deformation gradient, and elasticity force under the linear finite element setting, all of which align with our implementation in Section Inversion-Free Elasticity . With linear finite elements, the world space coordinates x are approximated as a piecewise linear function of X. This approximation, x^(X), is a linear function inside each triangle and is C0-continuous at the edges. By using two parameters, β and γ, to represent points on each triangle, we can identify the linear shape functions that interpolate the displacements at the triangle vertices and derive the deformation gradient F. The mass matrix entries and elasticity terms can then be computed via integration with respect to β and γ.","breadcrumbs":"Linear Finite Elements » Summary » Summary","id":"108","title":"Summary"},"109":{"body":"In this lecture, we will continue our discussion on linear finite elements by focusing on boundary conditions and frictional self-contact on piecewise linear boundaries. Specifically, we will examine the computation of the boundary integral term: ∫∂Ω0​Na^​(X)Ti^​(X,tn)ds(X)(20.1) We will cover this in the context of Dirichlet and Neumann boundaries, as well as normal and frictional self-contact forces.","breadcrumbs":"Piecewise Linear Boundaries » Piecewise Linear Boundaries","id":"109","title":"Piecewise Linear Boundaries"},"11":{"body":"In contrast to explicit time integration, implicit time integration requires solving a system of equations to determine the values of \\(x^{n+1}\\) and \\(v^{n+1}\\). A notable benefit of this approach is its potential for greatly improved stability. The simplest form of implicit integration, the backward Euler method, is introduced as follows. Method 1.5.1 (Backward Euler Time Integration Application to Newton's Second Law). Given the current state variables, the mass matrix, and the time interval from \\(t^n\\) to \\(t^{n+1}\\), the update rules are as follows: xn+1vn+1​=xn+Δtvn+1,=vn+ΔtM−1fn+1,​(1.5.1) where \\(n\\) ranges from \\(0,1,2,\\dots\\). In many scenarios discussed in this book, the forces are derived from position vectors \\(x\\). Thus, we can represent \\(f^{n+1} = f(x^{n+1})\\). It's crucial to recognize that the update for \\(x^{n+1}\\) depends on knowing \\(v^{n+1}\\), yet the calculation of \\(v^{n+1}\\) is contingent on \\(x^{n+1}\\). This interdependence creates a cyclical dependency, necessitating the resolution of a system of equations to accurately find \\(x^{n+1}\\) and \\(v^{n+1}\\). By formulating \\(v^{n+1} = (x^{n+1} - x^n) / \\Delta t\\), Equation (1.5.1) can be rephrased as: M(xn+1−(xn+Δtvn))−Δt2f(xn+1)=0.(1.5.2) Given that forces \\(f\\) often exhibit nonlinearity with respect to positions \\(x\\), Equation (1.5.2) generally becomes nonlinear, requiring the use of nonlinear root finding techniques like Newton's method for solution. Method 1.5.2 (Newton's Method Applied to Backward Euler Time Integration). As described in the algorithm below, Newton's method is an iterative technique starting from an initial estimate \\(x^i\\) of the solution. At the current iteration \\(x^i\\), it linearly approximates \\(f(x^{n+1}) \\approx f(x^i) + (x^{n+1}-x^i) \\nabla f(x^i)\\), then resolves a linear system and updates the iteration. This process is repeated until a satisfactory degree of convergence is reached. Algorithm 1.5.1 (Newton's Method for Backward Euler Time Integration). While the backward Euler method ensures unconditional stability even for large values of \\(\\Delta t\\), it's crucial to recognize that increasing \\(\\Delta t\\) may lead to poorer system conditioning. This complication can make solving the linear system more challenging. Additionally, it's important to remember that force linearization is an approximation. If the initial estimate for the solution is far from the actual solution, the standard iteration of Newton's method might not converge, and it could even diverge. In later discussions, we will introduce a modified version of Newton's method. This adaptation is designed to guarantee convergence for specific types of problems, regardless of the initial estimate or the size of \\(\\Delta t\\).","breadcrumbs":"Discrete Space and Time » Implicit Time integration » Implicit Time Integration","id":"11","title":"Implicit Time Integration"},"110":{"body":"","breadcrumbs":"Piecewise Linear Boundaries » Boundary Conditions » Boundary Conditions","id":"110","title":"Boundary Conditions"},"111":{"body":"Due to the accurate boundary resolution of the Finite Element Method (FEM), enforcing Dirichlet boundary conditions is straightforward. We only need to constrain the world-space coordinates of the boundary nodes to the prescribed values: x^(Xi​)=xD​(Xi​)∀ Xi​∈ΓD​. Once these constraints are properly enforced, the Dirichlet boundary integral term can be ignored. This same mechanism can also be used to prescribe the displacement of any interior nodes. Although this does not directly correspond to any physical effects, it can simplify the simulation setup.","breadcrumbs":"Piecewise Linear Boundaries » Boundary Conditions » Dirichlet","id":"111","title":"Dirichlet"},"112":{"body":"For Neumann boundary conditions, we can evaluate the boundary integral term using the parameter space variables β and γ. With triangle mesh discretization, we have: ∫ΓN​​Na^​(X)Ti^​(X,tn)ds(X)=e∈T∑​∫∂Ωe0​∩ΓN​​Na^​(X)Ti^​(X,tn)ds(X), where ∂Ωe0​∩ΓN​ is the edge of triangle e that is on the Neumann boundary. For any boundary node a^ in 2D, there will be at most two incident triangles to consider in the integration for linear shape functions. Let's examine the case with two incident triangles. Consider one of the integrals. Without loss of generality, assume Na^​=β (where Xa^​ corresponds to X2​ in triangle e), and that X3​ is the other node of e on the boundary edge. Then, switching the integration variables to β gives us: ∫∂Ωe0​∩ΓN​​Na^​(X)Ti^​(X,tn)ds(X)=∫01​βTi^​(βX2​+(1−β)X3​,tn)​∂β∂s​​dβ. Here, ​∂β∂s​​ is simply the edge length ∥X2​−X3​∥. If T is constant over the boundary at tn, we can compute: Ti^n​∫01​β​∂β∂s​​dβ=21​∥X2​−X3​∥Ti^n​. Therefore, to add a constant Neumann force to the discrete system, we first calculate the length weight of each boundary node by distributing the length of the boundary edges evenly to their vertices, and then multiply by the traction Ti^n​. If T is not constant over the boundary, more complex boundary integral calculations are needed. For a boundary node with only one incident triangle, its length weight comes from its two incident edges within the same triangle. Remark 20.1.1 (Neumann Boundary Conditions). Here, we observe that the specified traction in standard Neumann boundary conditions is independent of x, which simplifies the derivation of the potential energy, even in the continuous setting for varying Neumann forces over the domain: ∫ΓN​​x(X)⋅T(X,tn)ds(X).(20.1.1) To verify this, we can replace x(X) with x^(X)=Na^​(X)xa^​+… for spatial discretization. Taking the derivative with respect to xa^​ gives us the force integral term in the discrete weak form: ∂xa^​∂∫ΓN​​x^(X)⋅T(X,tn)ds(X)​=∫ΓN​​Na^​(X)T(X,tn)ds(X).","breadcrumbs":"Piecewise Linear Boundaries » Boundary Conditions » Neumann","id":"112","title":"Neumann"},"113":{"body":"Recall that we used a conservative force model to approximate the contact traction TC​, allowing it to be directly evaluated given the current configuration of the solids. This results in a contact potential: PC​=∫ΓC​​21​b(X2​∈ΓC​−N(X)min​∥x(X,t)−x(X2​,t)∥,d^)ds(X), where b() is the barrier energy density function, and N(X) is an infinitesimal region around X where contact is ignored for theoretical soundness. For normal contact between simulated solids and collision obstacles (ignoring self-contact for now), PC​ can be written in a much simpler form PC​​=∫ΓS​​21​b(X2​∈ΓO​min​∥x(X,t)−x(X2​,t)∥,d^)ds(X)+∫ΓO​​21​b(X2​∈ΓS​min​∥x(X,t)−x(X2​,t)∥,d^)ds(X)=∫ΓS​​b(X2​∈ΓO​min​∥x(X,t)−x(X2​,t)∥,d^)ds(X)=∫ΓS​​b(dPO(x(X,t),O),d^)ds(X).​ Here ΓS​ and ΓO​ are the boundaries of the simulated solids and obstacles respectively, dPO(x(X,t),O)=minX2​∈ΓO​​∥x(X,t)−x(X2​,t)∥ is the point-obstacle distance, and the simplification from two terms to one single term is due to symmetry in the continuous setting. With triangle discretization, ∫ΓS​​b(dPO(x(X,t),O),d^)ds(X)≈e∈T∑​∫∂Ωe0​∩ΓS​​b(dPO(x(X,t),O),d^)ds(X).(20.2.1) Similar to the derivation for Neumann boundaries, for any boundary node a^, with 2 incident triangles, let us look at one of the integral. Without loss of generality, we can assume Na^​=β (Xa^​ corresponds to X2​ in triangle e), and that X3​ is the other node of e on the boundary edge. Then, switching the integration variables to β gives us =​∫∂Ωe0​∩ΓS​​b(dPO(x(X,t),O),d^)ds(X)∫01​b(dPO(x(βX2​+(1−β)X3​,t),O),d^)∣∂β∂s​∣dβ.​(20.2.2) Since b() and dPO() are both highly nonlinear functions, we could not obtain a closed-form expression for Equation (20.2.2) . If we take the two end points X2​ and X3​ as quadrature points both with weights 21​, we can approximate the integral as ≈​∫01​b(dPO(x(βX2​+(1−β)X3​,t),O),d^)∣∂β∂s​∣dβ21​b(dPO(x(X2​,t),O),d^)∣∂β∂s​∣+21​b(dPO(x(X3​,t),O),d^)∣∂β∂s​∣.​(20.2.3) Then, the whole boundary integral can be approximated as ∫ΓS​​b(dPO(x(X,t),O),d^)ds(X)≈a^∑​2∥Xa^​−Xa^−1​∥+∥Xa^​−Xa^+1​∥​b(dPO(xa^​,O),d^), assuming that Xa^−1​ and Xa^+1​ are the two neighbors of Xa^​ on the boundary. This is now exactly what has been implemented in Filter Line Search . Remark 20.2.1 (Quadrature Choice for Line Segment). Selecting the two end points (β=0,1) as quadrature points for a line segment integral (Equation (20.2.3) ) is not a common design choice. Typically, Gaussian quadrature would use β=63±3​​. The advantage of choosing β=0,1 is that it results in fewer quadrature points globally, thus reducing computational costs, as neighboring edges share end points. To see how PC​ connects to the boundary integral (Equation (20.1) ) in the discrete weak form, let us take the derivative of the discretized contact potential (Equation (20.2.1) ) with respect to xa^​: ==​−∂xa^​∂(∑e∈T​∫∂Ωe0​∩ΓS​​b(dPO(x(X,t),O),d^)ds(X))​e∈T∑​∫∂Ωe0​∩ΓS​​−∂x∂b(dPO(x(X,t),O),d^)​∂xa^​∂x​ds(X)e∈T∑​∫∂Ωe0​∩ΓS​​−∂x∂b(dPO(x(X,t),O),d^)​Na^​(X)ds(X).​ Then we also verified that TC​(X,t)=−∂x∂b(dPO(x(X,t),O),d^)​ here.","breadcrumbs":"Piecewise Linear Boundaries » Solid-Obstacle Contact » Solid-Obstacle Contact","id":"113","title":"Solid-Obstacle Contact"},"114":{"body":"With triangle discretization, the boundary of the domain is approximated as a polyline formed by a set of edges. Let us denote this set of boundary edges as E, and the barrier potential becomes: ≈=​∫ΓC​​21​b(X2​∈ΓC​−N(X)min​∥x(X,t)−x(X2​,t)∥,d^)ds(X)∫ΓC​​21​b(e∈E−I(X)min​X2​∈emin​∥x(X,t)−x(X2​,t)∥,d^)ds(X)∫ΓC​​21​b(e∈E−I(X)min​dPE(x(X,t),e),d^)ds(X).​ Here, I(X) is the set of edges that contain X. Completely ignoring these edges is a specific choice of N(X) under the current discretization. The term minX2​∈e​∥x(X,t)−x(X2​,t)∥ is simply the point-edge distance dPE(x(X,t),e), which can be calculated as either a point-point distance or a point-line distance depending on the relative positions of the point and the edge. As we know, the barrier energy density function b is already a smooth approximation to the discontinuous normal contact forces that prevent interpenetration between two colliding points. However, when considering self-contact between discrete surfaces (piecewise linear here), the non-smooth min operator on point-edge distances is inevitable. This non-smoothness can still pose challenges for optimization time integrators. To obtain a smooth barrier potential even in the case of piecewise linear boundaries, we first transform the min operator to a max operator, as the energy density function b is a non-ascending function everywhere in the domain. This gives us: ∫ΓC​​21​e∈E−I(X)max​b(dPE(x(X,t),e),d^)ds(X). Next, we need to smoothly approximate the max operator. A straightforward choice is to use the smooth max function, such as the p-norm function: max(a1​,a2​,...,an​)≈(a1p​+a2p​+…+anp​)p1​, with p>0 sufficiently large. However, the exponent p1​ will couple multiple inputs together, increasing the stencil size and making the Hessian less sparse, which will make the simulation more computationally expensive. Fortunately, due to the local support of b, where the contact force only exists for distances smaller than d^, using p=1 is sufficient. With a relatively small d^, there will only be some redundant contact forces at the interface of boundary elements ( Figure 20.3.1 ). Figure 20.3.1. In this simple two-edge illustration, the yellow and green regions are only counted once by the summation, but the blue region and the yellow-green overlap are counted twice. If we subtract once the blue region, then for the right-top boundary (convex), it becomes perfect, but for the left-bottom boundary (concave), we can still see some overlap that are counted twice. Since the overlapping supports of b from multiple boundary elements can be clearly identified, it is also possible to subtract the redundant barrier potentials in those regions, as discussed in detail in [Li et al. 2023] . For this book, let us keep it simple by using p=1 with the p-norm formulation, which is just summation: ​∫ΓC​​21​e∈E−I(X)max​b(dPE(x(X,t),e),d^)ds(X)≈∫ΓC​​21​e∈E−I(X)∑​b(dPE(x(X,t),e),d^)ds(X).​ Approximating the integral under triangle discretization and picking the end points of each boundary edge as the quadrature points, we obtain the fully discrete form: ≈​∫ΓC​​21​e∈E−I(X)∑​b(dPE(x(X,t),e),d^)ds(X)a^∑​4∥Xa^​−Xa^−1​∥+∥Xa^​−Xa^+1​∥​e∈E−I(Xa^​)∑​b(dPE(xa^​,e),d^).​(20.3.1) Similar to the solid-obstacle contact cases, TC​ can be derived by taking the derivative of the whole contact potential with respect to the nodal degrees of freedom (DOFs).","breadcrumbs":"Piecewise Linear Boundaries » Self-Contact » Self-Contact","id":"114","title":"Self-Contact"},"115":{"body":"We have connected the discrete weak form (Equation (19.1) ) to the implementations in Filter Line Search for boundary conditions and contact. Additionally, we have derived self-contact between discrete surfaces in 2D, which will be implemented in the next lecture. The derivations follow a consistent methodology: first, rewrite the global integral as a summation of local element-wise integrals, and then approximate or analytically evaluate the local integrals using certain quadrature rules. We didn't explicitly discuss friction in this lecture because its force definition in the continuous setting was covered in Boundary Conditions and Frictional Contact . Its integral approximation can be performed similarly to normal contact forces (see Case Study: 2D Frictional Self-Contact for details). During the derivation, we also observed that the route we have taken from the strong form to the optimization time integration implementation, namely: ​strong form→weak form→discrete weak form→finite element approximation→optimization time integration​ is not unique. We can directly write the continuous form of the potential energies and then perform spatial discretization and approximation to obtain the nodal forces. Readers interested in this approach can refer to Lagrangian Mechanics or Hamiltonian Mechanics.","breadcrumbs":"Piecewise Linear Boundaries » Summary » Summary","id":"115","title":"Summary"},"116":{"body":"We have finished connecting linear finite elements to the weak form derivation for elastodynamics and frictional contact. Now, it's time to see how these concepts are implemented in code. In this lecture, we will implement 2D frictionless self-contact based on our Python development of the inversion-free elasticity simulation from Case Study: Inversion-free Elasticity . The executable Python project for this section can be found at https://github.com/phys-sim-book/solid-sim-tutorial under the 7_self_contact folder. We will implement frictional self-contact in the next lecture.","breadcrumbs":"Case Study: 2D Self-Contact* » Case Study: 2D Self-Contact*","id":"116","title":"Case Study: 2D Self-Contact*"},"117":{"body":"To begin with, we set up a new scene with two squares falling onto the ground, compressed by the ceiling so that self-contact will occur between these squares. Implementation 21.1.1 (Simulation setup, simulator.py). # simulation setup\nside_len = 0.45\nrho = 1000 # density of square\nE = 1e5 # Young's modulus\nnu = 0.4 # Poisson's ratio\nn_seg = 2 # num of segments per side of the square\nh = 0.01 # time step size in s\nDBC = [(n_seg + 1) * (n_seg + 1) * 2] # dirichlet node index\nDBC_v = [np.array([0.0, -0.5])] # dirichlet node velocity\nDBC_limit = [np.array([0.0, -0.7])] # dirichlet node limit position\nground_n = np.array([0.0, 1.0]) # normal of the slope\nground_n /= np.linalg.norm(ground_n) # normalize ground normal vector just in case\nground_o = np.array([0.0, -1.0]) # a point on the slope mu = 0.4 # friction coefficient of the slope # initialize simulation\n[x, e] = square_mesh.generate(side_len, n_seg) # node positions and triangle node indices of the top square\ne = np.append(e, np.array(e) + [len(x)] * 3, axis=0) # add triangle node indices of the bottom square\nx = np.append(x, x + [side_len * 0.1, -side_len * 1.1], axis=0) # add node positions of the bottom square In line 17, we adapt the DOF index of the ceiling from (n seg+1)∗(n seg+1) to (n seg+1)∗(n seg+1)∗2, as we now have two squares. Line 26 generates the first square on the top, while lines 27 and 28 generate the second square on the bottom by creating copies and offsets. The initial frame, as shown in Figure 21.1.1 , is now established. However, without handling self-contact, these two squares cannot interact with each other yet. Figure 21.1.1. The new scene setup with 2 squares to fall. To handle contact, we first need to collect all boundary elements. In 2D, this involves identifying the nodes and edges on the boundary where contact forces will be applied to all close but non-incident point-edge pairs. The following function finds all boundary nodes and edges given a triangle mesh: Implementation 21.1.2 (Collect boundary elements, square_mesh.py). def find_boundary(e): # index all half-edges for fast query edge_set = set() for i in range(0, len(e)): for j in range(0, 3): edge_set.add((e[i][j], e[i][(j + 1) % 3])) # find boundary points and edges bp_set = set() be = [] for eI in edge_set: if (eI[1], eI[0]) not in edge_set: # if the inverse edge of a half-edge does not exist, # then it is a boundary edge be.append([eI[0], eI[1]]) bp_set.add(eI[0]) bp_set.add(eI[1]) return [list(bp_set), be] This function is called in simulator.py, and the boundary elements are then passed to the time integrator for energy, gradient, and Hessian evaluations, as well as line search filtering.","breadcrumbs":"Case Study: 2D Self-Contact* » Scene Setup and Boundary Element Collection » Scene Setup and Boundary Element Collection","id":"117","title":"Scene Setup and Boundary Element Collection"},"118":{"body":"Next, we calculate the point-edge distance and its derivatives. These will be used to solve for the contact forces. For a node p and an edge e0​e1​, their squared distance is defined as dsqPE​(p,e0​,e1​)=λmin​∥p−((1−λ)e0​+λe1​)∥2s.t.λ∈[0,1], which is the closest squared distance between p and any point on e0​e1​. Remark 21.2.1 (Distance Calculation Optimization). Here, we use the squared unsigned distances for evaluating the contact energies. This approach avoids taking square roots, which can complicate the expression of the derivatives and increase numerical rounding errors during computation. Additionally, unsigned distances can be directly extended for codimensional pairs, such as point-point pairs, which are useful when simulating particle contacts in 2D. They also do not suffer from locking issues, as signed distances do, when there are large displacements. Fortunately, dsqPE​(p,e0​,e1​) is a piece-wise smooth function w.r.t. the DOFs: dsqPE​(p,e0​,e1​)=⎩⎨⎧​∥p−e0​∥2if (e1​−e0​)⋅(p−e0​)<0,∥p−e1​∥2if (e1​−e0​)⋅(p−e0​)>∥e1​−e0​∥2,∥e1​−e0​∥21​(det([p−e0​,e1​−e0​]))2otherwise,​(21.2.1) where the smooth expression can be determined by checking whether the node is inside the orthogonal span of the edge. Given these smooth expressions, we can differentiate each of them and obtain the derivatives of the point-edge distance function. The implementations are as follows: Implementation 21.2.1 (Point-Edge distance calculation (Hessian omitted), PointEdgeDistance.py). import numpy as np import distance.PointPointDistance as PP\nimport distance.PointLineDistance as PL def val(p, e0, e1): e = e1 - e0 ratio = np.dot(e, p - e0) / np.dot(e, e) if ratio < 0: # point(p)-point(e0) expression return PP.val(p, e0) elif ratio > 1: # point(p)-point(e1) expression return PP.val(p, e1) else: # point(p)-line(e0e1) expression return PL.val(p, e0, e1) def grad(p, e0, e1): e = e1 - e0 ratio = np.dot(e, p - e0) / np.dot(e, e) if ratio < 0: # point(p)-point(e0) expression g_PP = PP.grad(p, e0) return np.reshape([g_PP[0:2], g_PP[2:4], np.array([0.0, 0.0])], (1, 6))[0] elif ratio > 1: # point(p)-point(e1) expression g_PP = PP.grad(p, e1) return np.reshape([g_PP[0:2], np.array([0.0, 0.0]), g_PP[2:4]], (1, 6))[0] else: # point(p)-line(e0e1) expression return PL.grad(p, e0, e1) It can be verified that the point-edge distance function is C1-continuous everywhere, including at the interfaces between different segments. For the point-point case, we have: Implementation 21.2.2 (Point-Point distance calculation, PointPointDistance.py). import numpy as np def val(p0, p1): e = p0 - p1 return np.dot(e, e) def grad(p0, p1): e = p0 - p1 return np.reshape([2 * e, -2 * e], (1, 4))[0] def hess(p0, p1): H = np.array([[0.0] * 4] * 4) H[0, 0] = H[1, 1] = H[2, 2] = H[3, 3] = 2 H[0, 2] = H[1, 3] = H[2, 0] = H[3, 1] = -2 return H For the point-line case, the distance evaluations can be implemented as follows, and the derivatives can be obtained using symbolic differentiation tools. Implementation 21.2.3 (Point-Line distance calculation (Hessian omitted), PointLineDistance.py). import numpy as np def val(p, e0, e1): e = e1 - e0 numerator = e[1] * p[0] - e[0] * p[1] + e1[0] * e0[1] - e1[1] * e0[0] return numerator * numerator / np.dot(e, e) def grad(p, e0, e1): g = np.array([0.0] * 6) t13 = -e1[0] + e0[0] t14 = -e1[1] + e0[1] t23 = 1.0 / (t13 * t13 + t14 * t14) t25 = ((e0[0] * e1[1] + -(e0[1] * e1[0])) + t14 * p[0]) + -(t13 * p[1]) t24 = t23 * t23 t26 = t25 * t25 t27 = (e0[0] * 2.0 + -(e1[0] * 2.0)) * t24 * t26 t26 *= (e0[1] * 2.0 + -(e1[1] * 2.0)) * t24 g[0] = t14 * t23 * t25 * 2.0 g[1] = t13 * t23 * t25 * -2.0 t24 = t23 * t25 g[2] = -t27 - t24 * (-e1[1] + p[1]) * 2.0 g[3] = -t26 + t24 * (-e1[0] + p[0]) * 2.0 g[4] = t27 + t24 * (p[1] - e0[1]) * 2.0 g[5] = t26 - t24 * (p[0] - e0[0]) * 2.0 return g","breadcrumbs":"Case Study: 2D Self-Contact* » Point-Edge Distance » Point-Edge Distance","id":"118","title":"Point-Edge Distance"},"119":{"body":"With the point-edge distance functions implemented, we can traverse all point-edge pairs to assemble the total barrier energy and its derivatives. These will be used to solve for the search direction in the time-stepping optimization. Since squared distances are used, here we rescale the barrier function to b(d2,d^2)={8κ​d^(d^2d2​−1)lnd^2d2​0​d toc: alpha = toc Here, we perform an overlap check on the bounding boxes of the spans of the point and edge first to narrow down the number of point-edge pairs for which we need to compute the time of impact: Implementation 21.4.2 (Bounding box overlap check, CCD.py). from copy import deepcopy\nimport numpy as np\nimport math import distance.PointEdgeDistance as PE # check whether the bounding box of the trajectory of the point and the edge overlap\ndef bbox_overlap(p, e0, e1, dp, de0, de1, toc_upperbound): max_p = np.maximum(p, p + toc_upperbound * dp) # point trajectory bbox top-right min_p = np.minimum(p, p + toc_upperbound * dp) # point trajectory bbox bottom-left max_e = np.maximum(np.maximum(e0, e0 + toc_upperbound * de0), np.maximum(e1, e1 + toc_upperbound * de1)) # edge trajectory bbox top-right min_e = np.minimum(np.minimum(e0, e0 + toc_upperbound * de0), np.minimum(e1, e1 + toc_upperbound * de1)) # edge trajectory bbox bottom-left if np.any(np.greater(min_p, max_e)) or np.any(np.greater(min_e, max_p)): return False else: return True To calculate a sufficiently large conservative estimation of the time of impact (TOI), we cannot directly calculate the TOI and take a proportion of it as we did for point-ground contact in Filter Line Search . Directly calculating the TOI for contact primitive pairs requires solving quadratic or cubic root-finding problems in 2D and 3D, which are prone to numerical errors, especially when distances are tiny and configurations are numerically degenerate (e.g., nearly parallel edge-edge pairs in 3D). Thus, we implement the additive CCD method (ACCD) [Li et al. 2021] , which iteratively moves the contact pairs along the search direction until the minimum separation distance is reached, to robustly estimate the TOI. Taking a point-edge pair as an example, the key insight of ACCD is that, given the current positions p, e0​, e1​ and search directions dp​, de0​, de1​, its TOI can be calculated as αTOI​=∥dp​−((1−λ)de0​+λde1​)∥∥p−((1−λ)e0​+λe1​)∥​ assuming (1−λ)e0​+λe1​ is the point on the edge that p will first collide with. The issue is that we do not know λ a priori. However, we can derive a lower bound for αTOI​ as αTOI​​≥∥dp​∥+∥(1−λ)de0​+λde1​∥minλ∈[0,1]​∥p−((1−λ)e0​+λe1​)∥​≥∥dp​∥+max(∥de0​∥,∥de1​∥)dPE(p,e0​,e1​)​=αl​​​ By taking a step with this lower bound αl​, we are guaranteed to have no interpenetration for this pair. However, although straightforward to compute, αl​ can be much smaller than αTOI​. Therefore, we iteratively calculate αl​ and advance a copy of the participating nodes by this amount, accumulating all αl​ to monotonically improve the estimate of αTOI​ until the point-edge pair reaches a distance smaller than the minimum separation, e.g., 0.1× the original distance. The implementation is as follows, where we first remove the shared components of the search directions so that they have smaller magnitudes to achieve earlier termination of the algorithm. Implementation 21.4.3 (ACCD method implementation, CCD.py). # compute the first \"time\" of contact, or toc,\n# return the computed toc only if it is smaller than the previously computed toc_upperbound\ndef narrow_phase_CCD(_p, _e0, _e1, _dp, _de0, _de1, toc_upperbound): p = deepcopy(_p) e0 = deepcopy(_e0) e1 = deepcopy(_e1) dp = deepcopy(_dp) de0 = deepcopy(_de0) de1 = deepcopy(_de1) # use relative displacement for faster convergence mov = (dp + de0 + de1) / 3 de0 -= mov de1 -= mov dp -= mov maxDispMag = np.linalg.norm(dp) + math.sqrt(max(np.dot(de0, de0), np.dot(de1, de1))) if maxDispMag == 0: return toc_upperbound eta = 0.1 # calculate the toc that first brings the distance to 0.1x the current distance dist2_cur = PE.val(p, e0, e1) dist_cur = math.sqrt(dist2_cur) gap = eta * dist_cur # iteratively move the point and edge towards each other and # grow the toc estimate without numerical errors toc = 0 while True: tocLowerBound = (1 - eta) * dist_cur / maxDispMag p += tocLowerBound * dp e0 += tocLowerBound * de0 e1 += tocLowerBound * de1 dist2_cur = PE.val(p, e0, e1) dist_cur = math.sqrt(dist2_cur) if toc != 0 and dist_cur < gap: break toc += tocLowerBound if toc > toc_upperbound: return toc_upperbound return toc The final simulation results are demonstrated in Figure 21.4.1 . Figure 21.4.1. Two squares dropped onto the ground and compressed by a ceiling. The ground has friction coefficient 0.4 but there is no friction between the squares so that the top square slides down to the ground without significantly changing the position of the bottom one.","breadcrumbs":"Case Study: 2D Self-Contact* » Continuous Collision Detection » Continuous Collision Detection","id":"120","title":"Continuous Collision Detection"},"121":{"body":"We have implemented frictionless self-contact with guaranteed non-intersection for 2D FEM simulations by discretizing barrier energies onto the non-incident point-edge pairs on the boundary. To compute the barrier energies, we used squared point-edge distances to avoid potential numerical issues. The point-edge distance is a piecewise smooth function with closed-form expressions depending on the relative positions of the point and the edge, and the overall function is C1-continuous everywhere. The derivatives of the function can be conveniently obtained by applying symbolic differentiation to each expression. For line search filtering, instead of directly computing the time of impact (TOI) which is prone to numerical issues, we implemented the additive CCD method (ACCD) to obtain a sufficiently large and conservative estimate of TOI. ACCD is an iterative method that accumulates lower bounds of TOI while progressively advancing the nodes along the search direction. Before running ACCD, we perform overlap checks on the bounding boxes of the point's and edge's spans to quickly filter out non-colliding pairs. In later lectures, we will see that for large-scale scenes in 3D, efficient spatial indexing strategies such as spatial hashing and bounding box hierarchies (BVH) will be needed to significantly reduce the expensive spatial search costs. In the next lecture, we will implement frictional self-contact based on what we have just developed.","breadcrumbs":"Case Study: 2D Self-Contact* » Summary » Summary","id":"121","title":"Summary"},"122":{"body":"In this lecture, we implement 2D friction based on our 2D self-contact implementation in Case Study: 2D Self-Contact . The executable Python project for this section can be found at https://github.com/phys-sim-book/solid-sim-tutorial . For simplicity, we will focus on implementing a semi-implicit version of friction. This means the normal force magnitude λ and the tangent operator T will be discretized to the last time step, and we solve the optimization once per time step without further fixed-point iterations that converge to solutions with fully-implicit friction ( Frictional Contact ) under the 8_self_friction folder. Combined with the smoothly approximated static-dynamic friction transition in IPC, implementing friction into an optimization time integration framework is as straightforward as adding an extra potential energy.","breadcrumbs":"2D Frictional Self-Contact* » 2D Frictional Self-Contact*","id":"122","title":"2D Frictional Self-Contact*"},"123":{"body":"From Equation (18.4.2) , the friction force per unit area is defined as TF​(X,t)=−μ∥TC​(X,t)∥ f(∥VF​(X,t)∥) s(VF​(X,t)), where μ is the friction coefficient, TC​ is the normal contact force, and VF​ is the relative sliding velocity. Here s(VF​)=∥VF​∥VF​​ when ∥VF​∥>0, while s(VF​) takes any unit vector orthogonal to the normal N(X,t) when ∥VF​∥=0. Additionally, the friction scaling function f is also nonsmooth with respect to VF​, as f(∥VF​∥)=1 when ∥VF​∥>0, and f(∥VF​∥)∈[0,1] when ∥VF​∥=0. It is important to note that without temporal discretization, there is no potential energy for friction. However, similar to Frictional Contact , once we discretize the normal force magnitude and the tangent operator to the last time step and smoothly approximate the friction scaling function f, the friction force at the (n+1)-th time step becomes integrable with respect to x, and we obtain TFn+1​(X)≈−∂xn+1(X)∂Dn+1(X)​=−∂xn+1(X)∂(μ∥TCn​(X)∥f0​(∥VˉFn+1​(X)h^∥))​. Here, VˉFn+1​(X)=(I−Nn(X)Nn(X)T)(Vn+1(X)−Vn+1(X2​)) is the approximate relative sliding velocity, where Nn and X2​ are the normal direction and the point in contact with X in the last time step, h^I=(∂v/∂x)−1, and f0​(y)={−3ϵv2​h^2y3​+ϵv​h^y2​+3ϵv​h^​,y,​y∈[0,ϵv​h^);y≥ϵv​h^.​ Therefore, considering self-contact, the approximate friction potential over the entire boundary can be written as ∫ΓC​​21​μ∥TCn​(X)∥f0​(∥VˉFn+1​(X)h^∥)ds(X), where the 21​ scaling comes from double counting the friction between each pair of contact points in the integral (similar to the normal contact forces in Boundary Conditions and Frictional Contact ). After discretizing the boundary curves as polylines and approximating the max operator in the normal contact force component using summations ( Piecewise Linear Boundaries ), we similarly obtain the spatially discretized friction potential: ∫ΓC​​e∈E−I(X)∑​21​μ(−∂d∂b(dPE(xn(X),e),d^)​)f0​(∥VˉFn+1​(X,e)h^∥)ds(X). Here, dPE(xn(X),e) is the point-edge distance between xn(X) and edge e in the last time step, and VˉFn+1​(X,e) is the approximate relative sliding velocity of the point-edge pair with contact normal and the closest point discretized to the last time step (see next section for details). If we choose boundary nodes as quadrature points to approximate the integral, we finally obtain our discrete friction potential: Pf​(x)​=a^∑​Aa^​e∈E−I(Xa^​)∑​21​μ(−∂d∂b(dPE(xa^n​,e),d^)​)f0​(∥VˉFn+1​(Xa^​,e)h^∥)=k∈{(a^,e)}∑​μλkn​f0​(∥vˉk​h^∥)​ where Aa^​=2∥Xa^​−Xa^−1​∥+∥Xa^​−Xa^+1​∥​ is the integration weight. Denoting vˉk​=VˉFn+1​(Xa^​,e) and λkn​=21​Aa^​(−∂d∂b(dPE(xa^n​,e),d^)​), the expression of Pf​ agrees with the discrete form of Equation (9.2.1) we directly derived, except that here k traverses all non-incident point-edge pairs on the boundary. Based on this discrete form of the smoothed semi-implicit friction potential, we now need to determine how to calculate λ and vˉ for point-edge pairs, implement the computation of the value, gradient, and Hessian of Pf​(x), and then incorporate them into the optimization.","breadcrumbs":"2D Frictional Self-Contact* » Discretization and Approximation » Discretization and Approximation","id":"123","title":"Discretization and Approximation"},"124":{"body":"To make the temporally discretized friction force integrable, we must explicitly discretize certain normal and tangent information. This information only needs to be calculated once at the beginning of each time step, as it will remain constant during each optimization. First, we need to calculate λn for each point-edge pair using xn. Recall that we used squared distances as input for the barrier functions, so λn should be calculated using the chain rule as follows: λa^,en​​=21​Aa^​(−∂dPE∂b(dsqPE​(xa^n​,e),d^2)​)=21​Aa^​(−∂dsqPE​∂b(dsqPE​(xa^n​,e),d^2)​∂dPE∂dsqPE​​)=21​Aa^​(−∂dsqPE​∂b(dsqPE​(xa^n​,e),d^2)​)2dPE.​ According to the scaled barrier function taking squared distance as input (Equation (21.3.1) ), we can derive ∂dsq​∂b(dsq​,d^2)​={8κ​d^(d^21​lnd^2dsq​​+dsq​1​(d^2dsq​​−1))0​if d 1: # point(p)-point(e1) expression n = p - e1 else: # point(p)-line(e0e1) expression n = p - ((1 - ratio) * e0 + ratio * e1) return [n / np.linalg.norm(n), ratio] Then, Implementation 22.2.2 traverses all non-incident point-edge pairs with a distance smaller than d^, calculates λ, and calls the above function to calculate n and r. As in Frictional Contact , these lines of code are executed at the beginning of each time step in time_integrator.py, and the information for each friction pair is stored and passed to the energy, gradient, and Hessian computation functions that we will discuss next. Implementation 22.2.2 (Semi-implicit friction precomputation, BarrierEnergy.py). # self-contact mu_lambda_self = [] dhat_sqr = dhat * dhat for xI in bp: for eI in be: if xI != eI[0] and xI != eI[1]: # do not consider a point and its incident edge d_sqr = PE.val(x[xI], x[eI[0]], x[eI[1]]) if d_sqr < dhat_sqr: s = d_sqr / dhat_sqr # since d_sqr is used, need to divide by 8 not 2 here for consistency to linear elasticity # also, lambda = -\\partial b / \\partial d = -(\\partial b / \\partial d^2) * (\\partial d^2 / \\partial d) mu_lam = mu * -0.5 * contact_area[xI] * dhat * (kappa / 8 * (math.log(s) / dhat_sqr + (s - 1) / d_sqr)) * 2 * math.sqrt(d_sqr) [n, r] = PE.tangent(x[xI], x[eI[0]], x[eI[1]]) # normal and closest point parameterization on the edge mu_lambda_self.append([xI, eI[0], eI[1], mu_lam, n, r])","breadcrumbs":"2D Frictional Self-Contact* » Precomputing Normal and Tangent Information » Code","id":"125","title":"Code"},"126":{"body":"With λ, r, and n precomputed for each friction point-edge pair, we can now conveniently compute the energy ( Implementation 22.3.1 ), gradient ( Implementation 22.3.2 ), and Hessian ( Implementation 22.3.3 ) of the friction potential and add them into the optimization. Implementation 22.3.1 (Friction energy value, FrictionEnergy.py). # self-contact: for i in range(0, len(mu_lambda_self)): [xI, eI0, eI1, mu_lam, n, r] = mu_lambda_self[i] T = np.identity(2) - np.outer(n, n) rel_v = v[xI] - ((1 - r) * v[eI0] + r * v[eI1]) vbar = np.transpose(T).dot(rel_v) sum += mu_lam * f0(np.linalg.norm(vbar), epsv, hhat) When computing the gradient and Hessian, we used the relative velocity v^k​ as an intermediate variable to make the implementation more organized. This approach is given by: ∇Pf​(x)=k∑​(∂x∂v^k​​)T∂v^k​∂Dk​(x)​,∇2Pf​(x)=k∑​(∂x∂v^k​​)T∂v^k2​∂2Dk​(x)​∂x∂v^k​​, where the derivatives of Dk​ with respect to v^k​ have exactly the same forms as in Frictional Contact . Implementation 22.3.2 (Friction energy gradient, FrictionEnergy.py). # self-contact: for i in range(0, len(mu_lambda_self)): [xI, eI0, eI1, mu_lam, n, r] = mu_lambda_self[i] T = np.identity(2) - np.outer(n, n) rel_v = v[xI] - ((1 - r) * v[eI0] + r * v[eI1]) vbar = np.transpose(T).dot(rel_v) g_rel_v = mu_lam * f1_div_vbarnorm(np.linalg.norm(vbar), epsv) * T.dot(vbar) g[xI] += g_rel_v g[eI0] += g_rel_v * -(1 - r) g[eI1] += g_rel_v * -r Implementation 22.3.3 (Friction energy Hessian, FrictionEnergy.py). # self-contact: for i in range(0, len(mu_lambda_self)): [xI, eI0, eI1, mu_lam, n, r] = mu_lambda_self[i] T = np.identity(2) - np.outer(n, n) rel_v = v[xI] - ((1 - r) * v[eI0] + r * v[eI1]) vbar = np.transpose(T).dot(rel_v) vbarnorm = np.linalg.norm(vbar) inner_term = f1_div_vbarnorm(vbarnorm, epsv) * np.identity(2) if vbarnorm != 0: inner_term += f_hess_term(vbarnorm, epsv) / vbarnorm * np.outer(vbar, vbar) hess_rel_v = mu_lam * T.dot(utils.make_PSD(inner_term)).dot(np.transpose(T)) / hhat index = [xI, eI0, eI1] d_rel_v_dv = [1, -(1 - r), -r] for nI in range(0, 3): for nJ in range(0, 3): for c in range(0, 2): for r in range(0, 2): IJV[0].append(index[nI] * 2 + r) IJV[1].append(index[nJ] * 2 + c) IJV[2] = np.append(IJV[2], d_rel_v_dv[nI] * d_rel_v_dv[nJ] * hess_rel_v[r, c]) After these implementations, we can finally run our compressing squares example with frictional self-contact (see: Figure 22.3.1 ). From the figure, we observe that once the two squares touch, the large friction between them and the ground restricts any sliding. This causes the squares to rotate counter-clockwise as they are compressed by the ceiling. Figure 22.3.1. Two squares dropped onto the ground and compressed by a ceiling. The friction coefficient is 0.4 between any contacting surfaces, which restricts any sliding here in this scene and results in counter-clockwise rotations of the two squares under compression. As their interface becomes nearly vertical, the squares are finally detached.","breadcrumbs":"2D Frictional Self-Contact* » Friction Energy and Its Derivatives » Friction Energy and Its Derivatives","id":"126","title":"Friction Energy and Its Derivatives"},"127":{"body":"We implemented semi-implicit friction in 2D based on squared unsigned distances of point-edge pairs and incorporated it into the time-stepping optimization. We began by making the friction force integrable in the continuous setting through semi-implicit temporal discretization and a smooth approximation of the dynamic-static friction transition. The spatial discretization of the approximate friction potential follows a similar approach to the barrier potential. Next, we examined the computation of the normal force magnitude λ, normal direction n, and barycentric coordinate r of the closest point for point-edge pairs. These values are calculated at the beginning of each time step and remain constant during the optimization. It is important to note that the set of point-edge pairs for friction is also constant per optimization and differs from the set used for the barrier. Finally, we implemented the computation of the discrete friction potential and its derivatives. We used relative velocities v^k​ as intermediate variables and applied the chain rule to organize the calculations. Up to now, we have covered both the theoretical and practical aspects of a 2D solid simulator with inversion-free elastodynamics and interpenetration-free frictional self-contact. Next, we will explore the additional steps needed to extend these concepts to 3D!","breadcrumbs":"2D Frictional Self-Contact* » Summary » Summary","id":"127","title":"Summary"},"128":{"body":"To extend our 2D solid simulator ( 2D Frictional Self-Contact ) to 3D, we can use 3-simplex tetrahedral elements to discretize the 3D solid domains. In this approach, the surface of the solid is represented as a triangle mesh, which is a common method in computer graphics for representing 3D geometries. Additionally, we need to sample vertices in the interior of the solid to form the tetrahedral elements required for discretizing the inertia and elasticity energies.","breadcrumbs":"3D Elastodynamics » 3D Elastodynamics","id":"128","title":"3D Elastodynamics"},"129":{"body":"Similar to 2D triangle elements, we use β,γ,τ∈[0,1] with β+γ+τ=1 to express the material space coordinates of an arbitrary point X in the tetrahedral element defined by vertices X1​,X2​,X3​, and X4​ as follows: X(β,γ,τ)​=X1​+β(X2​−X1​)+γ(X3​−X1​)+τ(X4​−X1​)=(1−β−γ−τ)X1​+βX2​+γX3​+τX4​.​ Here, X is a linear function of (β,γ,τ). Using linear shape functions, the approximate world-space coordinate x^ is also a linear function of (β,γ,τ): x(β,γ,τ)≈x^(β,γ,τ)=(1−β−γ−τ)x1​+βx2​+γx3​+τx4​,​ where x(Xi​) is denoted as xi​. This implies that the shape functions are: N1​(β,γ,τ)N2​(β,γ,τ)N3​(β,γ,τ)N4​(β,γ,τ)​=1−β−γ−τ,=β,=γ,=τ.​","breadcrumbs":"3D Elastodynamics » Kinematics » Kinematics","id":"129","title":"Kinematics"},"13":{"body":"","breadcrumbs":"Optimization Framework » Lecture 2: Optimization Framework","id":"13","title":"Lecture 2: Optimization Framework"},"130":{"body":"Recall that the mass matrix can be calculated as Mab​=e∈T∑​∫Ωe0​​R(X,0)Na​(X)Nb​(X)dX, where Ωe0​ represents the material space of tetrahedron e. Changing the integration variable from X to (β,γ,τ) results in =​∫Ωe0​​R(X,0)Na​(X)Nb​(X)dX∫01​∫01−τ​∫01−β−τ​R(β,γ,τ,0)Na​(β,γ,τ)Nb​(β,γ,τ)​det(∂(β,γ,τ)∂X​)​dγdβdτ.​ For element e with vertices X1​, X2​, X3​, and X4​, ​det(∂(β,γ,τ)∂X​)​=∣det([X2​−X1​,X3​−X1​,X4​−X1​])∣=6Ve​, where Ve​ is the volume of tetrahedron e. Here, we will omit the detailed derivations of each entry in the consistent mass matrix. Assuming uniform density R, for the lumped mass matrix, Maalump​=e∈T(a)∑​41​RVe​andMablump​=0(a=b), where T(a) denotes the set of tetrahedra incident to node a. In other words, the mass of each tetrahedron is evenly distributed among its 4 nodes, which is intuitively analogous to the 2D case.","breadcrumbs":"3D Elastodynamics » Mass Matrix » Mass Matrix","id":"130","title":"Mass Matrix"},"131":{"body":"For elasticity, similar to the 2D case, the deformation gradient F is also constant within each tetrahedron, and we can compute it as F=≈=​∂(β,γ,τ)∂x​(∂(β,γ,τ)∂X​)−1∂(β,γ,τ)∂x^​(∂(β,γ,τ)∂X​)−1[x2​−x1​,x3​−x1​,x4​−x1​][X2​−X1​,X3​−X1​,X4​−X1​]−1.​ For force and Hessian computation, the required ∂F/∂x can be computed using ∇XN1​(X)​=∂X∂(1−β−γ−τ)​=(∂(β,γ,τ)∂(1−β−γ−τ)​(∂(β,γ,τ)∂X​)−1)T=([−1,−1,−1][X2​−X1​,X3​−X1​,X4​−X1​]−1)T​ and similarly ∇XN2​(X)∇XN3​(X)∇XN3​(X)​=∂X∂β​=([1,0,0][X2​−X1​,X3​−X1​,X4​−X1​]−1)T,=∂X∂γ​=([0,1,0][X2​−X1​,X3​−X1​,X4​−X1​]−1)T,=∂X∂τ​=([0,0,1][X2​−X1​,X3​−X1​,X4​−X1​]−1)T.​ With F, the computation of strain energy Ψ, stress P and stress derivative ∂P/∂F can all be found in Strain Energy and Stress and Its Derivatives , and the computation of forces and Hessian matrices follow the same spirit as in 2D. To guarantee non-inversion of the tetrahedral elements during the simulation, the critical step size αI that first brings the volume of any tetrahedra to 0 can be obtained by solving a 1D equation per tetrahedron V(xi​+αIpi​)=0, and then take the minimum of the solved step sizes. Here pi​ is the search direction of node i, and in 3D, this is equivalent to det([x21α​,x31α​,x41α​])≡(x21α​×x31α​)⋅x41α​=0(23.3.1) with xijα​=xij​+αIpij​ and xij​=xi​−xj​, pij​=pi​−pj​. Expanding Equation (23.3.1) , we obtain the following cubic equation for αI: ((p21​×p31​)⋅p41​)αI3+((x21​×p31​+p21​×x31​)⋅p41​+(p21​×p31​)⋅x41​)αI2+((x21​×p31​+p21​×x31​)⋅x41​+(x21​×x31​)⋅p41​)αI+(x21​×x31​)⋅x41​=0,​ This cubic equation can sometimes degenerate into a quadratic or linear equation, particularly when node movements do not substantially alter the tetrahedron's volume. To address potential numerical instability, we scale the equation terms based on the constant term coefficient: ​(x21​×x31​)⋅x41​(p21​×p31​)⋅p41​​αI3+(x21​×x31​)⋅x41​(x21​×p31​+p21​×x31​)⋅p41​+(p21​×p31​)⋅x41​​αI2+(x21​×x31​)⋅x41​(x21​×p31​+p21​×x31​)⋅x41​+(x21​×x31​)⋅p41​​αI+1=0,​(23.3.2) ensuring that magnitude checks can be safely performed with standard thresholds (e.g., 10−6). Practically, we also ensure some safety margin by solving for αI that reduces the volume of any tetrahedron by 80%, modifying the constant term coefficient in Equation (23.3.2) from 1 to 0.8. If no positive real roots are found, the step size can be considered safe, and inversion will not occur. Here is the C++ code snippet for solving this scaled cubic equation: Implementation 23.3.1 (Cubic Equation Solver). double getSmallestPositiveRealRoot_cubic(double a, double b, double c, double d, double tol)\n{ // return negative value if no positive real root is found double t = -1; if (abs(a) <= tol) t = getSmallestPositiveRealRoot_quad(b, c, d, tol); // covered in the 2D case else { complex i(0, 1); complex delta0(b * b - 3 * a * c, 0); complex delta1(2 * b * b * b - 9 * a * b * c + 27 * a * a * d, 0); complex C = pow((delta1 + sqrt(delta1 * delta1 - 4.0 * delta0 * delta0 * delta0)) / 2.0, 1.0 / 3.0); if (std::abs(C) == 0.0) // a corner case C = pow((delta1 - sqrt(delta1 * delta1 - 4.0 * delta0 * delta0 * delta0)) / 2.0, 1.0 / 3.0); complex u2 = (-1.0 + sqrt(3.0) * i) / 2.0; complex u3 = (-1.0 - sqrt(3.0) * i) / 2.0; complex t1 = (b + C + delta0 / C) / (-3.0 * a); complex t2 = (b + u2 * C + delta0 / (u2 * C)) / (-3.0 * a); complex t3 = (b + u3 * C + delta0 / (u3 * C)) / (-3.0 * a); if ((abs(imag(t1)) < tol) && (real(t1) > 0)) t = real(t1); if ((abs(imag(t2)) < tol) && (real(t2) > 0) && ((real(t2) < t) || (t < 0))) t = real(t2); if ((abs(imag(t3)) < tol) && (real(t3) > 0) && ((real(t3) < t) || (t < 0))) t = real(t3); } return t;\n}","breadcrumbs":"3D Elastodynamics » Elasticity » Elasticity","id":"131","title":"Elasticity"},"132":{"body":"In this section, we delve into the process of extending our solid simulator to accommodate 3D elastodynamic simulation. This enhancement involves discretizing the solid domain using 3-simplex tetrahedral elements. Consequently, the kinematics, mass matrix, and elasticity energies adopt the same approach as in 2D, but now incorporate an additional dimension for the per-element parameter space, integration, and deformation gradient. To maintain inversion-free elements, line search filtering operates similarly, though it now entails solving cubic equations for each element. In the following section, we will explore the extension of the frictional contact component to 3D scenarios.","breadcrumbs":"3D Elastodynamics » Summary » Summary","id":"132","title":"Summary"},"133":{"body":"In 3D, the contact between the solid domain boundaries represented as triangle meshes can be reduced to point-triangle and edge-edge contacts. Intuitively, the point-edge contact pairs in 2D extend directly to 3D as point-triangle pairs. However, even if we prevent all point-triangle interpenetrations in 3D, the triangle meshes can still penetrate each other. This necessitates accounting for edge-edge pairs, especially when the resolution of the mesh is not very high.","breadcrumbs":"3D Frictional Self-Contact » 3D Frictional Self-Contact","id":"133","title":"3D Frictional Self-Contact"},"134":{"body":"With triangle mesh discretization, the barrier potential in the continuous settings (Equation (18.3.5) ) can be approximated as ≈==​∫ΓC​​21​b(X2​∈ΓC​−N(X)min​∥x(X,t)−x(X2​,t)∥,d^)ds(X)∫ΓC​​21​b(e∈T−I(X)min​X2​∈emin​∥x(X,t)−x(X2​,t)∥,d^)ds(X)∫ΓC​​21​b(e∈T−I(X)min​dPT(x(X,t),e),d^)ds(X)∫ΓC​​21​e∈T−I(X)max​b(dPT(x(X,t),e),d^)ds(X),​(24.1.1) where T is the set of all surface triangles, I(X) is the set of all surface triangles that hold point X, and dPT is the point-triangle distance. Further approximating the max operator with summations and use mesh surface nodes a^ as quadrature points, we have ≈≈​∫ΓC​​21​e∈T−I(X)max​b(dPT(x(X,t),e),d^)ds(X)∫ΓC​​21​e∈T−I(X)∑​b(dPT(x(X,t),e),d^)ds(X)a^∑​21​wa^​e∈T−I(Xa^​)∑​b(dPT(xa^​,e),d^),​(24.1.2) where wa^​=d^31​∑j∈I(Xa^​)​Aj​ is the integration weight and Aj​ is the area of node a^'s incident surface triangle j. Now, getting back to the second line of Equation (24.1.1) , if we only use points on the edges to approximate the minimum distance, we obtain ≈=​∫ΓC​​21​b(X2​∈ΓC​−N(X)min​∥x(X,t)−x(X2​,t)∥,d^)ds(X)∫ΓC​​21​b(e∈E−I(X)min​X2​∈emin​∥x(X,t)−x(X2​,t)∥,d^)ds(X)∫ΓC​​21​e∈E−I(X)max​b(X2​∈emin​∥x(X,t)−x(X2​,t)∥,d^)ds(X).​ Then if we choose a special quadrature point Xe1​​ per surface edge e1​ and approximate the max operators with summations, we get ≈​∫ΓC​​21​e∈E−I(X)max​b(X2​∈emin​∥x(X,t)−x(X2​,t)∥,d^)ds(X)e1​∈E∑​21​we1​​e∈E−I(Xe1​​)∑​b(X2​∈emin​∥x(Xe1​​,t)−x(X2​,t)∥,d^),​ where we1​​=d^31​∑j∈I(e1​)​Aj​ is the integration weight and Aj​ is the area of e1​'s incident surface triangle j. Next, if we always select Xe1​​ to be the closest point to X2​ on e1​, we will get ≈=​e1​∈E∑​21​we1​​e∈E−I(Xe1​​)∑​b(X2​∈emin​∥x(Xe1​​,t)−x(X2​,t)∥,d^)e1​∈E∑​21​we1​​e∈E−N(e1​)∑​b(X2​∈e,X∈e1​min​∥x(X,t)−x(X2​,t)∥,d^)e1​∈E∑​21​we1​​e∈E−N(e1​)∑​b(dEE(e,e1​),d^),​(24.1.3) where N(e1​) is the set of all the surface edge neighbors of e1​ plus itself. For the summation over all surface edges in Equation (24.1.3) , if we only account for (e1​,e) with e1​ \\epsilon\\)), there should be no contact forces (\\(\\gamma_k = 0\\)). Definition 2.3.1 (Active Set). In optimization problems with inequality constraints defined as \\[ \\forall k, \\ c_k(x) \\geq 0, \\] the active set is defined as \\[ \\{ l \\ | \\ c_l(x^*) = 0 \\}. \\] Here, \\(x^*\\) is a local optimal solution of the problem. Remark 2.3.2 (Combinatorial Difficulty). The complementarity slackness condition reveals that only constraints within the active set will exhibit non-zero Lagrange multiplier \\(\\gamma_k\\) at the solution. This suggests that, unlike equality constraints, inequality constraints not only require solving for the value of the Lagrange multipliers but also demand the identification of which \\(\\gamma_k\\) should be set to \\(0\\). This presents a combinatorial difficulty. A wide array of techniques are available for addressing optimization problems with inequality constraints. Each method introduces a distinct approach, effectively targeting various facets of the problem. Primal-Dual Methods: This class of methods tackles both the primal problem (the original optimization problem) and its dual problem simultaneously. The dual problem often provides valuable insights into the primal problem's solution, making this approach attractive. These methods are iterative, refining an initial solution by leveraging the relationship between the primal and dual problems. However, designing and implementing primal-dual algorithms can be intricate, requiring a careful balance between the two problem types. While effective, these methods may not be efficient or straightforward for complex, high-dimensional problems. Projected Steepest Descent Methods: A modification of the classic steepest descent method, these methods address constraints. At each iteration, the algorithm moves in the steepest descent direction, then projects back onto the feasible set if it deviates due to constraints. This method's simplicity and straightforwardness make it popular, but it may struggle with ill-conditioned problems where convergence is slow, or with constraints that are challenging to project onto. Interior-Point Methods: Also known as barrier methods, these techniques introduce a barrier function that penalizes infeasible solutions, thereby steering the solution towards the feasible region's interior. This approach effectively transforms a constrained problem into an unconstrained one, solvable using conventional techniques. However, the barrier function's choice significantly impacts the method's performance. While efficient for certain problem types, these methods may falter with problems where the feasible region is difficult to define or lacks a simple interior. While each of these methodologies has its own strengths and weaknesses, our primary focus will be on a robust and accurate contact modeling method, known as Incremental Potential Contact (IPC) . IPC distinguishes itself by approximating the contact process with a smooth potential energy. This transformation effectively turns the problem into an unconstrained one, facilitating the application of various efficient and robust optimization techniques. A key feature of IPC is its capability to control the approximation error relative to the non-smooth formulation within a predetermined bound. This characteristic adds a layer of robustness and reliability to the method, making it an especially promising approach for the problem at hand.","breadcrumbs":"Optimization Framework » Contact » Contact","id":"16","title":"Contact"},"17":{"body":"Friction is a crucial element in physical interactions involving movement, often significantly influencing simulation outcomes. Thus, its precise modeling is vital for realistic and reliable simulations. See Figure 2.3.1 on the right for a demonstration of a scenario that requires a precise representation of friction. One of the most widely adopted models for friction is the Coulomb Friction model . This model hinges on the Maximal Dissipation Principal (MDP) , effectively capturing the nonsmooth transition between static and dynamic frictions. Static friction is the force preventing an object from initiating movement, whereas dynamic friction, or kinetic friction, opposes the motion of a moving object. The Coulomb Friction model accurately depicts the critical transition between these two friction types. In the standard Material Point Method (MPM), friction is inherently modeled by the grid. However, this method has its drawbacks, notably an uncontrollable and unrealistically large friction coefficient. For the Finite Element Method (FEM), friction can be more realistically and controllably represented through an approximated potential energy in the Incremental Potential Contact (IPC) model. This fits well within our optimization time integration framework. By using potential energy to approximate friction, we not only maintain the robustness of the simulation but also gain control over the accuracy of the friction model. In subsequent lectures, we will delve into the specific techniques and methodologies employed in the IPC model to represent friction forces and their role in enhancing the accuracy and realism of simulations.","breadcrumbs":"Optimization Framework » Friction » Friction","id":"17","title":"Friction"},"18":{"body":"The objective of our discussions so far has been to devise a reliable solution for the unconditional stable implicit time integration problem. We aimed to address the issue of non-convergent solutions arising from truncation errors. We tackled this by reformulating the time integration problem as a minimization problem. This formulation not only allowed us to apply well-established optimization techniques, but it also facilitated a consistent modeling framework for different physical phenomena. Here is a quick summary of the techniques used for modeling various phenomena within this framework: For conservative forces like gravity and elasticity, we used potential energies. These were integrated into the objective function to create an accurate representation of the forces involved. Boundary conditions, which specify the constraints on the system, were modeled using simple linear equality constraints. This helped us restrict the system to feasible states while performing the simulation. To prevent interpenetration between solid objects during the simulation, we used inequality constraints to model contact and friction. These constraints ensured that objects maintained their physical integrity and behaved as expected when they came in contact with each other. An important aspect to note here is that, we can utilize the unique structure of the boundary conditions to enforce the equality constraints in an unconstrained way. This will lead to a significant reduction in computational complexity. Moreover, we introduced the concept of the Incremental Potential Contact (IPC) method. The IPC method models contact and friction as smooth potential energies with a controllable level of accuracy. This ensures a robust and accurate simulation of solid objects, free from interpenetration. Moving forward, in the next lecture, we will delve into the projected Newton method for solving unconstrained optimization problems. This method offers the advantage of global convergence, meaning that the method is guaranteed to converge regardless of the initial configuration, provided it is feasible. This feature is highly desirable for complex simulations and it helps make the method more robust and reliable.","breadcrumbs":"Optimization Framework » Summary » Summary","id":"18","title":"Summary"},"19":{"body":"","breadcrumbs":"Projected Newton » Projected Newton","id":"19","title":"Projected Newton"},"2":{"body":"Chapter Contributors Minchen Li , CMU Chenfanfu Jiang , UCLA Community Contributors (Github) liminchen, cffjiang","breadcrumbs":"Preface » Version 1.0.0 (Released 2024/5):","id":"2","title":"Version 1.0.0 (Released 2024/5):"},"20":{"body":"In addressing the minimization problem presented by implicit Euler time integration (referenced in Equation (2.1.1) ), employing Newton's method (outlined in Algorithm 1.5.1 ) is a viable strategy for the resultant system of nonlinear equations. This involves setting the gradient of the Incremental Potential Energy to zero: ∇E(x)=0. However, the application of this method to cases such as nonlinear elasticity, particularly in the Neo-Hookean model, does not always guarantee convergence. The presence of truncation errors, especially in scenarios involving large time steps or significant deformations, can adversely affect the convergence process. Example 3.1.1 (Illustration of Newton's Convergence Issue). To elucidate the issue of Newton's method non-convergence, let's consider a one-dimensional minimization problem characterized by the objective function: f(x)=ln(e−x+ex). We can evaluate the function at x=2 and approximate it using a quadratic energy g(x), which is defined as: g(x)=f(2)+f′(2)(x−2)+21​f′′(2)(x−2)2. The joint plot of f(x) and g(x) ( Figure 3.1.1 ) distinctly exhibits that the next iteration would exceed the actual target, landing at a point (x=−11.645) further from the actual solution at x=0. The subsequent iterations amplify this deviation, leading to a trajectory that diverges. It's worth noting that this demonstration involves a convex function f(x)=ln(e−x+ex). The problem can become even more complex when Newton's method is applied to non-convex elasticity energies. Figure 3.1.1. An iteration of Newton's method for minx​E(x)=ln(e−x+ex) at x=2. Remark 3.1.1 (Convexity of Energies). Convex functions are characterized by symmetric and positive-definite (SPD) second-order derivatives throughout their domain. Conversely, the energy in most models of nonlinear elasticity used in computer graphics is rotation invariant. This implies that the energy value remains unchanged regardless of the rotational orientation of objects or elements. Such rotation invariance leads to non-convexity , making the optimization process more complex. Definition 3.1.1 (Symmetric Positive-Definiteness). A square matrix A∈Rn×n is symmetric positive-definite if A=AT, and vTAv>0 for all v∈Rn,v=0. Unlike directly solving nonlinear equations, a minimization problem provides an energy measure that enables the assurance of global convergence using a technique called line search.","breadcrumbs":"Projected Newton » Convergence of Newton's Method » Convergence Issue of Newton's Method","id":"20","title":"Convergence Issue of Newton's Method"},"21":{"body":"In iterative minimization methods, line search is a technique used to select a fraction of the step in each iteration, ensuring the objective energy decreases at the new point. Specifically, for Newton's method, line 4 in Algorithm 1.5.1 is modified from \\(x^i \\leftarrow x\\) to \\(x^i \\leftarrow x^i + \\alpha (x - x^i)\\), where \\(\\alpha \\in (0,1]\\) is the step size, essential for the reduction of energy. This leads to two critical questions: Does such an \\(\\alpha\\) always exist? And how is \\(\\alpha\\) calculated? Remark 3.2.1 (Existence of \\(\\alpha\\)). For a smooth objective energy \\(E(x)\\) at \\(x^i\\) where \\(\\nabla E(x^i) \\neq 0\\), if a search direction \\(p=x-x^i\\) is descent, namely \\(p^T \\nabla E(x^i) < 0\\), then there exists \\(\\alpha > 0\\) such that \\(E(x^i + \\alpha p) < E(x^i)\\). Method 3.2.1 (Backtracking Line Search). Given a descent direction, we can find a reasonably large \\(\\alpha\\) by simply halving it starting from \\(1\\) until the energy at the new location is smaller than the current (see Algorithm 3.2.1 ). Algorithm 3.2.1 (The Backtracking Line Search Algorithm). Remark 3.2.2 (Other Line Search Methods). There are other line search methods that attempt to apply polynomial interpolations to find an \\(\\alpha\\) such that the energy at the new location is closer to a local minimum on the line segment \\(x^i + s p\\), (\\(s\\in(0,1]\\)). However, these methods generally incur higher computational costs and may not necessarily enhance the overall wall-clock timing of the optimization. Now, with line search, if Newton's method consistently generates a descent search direction, then the method is guaranteed to converge for any initial configuration on any smooth energy with a lower bound. We know that in iteration \\(i\\), \\(p = -(\\nabla^2 E(x^i))^{-1} \\nabla E(x^i)\\), so \\(p^T \\nabla E(x^i)\\) equals \\(-\\nabla E(x^i)^T (\\nabla^2 E(x^i))^{-T} \\nabla E(x^i)\\). For convex energies, \\(\\nabla^2 E(x^i)\\) is always Symmetric Positive Definite (SPD), and so is \\((\\nabla^2 E(x^i))^{-T}\\), making \\(p\\) always a descent direction. However, for non-convex energies, this assurance does not always hold. One approach to address this issue is to approximate the energies locally using convex energy proxies.","breadcrumbs":"Projected Newton » Line Search » Line Search","id":"21","title":"Line Search"},"22":{"body":"The search direction of the standard Newton's method is calculated by minimizing the local quadratic approximation of the objective energy: p=argΔxmin​(E(xi)+ΔxT∇E(xi)+21​ΔxTPΔx)(3.3.1) where \\(P = \\nabla^2 E(x^i)\\). In general gradient-based optimization methods, \\(p\\) can be calculated by Equation (3.3.1) with any proxy matrix \\(P\\). Setting \\(P = I\\) results in \\(p = -\\nabla E(x^i)\\), as used in the standard gradient descent method. This approach converges more slowly than Newton's method, as the energy approximation is of a lower order. The closer the proxy matrix \\(P\\) is to the Hessian matrix \\(\\nabla^2 E(x^i)\\), the faster the convergence. Hence, using an SPD approximation of the Hessian matrix as the proxy ensures that the search direction is always descent, while maintaining a convergence rate close to quadratic. This is akin to approximating non-convex energies locally using a convex energy proxy. A straightforward method to obtain such an SPD approximation involves first projecting \\(\\nabla^2 E(x^i)\\) onto its closest semi-definite matrix by solving Pmin​∥P−∇2E(xi)∥F​s.t.vTPv≥0 ∀v=0, and then introducing perturbations to ensure that \\(P\\) is invertible. The solution in this case is \\(P = Q \\hat{\\Lambda} Q^{-1}\\), where \\(P = Q \\Lambda Q^{-1}\\) is the eigendecomposition, and Λ^ij​=Λij​ if \\(\\Lambda_{ij} > 0\\), otherwise \\(\\hat{\\Lambda}_{ij} = 0\\). Intuitively, \\(P\\) is obtained by zeroing out all the negative eigenvalues of \\(\\nabla^2 E(x^i)\\). Definition 3.3.1 (Eigendecomposition). The eigendecomposition of a square matrix \\(A \\in \\mathbb{R}^{n \\times n}\\) is A=QΛQ−1 where \\(Q = [q_1, q_2, ..., q_n]\\) is composed of the eigenvectors \\(q_i\\) of \\(A\\), ∥qi​∥=1; \\(\\Lambda = [\\lambda_1, \\lambda_2, ..., \\lambda_n]\\), with \\(\\lambda_1 \\geq \\lambda_2 \\geq ..., \\lambda_n\\) being the eigenvalues of \\(A\\); and \\(Aq_i = \\lambda_i q_i\\). However, in simulation, \\(\\nabla^2 E(x^i)\\) is usually a large sparse matrix, and performing eigendecomposition on it would be prohibitively expensive. Fortunately, we will discover later in this book that the Incremental Potential in solids simulation can be expressed as a separable sum of energies defined on local stencils, such as a triangle in the 2D Finite Element Method (FEM) mesh: E(x)=j∑​Ej​(xj1​,xj2​,...), where \\(\\mathbf{x}_{jk}\\) are the nodes associated with the energy \\(E_j\\). Consequently, we can conveniently obtain a reasonably good SPD approximation by zeroing out the negative eigenvalues of each \\(\\nabla^2 E_i\\) defined on a small number of nodes and aggregating them. Example 3.3.1 (Local Projection Method). To simulate elasticity in 2D on a triangle mesh with 10,201 nodes and 20,000 triangles, the Hessian matrix \\(\\nabla^2 E(x)\\) is \\(20,402 \\times 20,402\\). For the local projection method described above, it requires 20,000 eigendecompositions on \\(6 \\times 6\\) matrices. Considering the computational complexity of eigendecomposition on an \\(n \\times n\\) matrix is worse than \\(O(n^2)\\), this rough estimation already suggests a more than \\(500\\times\\) speedup for this medium-sized problem when employing the local projection methods. In addition, since the mass matrix in \\(\\nabla^2 E(x^i)\\) is Symmetric Positive Definite (SPD) and the sum of SPD matrices remains SPD, there is no need for perturbations when projecting other matrices. We now summarize the globally convergent projected Newton method for backward Euler time integration in Algorithm 3.3.1 . Algorithm 3.3.1 (Projected Newton Method for Backward Euler Time Integration). Remark 3.3.1 (Stopping Criteria). From Equation (3.3.1) , we understand that ∥p∥ can be interpreted as a quadratic approximation of the distance from the current estimate \\(x^i\\) to the optimal solution. Hence, we utilize ∥p∥∞​/Δt as a more intuitive measure for the stopping criteria. This approach transforms it into a velocity unit and takes the maximum magnitude across every node.","breadcrumbs":"Projected Newton » Gradient-Based Optimization » Gradient-based Optimization","id":"22","title":"Gradient-based Optimization"},"23":{"body":"After examining the convergence issues of traditional Newton's method, even on smooth convex energies, we introduced a backtracking line search scheme for minimizing the Incremental Potential of Implicit Euler time integration, ensuring global convergence. To guarantee the discovery of a positive step size, the Incremental Potential Hessian is projected onto a nearby Symmetric Positive Definite (SPD) matrix. This SPD projection is efficiently achieved by eliminating the negative eigenvalues of the Hessian matrices for each non-convex energy stencil, involving only a few nodes. A convergence criterion that provides a more intuitive and consistent method for setting tolerance is also introduced, utilizing the Newton search direction. In the next lecture, we will conclude with a clear demonstration of all the covered topics through a simple 2D case study.","breadcrumbs":"Projected Newton » Summary » Summary","id":"23","title":"Summary"},"24":{"body":"Up to now, we have completed a high-level introduction to the optimization-based solids simulation framework. In this lecture, we elaborate on how to implement a simple 2D elastodynamics simulator with Python3. Sections in this book with Python implementations will be marked with a * right after the title. All the Python implementations can be found at https://github.com/phys-sim-book/solid-sim-tutorial . The excutable Python project for this section is in the /1_mass_spring folder of this repository.","breadcrumbs":"Case Study: 2D Mass-Spring* » Case Study: 2D Mass Spring*","id":"24","title":"Case Study: 2D Mass Spring*"},"25":{"body":"In representing solid geometries, we employ a mesh structure. We can further simplify the representation by connecting nodes on the mesh with edges. To facilitate this process, especially for geometries like squares, we can script a mesh generator. This generator allows for specifying both the side length of the square and the desired resolution of the mesh. Implementation 4.1.1 (Square Mesh Generation, square_mesh.py). import numpy as np\nimport os def generate(side_length, n_seg): # sample nodes uniformly on a square x = np.array([[0.0, 0.0]] * ((n_seg + 1) ** 2)) step = side_length / n_seg for i in range(0, n_seg + 1): for j in range(0, n_seg + 1): x[i * (n_seg + 1) + j] = [-side_length / 2 + i * step, -side_length / 2 + j * step] # connect the nodes with edges e = [] # horizontal edges for i in range(0, n_seg): for j in range(0, n_seg + 1): e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j]) # vertical edges for i in range(0, n_seg + 1): for j in range(0, n_seg): e.append([i * (n_seg + 1) + j, i * (n_seg + 1) + j + 1]) # diagonals for i in range(0, n_seg): for j in range(0, n_seg): e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j + 1]) e.append([(i + 1) * (n_seg + 1) + j, i * (n_seg + 1) + j + 1]) return [x, e] In the code, n_seg represents the number of edges along each side of the square. The nodes are uniformly distributed across the square and interconnected through horizontal, vertical, and diagonal edges. For instance, calling generate(1.0, 4) constructs a mesh as depicted in Figure 4.1.1 . This implementation utilizes the array data structures from the Numpy library, which provides convenient methods for handling the vector algebra required in subsequent steps. Figure 4.1.1. A 4×4 square mesh generated by calling generate(1.0, 4) defined in Square Mesh Generation script above. For temporal discretization, our approach is the implicit Euler method. The Incremental Potential, which needs to be minimized in time step \\(n\\), is represented as follows: E(x)=21​∥x−(xn+hvn)∥M2​+h2P(x).(4.1.1) Next, our focus shifts to implementing the calculations for the energy value, gradient, and Hessian for both the inertia term and the potential energy \\(P(x)\\).","breadcrumbs":"Case Study: 2D Mass-Spring* » Spatial and Temporal Discretizations » Spatial and Temporal Discretizations","id":"25","title":"Spatial and Temporal Discretizations"},"26":{"body":"For the inertia term, with \\(\\tilde{x}^n = x^n + h v^n\\), we have \\[ E_I(x) = \\frac{1}{2}\\|x - \\tilde{x}^n \\|_M^2, \\quad \\nabla E_I(x) = M(x - \\tilde{x}^n), \\quad \\text{and} \\quad \\nabla^2 E_I(x) = M, \\] which is straightforward to implement: Implementation 4.2.1 (InertiaEnergy.py). import numpy as np def val(x, x_tilde, m): sum = 0.0 for i in range(0, len(x)): diff = x[i] - x_tilde[i] sum += 0.5 * m[i] * diff.dot(diff) return sum def grad(x, x_tilde, m): g = np.array([[0.0, 0.0]] * len(x)) for i in range(0, len(x)): g[i] = m[i] * (x[i] - x_tilde[i]) return g def hess(x, x_tilde, m): IJV = [[0] * (len(x) * 2), [0] * (len(x) * 2), np.array([0.0] * (len(x) * 2))] for i in range(0, len(x)): for d in range(0, 2): IJV[0][i * 2 + d] = i * 2 + d IJV[1][i * 2 + d] = i * 2 + d IJV[2][i * 2 + d] = m[i] return IJV The functions val(), grad(), and hess() are designed to compute different components of the inertia term. Specifically: val(): Computes the value of the inertia term. grad(): Calculates the gradient of the inertia term. hess(): Determines the Hessian of the inertia term. Regarding the Hessian matrix, a memory-efficient approach is employed. Rather than allocating a large two-dimensional array to store all entries of the Hessian matrix, only the nonzero entries are kept. This is achieved using the IJV structure, which consists of three lists: Row Index : Identifies the row position of each nonzero entry. Column Index : Indicates the column position of each nonzero entry. Value : The actual nonzero value at the specified row and column. This method significantly reduces memory usage and computational costs associated with downstream processing.","breadcrumbs":"Case Study: 2D Mass-Spring* » Inertia Term » Inertia Term","id":"26","title":"Inertia Term"},"27":{"body":"In this case study, we focus exclusively on incorporating the mass-spring elasticity potential into our system. The concept of mass-spring elasticity is akin to treating each edge of the mesh as if it were a spring. This approach is inspired by Hooke's Law, allowing us to formulate the potential energy on edge e as follows: Pe​(x)=l221​k(l2∥x1​−x2​∥2​−1)2,(4.3.1) Here, x1​ and x2​ represent the current positions of the two endpoints of the edge. The variable l denotes the original length of the edge, and k is a parameter controlling the spring's stiffness. Notably, when the distance between the two endpoints ∥x1​−x2​∥ equals the original length l, the potential energy Pe​(x) attains its global minimum value of 0, indicating no force is exerted. An important aspect of this formulation is the inclusion of l2 at the beginning. This is analogous to integrating the spring energy across the solid and choosing edges as quadrature points. This integration helps maintain a consistent relationship between the stiffness behavior and the parameter k, regardless of mesh resolution variations. Another deviation from standard spring energy formulations is our avoidance of the square root operation. We directly use ∥x1​−x2​∥2, making our model polynomial in nature. This simplification yields more streamlined expressions for the gradient and Hessian: ∂x1​∂Pe​​(x)=−∂x2​∂Pe​​(x)=2k(l2∥x1​−x2​∥2​−1)(x1​−x2​), ∂x12​∂2Pe​​(x)​=∂x22​∂2Pe​​(x)=−∂x1​x2​∂2Pe​​(x)=−∂x2​x1​∂2Pe​​(x)=l24k​(x1​−x2​)(x1​−x2​)T+2k(l2∥x1​−x2​∥2​−1)I=l22k​(2(x1​−x2​)(x1​−x2​)T+(∥x1​−x2​∥2−l2)I).​ The total potential energy of the system, denoted as P(x), can be derived by summing the potential energy across all edges. This is calculated using Equation (4.3.1) . Thus, the total potential energy is expressed as: P(x)=e∑​Pe​(x) where the summation is taken over all edges in the mesh. Implementation 4.3.1 (MassSpringEnergy.py). import numpy as np\nimport utils def val(x, e, l2, k): sum = 0.0 for i in range(0, len(e)): diff = x[e[i][0]] - x[e[i][1]] sum += l2[i] * 0.5 * k[i] * (diff.dot(diff) / l2[i] - 1) ** 2 return sum def grad(x, e, l2, k): g = np.array([[0.0, 0.0]] * len(x)) for i in range(0, len(e)): diff = x[e[i][0]] - x[e[i][1]] g_diff = 2 * k[i] * (diff.dot(diff) / l2[i] - 1) * diff g[e[i][0]] += g_diff g[e[i][1]] -= g_diff return g def hess(x, e, l2, k): IJV = [[0] * (len(e) * 16), [0] * (len(e) * 16), np.array([0.0] * (len(e) * 16))] for i in range(0, len(e)): diff = x[e[i][0]] - x[e[i][1]] H_diff = 2 * k[i] / l2[i] * (2 * np.outer(diff, diff) + (diff.dot(diff) - l2[i]) * np.identity(2)) H_local = utils.make_PSD(np.block([[H_diff, -H_diff], [-H_diff, H_diff]])) # add to global matrix for nI in range(0, 2): for nJ in range(0, 2): indStart = i * 16 + (nI * 2 + nJ) * 4 for r in range(0, 2): for c in range(0, 2): IJV[0][indStart + r * 2 + c] = e[i][nI] * 2 + r IJV[1][indStart + r * 2 + c] = e[i][nJ] * 2 + c IJV[2][indStart + r * 2 + c] = H_local[nI * 2 + r, nJ * 2 + c] return IJV In dealing with the Hessian matrix of the mass-spring energy, a key consideration is its non-symmetric positive definite (SPD) nature. To address this, a specific modification is employed: we neutralize the negative eigenvalues of the local Hessian corresponding to each edge. This is done prior to incorporating these local Hessians into the global matrix. The process involves setting negative eigenvalues to zero, thus ensuring that the resulting global Hessian matrix adheres more closely to the desired SPD properties. This modification is crucial for Newton's method. Implementation 4.3.2 (Positive Semi-Definite Projection). import numpy as np\nimport numpy.linalg as LA def make_PSD(hess): [lam, V] = LA.eigh(hess) # Eigen decomposition on symmetric matrix # set all negative Eigenvalues to 0 for i in range(0, len(lam)): lam[i] = max(0, lam[i]) return np.matmul(np.matmul(V, np.diag(lam)), np.transpose(V))","breadcrumbs":"Case Study: 2D Mass-Spring* » Mass-Spring Potential Energy » Mass-Spring Potential Energy","id":"27","title":"Mass-Spring Potential Energy"},"28":{"body":"Having established the capability to evaluate the Incremental Potential for arbitrary configurations, we now turn our attention to the implementation of the optimization time integrator. This integrator is crucial for minimizing the Incremental Potential, which in turn updates the nodal positions and velocities. This implementation follows the approach outlined in Algorithm 3.3.1 : Implementation 4.4.1 (time_integrator.py). import copy\nfrom cmath import inf import numpy as np\nimport numpy.linalg as LA\nimport scipy.sparse as sparse\nfrom scipy.sparse.linalg import spsolve import InertiaEnergy\nimport MassSpringEnergy def step_forward(x, e, v, m, l2, k, h, tol): x_tilde = x + v * h # implicit Euler predictive position x_n = copy.deepcopy(x) # Newton loop iter = 0 E_last = IP_val(x, e, x_tilde, m, l2, k, h) p = search_dir(x, e, x_tilde, m, l2, k, h) while LA.norm(p, inf) / h > tol: print('Iteration', iter, ':') print('residual =', LA.norm(p, inf) / h) # line search alpha = 1 while IP_val(x + alpha * p, e, x_tilde, m, l2, k, h) > E_last: alpha /= 2 print('step size =', alpha) x += alpha * p E_last = IP_val(x, e, x_tilde, m, l2, k, h) p = search_dir(x, e, x_tilde, m, l2, k, h) iter += 1 v = (x - x_n) / h # implicit Euler velocity update return [x, v] def IP_val(x, e, x_tilde, m, l2, k, h): return InertiaEnergy.val(x, x_tilde, m) + h * h * MassSpringEnergy.val(x, e, l2, k) # implicit Euler def IP_grad(x, e, x_tilde, m, l2, k, h): return InertiaEnergy.grad(x, x_tilde, m) + h * h * MassSpringEnergy.grad(x, e, l2, k) # implicit Euler def IP_hess(x, e, x_tilde, m, l2, k, h): IJV_In = InertiaEnergy.hess(x, x_tilde, m) IJV_MS = MassSpringEnergy.hess(x, e, l2, k) IJV_MS[2] *= h * h # implicit Euler IJV = np.append(IJV_In, IJV_MS, axis=1) H = sparse.coo_matrix((IJV[2], (IJV[0], IJV[1])), shape=(len(x) * 2, len(x) * 2)).tocsr() return H def search_dir(x, e, x_tilde, m, l2, k, h): projected_hess = IP_hess(x, e, x_tilde, m, l2, k, h) reshaped_grad = IP_grad(x, e, x_tilde, m, l2, k, h).reshape(len(x) * 2, 1) return spsolve(projected_hess, -reshaped_grad).reshape(len(x), 2) Here step_forward() is essentially a direct translation of the projected Newton method with line search ( Algorithm 3.3.1 ), and we implemented the Incremental Potential value (IP_val()), gradient (IP_grad()), and Hessian (IP_hess()) evaluations as separate functions for clarity. For the computation of search directions, we utilize the linear solver from the Scipy library , which is adept at handling sparse matrices. Notably, this solver accepts matrices in the Compressed Sparse Row (CSR) format. The choice of this format and solver is driven by their efficiency in processing and memory usage, which is particularly advantageous when dealing with large-scale problems with large sparse matricies often encountered in computational simulations.","breadcrumbs":"Case Study: 2D Mass-Spring* » Optimization Time Integrator » Optimization Time Integrator","id":"28","title":"Optimization Time Integrator"},"29":{"body":"Having gathered all necessary elements for our 2D mass-spring simulator, the next step is to implement the simulator. This implementation will operate in a step-by-step manner and include visualization capabilities to enhance understanding and engagement. Implementation 4.5.1 (simulator.py). # Mass-Spring Solids Simulation import numpy as np # numpy for linear algebra\nimport pygame # pygame for visualization\npygame.init() import square_mesh # square mesh\nimport time_integrator # simulation setup\nside_len = 1\nrho = 1000 # density of square\nk = 1e5 # spring stiffness\ninitial_stretch = 1.4\nn_seg = 4 # num of segments per side of the square\nh = 0.004 # time step size in s # initialize simulation\n[x, e] = square_mesh.generate(side_len, n_seg) # node positions and edge node indices\nv = np.array([[0.0, 0.0]] * len(x)) # velocity\nm = [rho * side_len * side_len / ((n_seg + 1) * (n_seg + 1))] * len(x) # calculate node mass evenly\n# rest length squared\nl2 = []\nfor i in range(0, len(e)): diff = x[e[i][0]] - x[e[i][1]] l2.append(diff.dot(diff))\nk = [k] * len(e) # spring stiffness\n# apply initial stretch horizontally\nfor i in range(0, len(x)): x[i][0] *= initial_stretch # simulation with visualization\nresolution = np.array([900, 900])\noffset = resolution / 2\nscale = 200\ndef screen_projection(x): return [offset[0] + scale * x[0], resolution[1] - (offset[1] + scale * x[1])] time_step = 0\nsquare_mesh.write_to_file(time_step, x, n_seg)\nscreen = pygame.display.set_mode(resolution)\nrunning = True\nwhile running: # run until the user asks to quit for event in pygame.event.get(): if event.type == pygame.QUIT: running = False print('### Time step', time_step, '###') # fill the background and draw the square screen.fill((255, 255, 255)) for eI in e: pygame.draw.aaline(screen, (0, 0, 255), screen_projection(x[eI[0]]), screen_projection(x[eI[1]])) for xI in x: pygame.draw.circle(screen, (0, 0, 255), screen_projection(xI), 0.1 * side_len / n_seg * scale) pygame.display.flip() # flip the display # step forward simulation and wait for screen refresh [x, v] = time_integrator.step_forward(x, e, v, m, l2, k, h, 1e-2) time_step += 1 pygame.time.wait(int(h * 1000)) square_mesh.write_to_file(time_step, x, n_seg) pygame.quit() For 2D visualization in our simulator, we utilize the Pygame library . The simulation is initiated with a scene featuring a single square, which is initially elongated horizontally. During the simulation, the square begins to revert to its original horizontal dimensions. Subsequently, due to inertia, it will start to stretch vertically, oscillating back and forth until it eventually stabilizes at its rest shape, as illustrated in ( Figure 4.5.1 ). Figure 4.5.1. From left to right: initial, intermediate, and final static frame of the initially stretched square simulation. In addition to storing node positions x and edges e, our simulation also requires allocating memory for several other key variables: Node Velocities (v) : To track the movement of each node over time. Masses (m) : Node masses are calculated by uniformly distributing the total mass of the square across each node. This is a preliminary approach; more detailed methods for calculating nodal mass in Finite Element Method (FEM) or Material Point Method (MPM) will be explored in future chapters. Squared Rest Length of Edges (l2) : Important for calculating the potential energy in the mass-spring system. Spring Stiffnesses (k) : A crucial parameter influencing the dynamics of the springs. For visualization purposes beyond our simulator, we enable the export of the mesh data into .obj files. This is achieved by calling the write_to_file() function at the start and at each frame of the simulation. This feature facilitates the use of alternative visualization software to analyze and present the simulation results. Implementation 4.5.2 (Output Square Mesh, square_mesh.py). def write_to_file(frameNum, x, n_seg): # Check if 'output' directory exists; if not, create it if not os.path.exists('output'): os.makedirs('output') # create obj file filename = f\"output/{frameNum}.obj\" with open(filename, 'w') as f: # write vertex coordinates for row in x: f.write(f\"v {float(row[0]):.6f} {float(row[1]):.6f} 0.0\\n\") # write vertex indices for each triangle for i in range(0, n_seg): for j in range(0, n_seg): #NOTE: each cell is exported as 2 triangles for rendering f.write(f\"f {i * (n_seg+1) + j + 1} {(i+1) * (n_seg+1) + j + 1} {(i+1) * (n_seg+1) + j+1 + 1}\\n\") f.write(f\"f {i * (n_seg+1) + j + 1} {(i+1) * (n_seg+1) + j+1 + 1} {i * (n_seg+1) + j+1 + 1}\\n\") With all components properly set up, the next phase involves initiating the simulation loop. This loop advances the time integration and visualizes the results at each time step. To execute the simulation program, the following command is used in the terminal: python3 simulator.py Remark 4.5.1 (Practical Considerations). With our simulator implementation in place, it provides us with the flexibility to experiment with various configurations of the optimization time integration scheme. Such testing is invaluable for gaining deeper insights into the roles and impacts of each essential component. Consider an example: if we opt not to project the mass-spring Hessian to a Symmetric Positive Definite (SPD) form, peculiar behaviors may emerge under certain conditions. For instance, running the simulation with a frame-rate time step size of h=0.02 and an initial_stretch of 0.5 could lead to line search failures. This, in turn, results in very small step sizes, hampering the optimization process and preventing significant progress. While line search might seem superfluous in this simplistic 2D example, its necessity becomes apparent in more complex 3D elastodynamics simulations, especially those involving large deformations. Here, line search is crucial to ensure the convergence of the simulation. Another point of interest is the stopping criteria applied in traditional solids simulators. Many such simulators forego a dynamic stopping criterion and instead terminate the optimization process after a predetermined number of iterations. This approach, while straightforward, can lead to numerical instabilities or 'explosions' in more challenging scenarios. This underscores the importance of carefully considering the integration scheme and its parameters to ensure stable and accurate simulations.","breadcrumbs":"Case Study: 2D Mass-Spring* » Simulation with Visualization » Simulator with Visualization","id":"29","title":"Simulator with Visualization"},"3":{"body":"@book{li2024physics,\ntitle={Physics-Based Simulation (V1.0.0)},\nauthor={Li, Minchen and Jiang, Chenfanfu},\nyear={2024}\n}","breadcrumbs":"Preface » BibTeX","id":"3","title":"BibTeX"},"30":{"body":"We have successfully demonstrated the implementation of a basic 2D mass-spring simulator encompassing several critical components: Mesh Generation : This involves the creation of nodes and connecting elements. In practical scenarios, simulators often import meshes from pre-existing files. Incremental Potential Energy Evaluation : Comprises the computation of the potential energy value, its gradient, and the Symmetric Positive Definite (SPD)-projected Hessian. Optimization Time Integrator : This includes linear solves for determining search directions, line search techniques to ensure global convergence, and rules for updating nodal positions and velocities. Simulator Structure : Encompasses scene setup, variable initialization, and the execution of the simulation loop. (Note: Visualization aspects can be decoupled from the simulator itself.) In the forthcoming chapter, we will delve into boundary treatments, including prescribed motion and frictional contact, which are implemented through equality or inequality constraints in the optimization framework. This discussion will be enriched with practical case studies, illustrating the application of each boundary treatment in computational simulations.","breadcrumbs":"Case Study: 2D Mass-Spring* » Summary » Summary","id":"30","title":"Summary"},"31":{"body":"Boundary treatments, including boundary conditions and frictional contacts, play a crucial role in solid simulations. They not only enhance the expressiveness of scene setup but also capture intricate dynamics within the simulation. This lecture introduces Dirichlet boundary conditions, a pivotal concept for prescribing the motion of specific nodes in solid structures. Understanding these conditions is essential for accurately modeling and manipulating the behavior of solids in various simulation scenarios.","breadcrumbs":"Dirichlet Boundary Conditions* » Dirichlet Boundary Conditions*","id":"31","title":"Dirichlet Boundary Conditions*"},"32":{"body":"Dirichlet boundary conditions (BC), when integrated into the optimization time integrator, are represented as linear equality constraints: Ax=b,(5.1.1) In this equation, the matrix \\(A\\) is a \\(m \\times dn\\) matrix, where \\(m \\leq dn\\). This matrix functions to select the degrees of freedom (DOFs) at the nodes that are subject to the boundary conditions. The vector \\(b\\) is a \\(m \\times 1\\) vector, which specifies the precise spatial values that are prescribed by these conditions. Example 5.1.1 (Sticky Dirichlet Boundary Condition). For a 2D system containing two nodes \\((x_{11}, x_{12})\\) and \\((x_{21}, x_{22})\\), to fix the second node at position \\((1, 2)\\), the boundary condition (Equation (5.1.1) ) can be expressed as [00​00​10​01​]​x11​x12​x21​x22​​​=[12​]. The two most common types of Dirichlet boundary conditions are sticky and slip: Sticky Boundary Conditions : These conditions effectively fix the position of certain nodes within a time step. They are characterized by a block-wise constraint Jacobian matrix \\(A\\). In this matrix, each set of \\(d\\) rows includes exactly one \\(d \\times d\\) identity matrix. The rest of the matrix consists of zero matrices. This configuration is illustrated in Example 5.1.1 . The implementation of sticky boundary conditions ensures that the specified nodes remain stationary, adhering to the prescribed positions during the simulation. Slip Boundary Conditions : These conditions are designed to constrain each boundary condition (BC) node within a specific linear subspace, such as a plane or a line, which may not necessarily be axis-aligned. As an example, consider planar slip boundary conditions. Here, for each BC node, there is a corresponding row in the matrix \\(A\\) that contains the normal vector of the plane. This vector occupies the columns corresponding to the BC node, as detailed in Example 5.1.2 . Such conditions allow the nodes to move, but only within the defined linear subspace, thus adding a layer of complexity and realism to the simulation. Example 5.1.2 (Slip Dirichlet Boundary Condition). For the same two-node system in Example 5.1.1 , to constrain the first node in the line with equation \\(2x + 3y = 4\\), the constraint (Equation (5.1.1) ) can be expressed as [2​3​0​0​]​x11​x12​x21​x22​​​=4. At the start of each time step, if we are given that all boundary conditions are satisfied, then the goal during optimization is simply to maintain the positions of the boundary condition nodes. This is represented as: AΔx=0.(5.1.2) Here, \\(\\Delta x\\) is the search direction in each optimization iteration. Maintaining this condition ensures that any updated nodal position \\(x + \\alpha \\Delta x\\), with \\(\\alpha\\) being the step size from line search, still satisfies the boundary conditions: A(x+αΔx)=b. This guarantees the adherence to boundary conditions throughout the optimization process. To enforce the linear equality constraints (Equation (5.1.2) ) for sticky DBC in a time step, we address this in each Newton iteration while solving for the search direction \\( \\Delta x \\). This process involves forming the Lagrangian with a quadratic approximation to the Incremental Potential: L(Δx,λ)=21​ΔxTHΔx+gTΔx+λTAΔx, Here, \\( \\lambda \\) is the \\( m\\times 1 \\) Lagrange multiplier vector. The gradient and Hessian of the Incremental Potential are denoted by \\( g \\) and \\( H \\), respectively. The solution is approached through a max-min optimization problem: λmax​Δxmin​L(Δx,λ), which leads to the formulation of a Karush-Kuhn-Tucker (KKT) system: [HA​AT​][Δxλ​]=[−g0​].(5.1.3) Solving this KKT system is essential to determine the search direction. Note that this system is not Symmetric Positive Definite (SPD) and its size increases with the number of BC nodes.","breadcrumbs":"Dirichlet Boundary Conditions* » Equality Constraint Formulation » Equality Constraint Formulation","id":"32","title":"Equality Constraint Formulation"},"33":{"body":"Considering the simplest sticky Dirichlet boundary condition as an example, its constraint Jacobian \\( A \\) acts as a selection matrix. Consequently, \\( AA^T \\) forms a \\( m \\times m \\) identity matrix, and \\( A^T A \\) becomes a \\( dn \\times dn \\) diagonal matrix. In this matrix, the entries corresponding to the BC nodes are one, and all other entries are zero. When we left-multiply \\( A \\) to the first block row of Equation (5.1.3) , the resulting equation is: [AHA​AAT​][Δxλ​]=[−Ag0​]. This manipulation allows us to directly solve for \\( \\lambda \\) as: λ=−AHΔx−Ag.(5.2.1) By substituting Equation (5.2.1) back into the first block row of Equation (5.1.3) , we derive the following equation: (I−ATA)HΔx=(I−ATA)(−g).(5.2.2) Here, left-multiplying by \\((I - A^T A)\\) effectively zeroes out the rows corresponding to the BC nodes. Hence, Equation (5.2.2) represents an under-constrained system. However, the second block row of Equation (5.1.3) actually provides us with the values of \\(\\Delta x\\) at the BC nodes (so they are not really unknowns). By considering this information, we can rewrite Equation (5.2.2) into a Symmetric Positive Definite (SPD) system: HUB​ΔxB​+HUU​ΔxU​=−gU​, where the matrices and vectors are partitioned as follows: H=[HBB​HUB​​HBU​HUU​​],Δx=[ΔxB​ΔxU​​],g=[gB​gU​​], and the subscript \\(B\\) denotes the BC nodes. Knowing that \\(\\Delta x_B = 0\\), the system simplifies to: HUU​ΔxU​=−gU​,(5.2.3) which represents a SPD system that excludes the BC nodes.","breadcrumbs":"Dirichlet Boundary Conditions* » DOF Elimination Method » DOF Elimination Method","id":"33","title":"DOF Elimination Method"},"34":{"body":"The method outlined above serves primarily for mathematical explanation. In practical applications, constructing Equation (5.2.3) is often avoided. This is because it entails reordering degrees of freedom (DOFs) and separating the BC nodes from unconstrained nodes, a process that can be both tedious and inefficient, particularly when the set of Dirichlet nodes varies over time. To circumvent the need to reorder DOFs, a direct modification of the original linear system can be made to align it with Equation (5.2.3) . This adjustment involves setting all entries in the rows corresponding to BC nodes in \\( H \\) and \\( g \\) to \\( 0 \\). Additionally, for the columns associated with BC nodes in \\( H \\), all off-diagonal entries are set to \\( 0 \\) while diagonal entries are assigned \\( 1 \\) or another positive real number to ensure the system remains well-conditioned. After solving this modified system, the resulting values of \\( \\Delta x_U \\) are immediately aquired, and all \\( \\Delta x_B \\) values are guaranteed to be \\( 0 \\). Example 5.2.1 (DOF Elimination). For the problem defined in Example 5.1.1 where the second node \\((x_{21}, x_{22})\\) is fixed at \\((1,2)\\) in a 2D two-node system, assuming in a certain iteration of a time step H=​4−1−1−1​−14−1−1​−1−14−1​−1−1−14​​,andg=​1234​​, we solve the system ​4−100​−1400​0010​0001​​​Δx11​Δx12​Δx21​Δx22​​​=​−1−200​​.(5.2.4) for search direction \\(\\Delta x\\) so that \\(\\Delta x_{21} = \\Delta x_{22} = 0\\) and after line search we for sure know that \\((x_{21}, x_{22}) = (1, 2)\\) still holds since (x21​+αΔx21​,x22​+αΔx22​)=(x21​,x22​). Here (5.2.4) is essentially [HUU​​I​][ΔxU​ΔxB​​]=[−gU​0​] Remark 5.2.1 (Limitations of DOF Elimination). The DOF elimination method described is effective when sticky BC nodes are established at the beginning of the time step. However, if this is not the case, and the constraint function in Equation (5.1.3) has a non-zero right-hand side (rhs), the DOF elimination method becomes inapplicable. The issue here is not the inability to solve for \\( \\Delta x \\) under constraints with a non-zero rhs. Rather, the concern is that the resulting \\( \\Delta x \\) might not lead to a descent direction in the Incremental Potential. This can result in exceedingly small step sizes after a line search, potentially stalling the optimization process. Intuitively, if the direction of \\( \\Delta x_B \\) is towards the prescribed BC coordinates, it could inadvertently increase the Incremental Potential, which is not adjusted to consider the BCs. Conversely, if \\( \\Delta x_B \\) is simply \\( 0 \\) when the BCs are already satisfied, it effectively minimizes the Incremental Potential using a subset of variables, which remains a valid approach. One might then ask why not adjust the DOFs to meet the BCs before starting the optimization. However, this strategy could lead to infeasible configurations, such as those involving intersections. A viable alternative is to initially apply stiff spring forces to gradually 'drag' the BC nodes to their constrained positions during optimization. After this, switching to the DOF elimination method can enhance convergence. This technique is further discussed in the section Moving Boundary Conditions* .","breadcrumbs":"Dirichlet Boundary Conditions* » DOF Elimination Method » A More Practical Approach","id":"34","title":"A More Practical Approach"},"35":{"body":"We use a simple case study to end this lecture. Based on the mass-spring system developed in a previous section, we implement gravitational energy and sticky Dirichlet boundary conditions to simulate a hanging square. The excutable Python project for this section can be found at https://github.com/phys-sim-book/solid-sim-tutorial under the 2_dirichlet folder. Gravitational energy has P(x)=−xTMg,∇P(x)=−Mg,and∇2P(x)=0, which can be trivially implemented: Implementation 5.3.1 (GravityEnergy.py). import numpy as np gravity = [0.0, -9.81] def val(x, m): sum = 0.0 for i in range(0, len(x)): sum += -m[i] * x[i].dot(gravity) return sum def grad(x, m): g = np.array([gravity] * len(x)) for i in range(0, len(x)): g[i] *= -m[i] return g # Hessian is 0 Then we just need to make sure the gravitational energy is added into the Incremental Potential (IP): Implementation 5.3.2 (Adding gravity to IP, time_integrator.py). def IP_val(x, e, x_tilde, m, l2, k, h): return InertiaEnergy.val(x, x_tilde, m) + h * h * (MassSpringEnergy.val(x, e, l2, k) + GravityEnergy.val(x, m)) # implicit Euler def IP_grad(x, e, x_tilde, m, l2, k, h): return InertiaEnergy.grad(x, x_tilde, m) + h * h * (MassSpringEnergy.grad(x, e, l2, k) + GravityEnergy.grad(x, m)) # implicit Euler For the sticky Dirichlet boundary condition, we modify the system accordingly when computing search direction: Implementation 5.3.3 (DOF elimination, time_integrator.py). def search_dir(x, e, x_tilde, m, l2, k, is_DBC, h): projected_hess = IP_hess(x, e, x_tilde, m, l2, k, h) reshaped_grad = IP_grad(x, e, x_tilde, m, l2, k, h).reshape(len(x) * 2, 1) # eliminate DOF by modifying gradient and Hessian for DBC: for i, j in zip(*projected_hess.nonzero()): if is_DBC[int(i / 2)] | is_DBC[int(j / 2)]: projected_hess[i, j] = (i == j) for i in range(0, len(x)): if is_DBC[i]: reshaped_grad[i * 2] = reshaped_grad[i * 2 + 1] = 0.0 return spsolve(projected_hess, -reshaped_grad).reshape(len(x), 2) Here is_DBC is an array marking whether a node is Dirichlet or not as we store the Dirichlet node indices in DBC: Implementation 5.3.4 (DBC definition, simulator.py). DBC = [n_seg, (n_seg + 1) * (n_seg + 1) - 1] # fix the left and right top nodes # ... # identify whether a node is Dirichlet\nis_DBC = [False] * len(x)\nfor i in DBC: is_DBC[i] = True Finally, after making sure is_DBC is passed to the time integrator, we can simulate an energetic hanging square (no initial stretching) with a smaller spring stiffness k=1e3 at framerate time step size h=0.02 ( Figure 5.3.1 ). Figure 5.3.1. From left to right: initial, intermediate, and final static frame of the hanging square simulation.","breadcrumbs":"Dirichlet Boundary Conditions* » Case Study: Hanging Sqaure* » Case Study: Hanging Square*","id":"35","title":"Case Study: Hanging Square*"},"36":{"body":"In this section, we explored Dirichlet boundary conditions (DBC), integral to optimization time integrators, and presented them as straightforward linear equality constraints. There are two types of DBCs: sticky and slip . Sticky DBCs immobilize certain nodes, fixing their positions, whereas slip DBCs restrict the movement of nodes to within a plane or a line. We focused on cases where sticky DBCs are already met at the start of a time step. In such scenarios, the DOF elimination method proves efficient. This technique modifies the gradient and Hessian of the Incremental Potential, ensuring that the resulting search direction remains within the feasible space. In the following lecture, we will delve into the handling of slip DBCs and demonstrate methods for their efficient incorporation into optimization problems.","breadcrumbs":"Dirichlet Boundary Conditions* » Summary » Summary","id":"36","title":"Summary"},"37":{"body":"Although they might be satisfied at the start of a time step, general slip Dirichlet boundary conditions (DBC) present unique challenges. Unlike the sticky DBCs, they cannot be directly addressed using the DOF elimination method , primarily because their constraint Jacobian does not consist of identity matrix blocks. To navigate this complexity, we can adopt a change-of-basis strategy. Before delving into the more general scenarios, it's insightful to first examine a particular type of slip DBC: those that are axis-aligned. Understanding this specific case will lay the groundwork for tackling the broader range of slip DBCs.","breadcrumbs":"Slip Dirichlet Boundary Conditions » Slip Dirichlet Boundary Conditions","id":"37","title":"Slip Dirichlet Boundary Conditions"},"38":{"body":"Axis-Aligned slip Dirichlet boundary conditions (DBC) uniquely restrict the movement of certain nodes to linear subspaces that are aligned with the axes. For instance, these constraints could limit motion to lines parallel to the x-axis or planes parallel to the yz-plane. An advantageous aspect of Axis-Aligned slip DBC is that their constraint Jacobians bear resemblance to those of sticky DBCs. Consequently, they can be efficiently managed using the same DOF elimination method. Example 6.1.1 (Axis-Aligned Slip DBC). Consider the previously mentioned two-node system in a 2D space, as referenced in the slip DBC example ( Example 5.1.2 ). To apply a slip DBC that constrains the first node, represented by coordinates \\((x_{11}, x_{12})\\), to move only along the line \\(y = 3\\), we express this constraint as a linear equality: [0​1​0​0​]​x11​x12​x21​x22​​​=3. Then similar to sticky DBC, in a time step where this slip DBC is already satisfied, assume we have H=​4−1−1−1​−14−1−1​−1−14−1​−1−1−14​​,andg=​1234​​, we can solve the system ​40−1−1​0100​−104−1​−10−14​​​Δx11​Δx12​Δx21​Δx22​​​=​−10−3−4​​ for search direction so that \\(\\Delta x_{12} = 0\\) and the first node will stay on the \\(y=3\\) line for arbitrary step size since its \\(y\\) coordinate will not vary.","breadcrumbs":"Slip Dirichlet Boundary Conditions » Axis-Aligned Slip DBC » Axis-Aligned Slip DBC","id":"38","title":"Axis-Aligned Slip DBC"},"39":{"body":"","breadcrumbs":"Slip Dirichlet Boundary Conditions » Change of Variables » Change of Variables","id":"39","title":"Change of Variables"},"4":{"body":"In this lecture, we explore the simulation of deformable solids with the aim of developing a discrete, computationally solvable problem. The primary goal is to introduce the abstract algebraic concepts inherent in this problem. We approach elasticity simulation using a top-down architectural view, placing mathematical modeling at the forefront. The study of classical elastic solids physics largely revolves around Partial Differential Equations (PDEs). In continuum mechanics and finite element analysis literature, the norm is to first derive the continuous form of these PDEs, elaborating on each term's origin, before adapting them to discrete programming languages. Often, this adaptation appears in later sections, creating a sense of anticipation for the reader. This book, however, takes a different route. It weaves continuum mechanics and PDEs into the discussion as needed, evenly distributing these topics to avoid overwhelming the reader. This method links theory to practice incrementally, enhancing understanding. We introduce the main problem formulation early, offering an overview of its numerical solutions. This gives readers an initial comprehensive view, sparking curiosity and motivating deeper exploration in later chapters. This strategy makes the learning process smoother and more intuitive, helping readers effortlessly connect complex concepts and quickly grasp the subject's core. Our aim is to provide a well-rounded, thorough, and engaging exploration of deformable solids simulation, valuable for both students and seasoned researchers in the field.","breadcrumbs":"Discrete Space and Time » Lecture 1: Discrete Space and Time","id":"4","title":"Lecture 1: Discrete Space and Time"},"40":{"body":"When dealing with general linear equality constraints, such as slip DBCs that aren't axis-aligned, the direct Degree of Freedom (DOF) elimination method faces certain limitations. This becomes evident particularly when \\( AA^T \\) is not an \\( m \\times m \\) identity matrix. According to the Karush-Kuhn-Tucker (KKT) system (Equation (5.1.3) ), the Lagrange multiplier vector \\( \\lambda \\) can be solved as follows: λ=−(AAT)−1AHΔx−(AAT)−1Ag.(6.2.1) When we substitute Equation (6.2.1) back into the KKT system, it results in: (I−AT(AAT)−1A)HΔx=(I−AT(AAT)−1A)(−g),(6.2.2) This leads to an under-constrained system. The key challenge here is that \\( I - A^T (AA^T)^{-1} A \\) does not possess a special structure that can be conveniently exploited to derive an equivalent, non-singular system while still satisfying the constraints. This makes the direct application of the DOF elimination method impractical for general slip DBCs.","breadcrumbs":"Slip Dirichlet Boundary Conditions » Change of Variables » Challenges with General Slip DBCs and the DOF Elimination Method","id":"40","title":"Challenges with General Slip DBCs and the DOF Elimination Method"},"41":{"body":"Our approach involves transforming the degrees of freedom (DOF) into a new set of variables, making the constraints as straightforward as those in sticky DBC. To achieve this, we employ singular value decomposition (SVD) on the constraint Jacobian matrix \\( A \\). The SVD of \\( A \\) is expressed as: A=USVT. Here, \\( U \\) is a \\( m \\times m \\) orthogonal matrix, \\( V \\) is a \\( dn \\times dn \\) orthogonal matrix, and \\( S \\) is a \\( m \\times dn \\) diagonal matrix. By defining \\( y = V^T \\Delta x \\), we can reframe the Karush-Kuhn-Tucker (KKT) system (Equation (5.1.3) ) into a new format: [VTHVS​ST0​][yλ′​]=[−VTg0​].(6.2.3) In this transformed system, \\( \\lambda' = U^T \\lambda \\). Notably, the presence of the diagonal matrix \\( S \\) in the off-diagonal blocks allows the direct application of the DOF elimination method. Once we solve for \\( y \\), the original variable \\( \\Delta x \\) is easily recovered through the matrix-vector product \\( \\Delta x = V y \\). Remark 6.2.1 (Limitations of Using SVD for DOF Elimination). While we utilized singular value decomposition (SVD) to illustrate the concept, it's important to recognize the limitations of applying SVD in practice, especially on large matrices. There are two primary concerns: Intractability with Large Matrices: Performing SVD on matrices of substantial size can be computationally challenging and often impractical. Impact on Computational Efficiency: The Incremental Potential Hessian \\( H \\) typically exhibits sparsity, making it efficient to factorize in linear solves during simulations. However, if the resulting \\( V \\) from the SVD is dense, then \\( V^T H V \\) will also be dense. This not only slows down the computation but also significantly increases the cost of linear solves. It's crucial to note that the new basis set (the column vectors of \\( V \\)) needs to be linearly independent but does not necessarily have to be orthonormal. This insight opens up the possibility of identifying a sparse basis set. Such a set can maintain computational efficiency when dealing with general linear equality constraints. For a practical example of this approach, see [Chen et al. 2022] .","breadcrumbs":"Slip Dirichlet Boundary Conditions » Change of Variables » Simplifying Constraints Using Singular Value Decomposition","id":"41","title":"Simplifying Constraints Using Singular Value Decomposition"},"42":{"body":"Fortunately, for constraints like slip DBCs that are decoupled per node, SVD simply results in block-diagonal U and V which could be constructed procedurally in an efficient way. 3D planar slip DBC at node i can be expressed as niT​(xi​−xi′​)=0, where ni​ is the normal of the plane that node i is slipping, and xi′​ is an arbitrary point on that plane. As discussed near Equation (5.1.2) , if at the beginning of the time step node i is already on the plane, the constraint simplifies to niT​Δxi​=0. Then performing SVD on the row vector niT​, we obtain niT​=Ui​Si​ViT​=1[1​0​0​]​niT​miT​liT​​​,(6.3.1) where unit vectors ni​, mi​, and li​ together form an orthonormal basis in 3D. Then it becomes clear that globally, U is simply a m×m identity matrix, S is a m×dn matrix where every row contains exactly one unit-valued entry in the column corresponding to the first DOF of the slip BC node, and V is a dn×dn block-diagonal matrix with the d×d orthonormal blocks only on those corresponding to BC nodes, and d×d identity matrix elsewhere. To compute mi​ and li​ from ni​, we first note that there are an infinite number of possible solutions. Therefore, we can simply first construct mi​=ni​×[1​0​0​]T, or mi​=ni​×[0​1​0​]T if ni​ is almost colinear with [1​0​0​]T, and then construct li​=ni​×mi​. To obtain VT(−g), one only needs to left-multiply each ViT​=​niT​miT​liT​​​ to −gi​. As for VTHV, first left-multiply each ViT​ to every block on the i-th block row of H to obtain VTH. Then for the i-th block column of VTH, left-multiply Vi​=[ni​​mi​​li​​] to every block. Finally, after solving for y by applying the DOF elimination method on the modified system (Equation (6.2.3) ), Δx can be obtained by Δx=Vy with similar block(node)-wise operations. Example 6.3.1 (General Slip DBC). For the same two-node system in 2D as mentioned in the slip DBC example ( Example 5.1.2 ), to constrain the first node (x11​,x12​) inside the 3x+4y=2 line, the slip DBC can be expressed as [3​4​0​0​]​x11​x12​x21​x22​​​=2 and we can build U=1, S=[1​0​0​0​], VT=​0.6−0.8​0.80.6​1​1​​ for changing the basis. Then in a time step where this slip DBC is already satisfied, assume we have H=​4−1−1−1​−14−1−1​−1−14−1​−1−1−14​​,andg=​1234​​, we can compute VTHV=​4.960.280.20.2​0.283.04−1.4−1.4​0.2−1.44−1​0.2−1.4−14​​,andVTg=​−1234​​, and solve the system ​1000​03.04−1.4−1.4​0−1.44−1​0−1.4−14​​​y11​y12​y21​y22​​​=​0−2−3−4​​ for y. Then the search direction can be obtained by Δx=Vy so that 3Δx11​+4Δx12​=0 and so the first node will stay on the 3x+4y=2 line for arbitrary step size.","breadcrumbs":"Slip Dirichlet Boundary Conditions » General Slip DBC » General Slip DBC","id":"42","title":"General Slip DBC"},"43":{"body":"This section has demonstrated that, with a change in the basis of variables, general slip Dirichlet boundary conditions (DBC) can be effectively managed using the Degree of Freedom (DOF) elimination method, much like axis-aligned slip DBCs. While singular value decomposition (SVD) can be used to find the basis for general linear equality constraints, this approach may not be feasible for large or complex constraints. Nonetheless, it's possible to develop procedural routines for computing the basis, specifically tailored to node-wise slip DBC constraints. Currently, our focus has been on maintaining DBCs that are already satisfied within the simulation framework. Moving forward, the discussion will shift towards exploring frictional contact between points and analytic surfaces. Additionally, we will revisit scenarios where DBCs are not satisfied at the start of a time step, delving into more complex cases.","breadcrumbs":"Slip Dirichlet Boundary Conditions » Summary » Summary","id":"43","title":"Summary"},"44":{"body":"Contact modeling is a crucial aspect of ensuring that solids do not intersect with obstacles or themselves. This topic was briefly touched upon in a previous section . In this lecture, we delve deeper into the specifics of non-interpenetration within the framework of the Incremental Potential Contact (IPC) method. Our focus will be on a simplified yet significant scenario: contact between solids and obstacles that have closed boundaries. This specific focus allows us to thoroughly explore the mechanics and principles of the IPC method in a controlled setting.","breadcrumbs":"Distance Barrier for Nonpenetration » Distance Barrier for Nonpenetration","id":"44","title":"Distance Barrier for Nonpenetration"},"45":{"body":"The Incremental Potential Contact (IPC) method is designed to ensure non-interpenetration in solids of any codimension by maintaining the unsigned distances between solid boundaries above zero throughout their movement. This approach is robust as it applies universally, irrespective of the solid's specific characteristics. However, when signed distances are accessible, the application of IPC becomes not only straightforward but also more streamlined. Signed distances extend the concept of unsigned distances to encompass solid geometries with closed boundaries. With IPC enforcing non-interpenetration, the possibility of negative distances inside a solid is eliminated. Therefore, in scenarios where signed distances remain non-negative (including the state of being exactly zero), it's an indication of successful non-interpenetration. Definition 7.1.1 (Codimension). If \\(W\\) is a linear subspace of a finite-dimensional vector space \\(V\\), then the codimension of \\(W\\) in \\(V\\) is the difference between their dimensions: codim(W)=dim(V)−dim(W). For example, in 3D, a surface has codimension \\(1\\), and a line has codimension \\(2\\). In computer graphics, when simulating cloth and hair, codimension 1 and 2 geometry representations are often applied respectively for efficiency. However, their signed distances are not well-defined. This also explains why unsigned distances are more general for modeling solid contact. In a previous section , we explored various methods for representing solid geometries. One notable approach is the analytical representation. For instance, a 3D ball centered at \\( \\mathbf{c} \\) with radius \\( r \\) can be analytically described by the parameterization: {x∈R3 ∣ ∥x−c∥≤r, c∈R3, r>0}. This principle of defining solid geometries extends beyond simple spheres. Many other shapes, such as half-spaces, boxes, ellipsoids, and tori, can be similarly parameterized. The key to these parameterizations lies in defining the \"interior\" of these objects, which can often be achieved through functions like signed distances. These functions provide a versatile tool for describing a wide range of simple and complex shapes in a concise and mathematical manner. Example 7.1.1 (Ball Signed Distance Function). The signed distance function \\(d(\\mathbf{x})\\) and its derivatives of a ball centered at \\(\\mathbf{c}\\) with radius \\(r\\) can be defined as ​d(x)=∥x−c∥−r,∇d(x)=∥x−c∥x−c​,and∇2d(x)=∥x−c∥3∥x−c∥2I−(x−c)(x−c)T​.​ Example 7.1.2 (Half-Space Signed Distance Function). The signed distance function \\(d(\\mathbf{x})\\) and its derivatives of a half-space with normal \\(\\mathbf{n}\\) and \\(d(\\mathbf{o}) = 0\\) can be defined as d(x)=nT(x−o),∇d(x)=n,and∇2d(x)=0.(7.1.1) Representing more intricate geometries, like those commonly encountered in real-life scenarios, can be a challenging task due to their complexity. An effective alternative to intricate parameterizations is the use of a uniform Euclidean grid. This grid serves as a storage mechanism for the signed distances of a solid object, with these distances precomputed at each grid node. When the distance at any arbitrary point within the solid is required, interpolation can be applied to the grid data. Example 7.1.3 (Grid Signed Distance Field). For a signed distance field stored on a uniform Euclidean grid with spacing \\(\\Delta x\\), to query the distance at an arbitrary location \\(\\mathbf{x} = (x,y)\\) where \\(x = x_i + \\alpha \\Delta x\\) and \\(y = y_i + \\beta \\Delta x\\) (\\(\\mathbf{x}_{i,j} = (x_i, y_j)\\) are the location of grid nodes, \\(0 \\leq \\alpha,\\beta \\leq 1\\)), with bilinear interpolation ( Figure 7.1.1 right), d(x)=(1−β)((1−α)d(xi,i​)+αd(xi+1,i​))+β((1−α)d(xi,i+1​)+αd(xi+1,i+1​)). From Figure 7.1.1 we also see that to approximate a solid boundary smoothly in this setting, a higher-order interpolation scheme such as quadratic b-spline interpolation is needed. Figure 7.1.1. The signed distance between the grid nodes and the sphere boundary is precomputed and stored (left). With bilinear interpolation, part of the sphere boundary is approximated as the blue polyline (right).","breadcrumbs":"Distance Barrier for Nonpenetration » Signed Distances » Signed Distances","id":"45","title":"Signed Distances"},"46":{"body":"","breadcrumbs":"Distance Barrier for Nonpenetration » Distance Barrier » Distance Barrier","id":"46","title":"Distance Barrier"},"47":{"body":"In scenarios like a solid interacting with a planar ground, where the signed distance function \\( d(\\mathbf{x}) \\) is smooth outside the obstacle, we can approach the modeling of contact by incorporating non-interpenetration constraints. These constraints are formulated using \\( d(\\mathbf{x}) \\), while we also aim to minimize the Incremental Potential of the system. Assuming that the solids are densely sampled with nodes \\(\\mathbf{x}\\), we apply these constraints at the level of nodal Degrees of Freedom (DOFs) in relation to the obstacles: xmin​E(x)s.t.dij​≥0 ∀ node i and obstacle j.(7.2.1) In this equation, \\( d_{ij} \\) represents the signed distance between node \\( i \\) and obstacle \\( j \\). By ensuring that \\( d_{ij} \\) is non-negative, we effectively prevent the solids from intersecting with the obstacles [1] .","breadcrumbs":"Distance Barrier for Nonpenetration » Distance Barrier » Constrained Optimization","id":"47","title":"Constrained Optimization"},"48":{"body":"To address the inequality constraints in our contact modeling, we introduce a barrier potential \\( P_b(\\mathbf{x}) \\). This potential transforms the constrained problem, as described in Equation (7.2.1) , into an \"unconstrained\" optimization problem: xmin​E(x)+h2Pb​(x).(7.2.2) The barrier potential is defined as follows: Pb​(x)=i,j∑​Ai​d^b(dij​(x))andb(dij​(x))={2κ​(d^dij​​−1)lnd^dij​​0​dij​ 0 \\Longleftrightarrow 0 < d_{ij} < \\hat{d} \\), representing the activation of contact forces based on the distance between solids and obstacles. As the threshold \\( \\hat{d} \\) decreases, contact forces become active only when the solids are in closer proximity (as illustrated in Figure 7.2.1 ). This adjustment leads to a reduction in the complementarity slackness error, which can be controlled to a certain extent. However, it's important to note that this control comes at a cost: computational efficiency may be reduced. This is because sharper objective functions, resulting from smaller \\( \\hat{d} \\) values, tend to require more Newton iterations to resolve. Therefore, there is a trade-off between the accuracy of the simulation (in terms of adhering to the KKT condition) and the computational resources required.","breadcrumbs":"Distance Barrier for Nonpenetration » Solution Accuracy » Solution Accuracy","id":"49","title":"Solution Accuracy"},"5":{"body":"In everyday life, solid objects are perceived as continuous. Yet, in the digital world of computers, where we use discrete numbers for representation, a range of interesting methods arises. One method is parametrization . Consider a 3D sphere, which can be described as {x∈R3 ∣ ∥x−c∥≤r, c∈R3, r>0}, centered at point \\( \\mathbf{c} \\) with radius \\( r \\). This approach extends beyond spheres to include shapes like half-spaces, boxes, ellipsoids, tori, and others, characterized by their interior using functions such as signed distances. However, parametrization faces challenges when handling complex geometries that are frequently encountered in real-world scenarios. An emerging exception to this limitation is the use of advanced neural representations employing neural networks. These newer methods show promise in effectively representing more intricate geometrical forms. An alternative is representing with sampling . This involves choosing points on and inside the object. But points alone aren't enough; we typically need to establish connectivity between them to define the object’s boundaries for applications like rendering and 3D printing. Monitoring how a cluster of points shifts over time also helps in measuring deformation. In continuum mechanics, an object is seen as having a continuous density field. Digitally, this continuity must be represented discretely, usually through defining the connectivity of the solid's geometry. Remark 1.1.1 (Other Solid Representations). There are other methods for representing solid geometries, such as voxel-based approaches. These methods divide the space into a 3D grid of small boxes, or voxels, with each voxel representing a segment of the object, similar to pixels in a 2D image. Voxel-based methods are advantageous for several reasons. Firstly, they can act as a discrete level set representation, capable of modeling complex geometries and tracking their evolution over time. Each voxel contains information about its position relative to the object's surface, offering an efficient discrete approximation of the continuous level set function. This is beneficial for algorithms involved in surface evolution, shape optimization, and collision detection. Secondly, voxel-based approaches are conducive to Constructive Solid Geometry (CSG) operations. This technique in solid modeling uses Boolean operators to combine simpler shapes into complex 3D models. The voxelized framework allows for straightforward and efficient execution of operations like union, intersection, and difference on the voxel grid. This enables the easy creation and modification of intricate shapes. Example 1.1.1 (Mesh). The method of creating a mesh by directly connecting points with edges or triangles is a popular technique in computational geometry. This concept is illustrated in the accompanying figure, where the left and middle images show two different meshes. Notably, even though these meshes utilize the same sampled points or nodes, they have distinct connectivities, resulting in different shapes. The rightmost mesh in the figure demonstrates a transformation from one shape to another. This mesh represents a deformation of the middle mesh, achieved by vertically compressing its upper half. Figure 1.1.1. Mesh Example 1.1.2 (Particle and Grid). By implementing a uniform grid structure in our spatial representation, we record the extent of solid matter at each node location. This allows us to use our sampled points to calculate the density of the solid at each grid node. This method is beneficial for quantifying the solid's distribution within the grid and for establishing a network of connectivity among the original sampled points. Refer to the accompanying figure for a visual demonstration of this concept. In the figure, the sampled points are depicted as green dots. The grid nodes, where we record solid densities, are shown as black circles. These nodes are connected through the grid, illustrated with blue lines. Figure 1.1.2. Particle and grid In the field of modern solid simulation, the described methods of defining connectivity are crucial. The first method, establishing connections through a mesh of edges or triangles, is foundational to Finite Element Method (FEM) simulators. The second approach, which involves using a uniform grid to compute solid density and establish connectivity, is integral to Material Point Method (MPM) simulators [Jiang et al. 2016] . This book largely concentrates on the former method, delving into the intricacies of FEM. The mesh-based structure of FEM is particularly effective in handling complex domains by breaking them down into simpler elements. This makes FEM an essential tool in the study and simulation of deformable solids, and understanding its nuances is vital for those engaged in this area of study. At first glance, the use of two representations of solid geometry in the MPM might appear redundant. Yet, this dual approach gives MPM a significant edge, especially in simulating dynamic events like solid fractures. In such cases, FEM would necessitate meticulous modification of the edges and elements that define the original connectivity to accurately depict the damage. In contrast, MPM efficiently handles these scenarios. The uniform grid naturally accommodates the separation of body parts in a fracture, as the lack of material at fracture nodes leads to an automatic disconnection of adjacent grid nodes. This attribute allows MPM to excel in managing changes in solid topology. However, when it comes to simulation accuracy control, the Finite Element Method (FEM) excels. FEM operates directly on the mesh, obviating the need for constant information transfer, thus ensuring greater precision. This level of accuracy makes FEM an invaluable resource in the precise simulation of deformable solids, which is the primary emphasis of this book. The technique of consolidating coordinates of each sampled point into an extended vector, denoted as \\( x\\in\\mathbb{R}^{dn} \\) (refer to the figure below), provides an effective means to describe a specific geometric configuration, given a constant connectivity. In this representation, \\(d\\) indicates the dimension of space (1, 2, or 3), and \\(n\\) represents the total number of points. Similarly, attributes like velocity, acceleration, and forces at each sample point can be amalgamated into corresponding extended vectors, symbolized as \\(v\\), \\(a\\), and \\(f\\) respectively. This organized approach to data presentation not only aids in comprehensively understanding the various parameters and their interrelations but also streamlines the mathematical formulation of the simulation process. Figure 1.1.3. Stacked position vector","breadcrumbs":"Discrete Space and Time » Representations of a Solid Geometry » Representations of a Solid Geometry","id":"5","title":"Representations of a Solid Geometry"},"50":{"body":"In simulating contact between solids and obstacles, we primarily focus on enforcing non-negativity on the signed distances between solid degrees of freedom (DOFs) and obstacles, in conjunction with minimizing the Incremental Potential. Transformation to an Unconstrained Problem: The inherent inequality-constrained minimization issue for each time step is transformed into an unconstrained problem. This is achieved through the introduction of a barrier potential. This potential rises to infinity as distances approach zero, effectively generating large repulsion forces that prevent interpenetration. Outcomes at Local Minimum: At the local minimum of this barrier-augmented Incremental Potential, we attain a balance of momentum, ensure non-interpenetration, and generate contact forces that only push but do not pull. The only exception in the Karush-Kuhn-Tucker (KKT) conditions is the complementarity slackness, which is not strictly satisfied. The accuracy in satisfying this condition can be controlled by adjusting the distance threshold d^, albeit at the expense of computational efficiency. Limitations and Next Steps: While the distance barrier method effectively addresses many contact scenarios, it cannot alone prevent artificial tunneling in dynamic simulations. To overcome this limitation, our next lecture will introduce the filtered line search scheme, an advanced technique designed to provide more guarantees to our simulations. Remark 7.4.1 (Tunneling). Artificial tunneling in the context of simulations, particularly in computational physics and computer graphics, refers to a phenomenon where fast-moving objects pass through other objects or barriers without physically interacting with them, as if there were a tunnel through the barrier. This typically happens in scenarios involving discrete time steps, such as in computer simulations of physical systems. In a real-world scenario, when two objects collide, there should be a physical interaction like a bounce, a stop, or a deformation. However, in a simulation with discrete time steps, if an object is moving very fast or the time steps are too large, the object's position might be calculated as being on one side of a barrier in one step and then on the other side in the next, without ever detecting a collision. This \"skipping\" of the collision step leads to what appears as tunneling through the object.","breadcrumbs":"Distance Barrier for Nonpenetration » Summary » Summary","id":"50","title":"Summary"},"51":{"body":"The Incremental Potential Contact (IPC) method effectively maintains non-interpenetration constraints within solid simulations. This method models a constitutive relationship that directly correlates contact forces with their respective distances, thus converting the constrained problem into an unconstrained one. By using appropriately small time steps, the IPC allows for robust and accurate solid simulations free from obstacle interpenetration within an optimization-based time integration framework. However, challenges arise when using larger time steps, which can introduce multiple local minima in the Incremental Potential. This condition can lead to tunneling issues, where solids might unexpectedly pass through obstacles due to overly large search directions. To mitigate this risk, we introduce a filter line search strategy supplemented by continuous collision detection (CCD). This approach is designed to prevent tunneling by continuously adjusting the trajectory of solids in response to potential collisions. To illustrate these concepts, we will examine a case study where an elastic square falls onto the ground. This example will demonstrate the effectiveness of the IPC method along with the filter line search and CCD in managing the dynamics of solid bodies and ensuring accurate, interpenetration-free simulations.","breadcrumbs":"Filter Line Search* » Filter Line Search*","id":"51","title":"Filter Line Search*"},"52":{"body":"Example 8.1.1 (Tunneling). Let's consider a simple illustrative example. Without external forces like gravity, for a particle (no elasticity) at \\(\\mathbf{x}_0 = (0, 0)\\) with mass \\(m\\) and initial velocity \\(\\mathbf{v}_0 = (1, 0)\\) hitting a fixed square obstacle centered at \\((0.005, 0) \\), the Incremental Potential minimization problem for the first time step is xmin​(2m​∥x−(x0​+hv0​)∥2+h2Pb​(x)).(8.1.1) Since \\(\\hat{d}\\) is usually set small enough such as \\(10^{-4}m\\) in this case, the barrier potential \\(P_b(\\mathbf{x})\\) is not yet active at \\(\\mathbf{x}_0\\) as the particle is not touching the obstacle. This makes the problem in Equation (8.1.1) quadratic, and our projected Newton (PN) method ( Algorithm 3.3.1 ) will produce a search direction p=hv0​ at the first iteration, which directly leads to the global minimum of the Incremental Potential at \\(\\mathbf{x}_0 + h\\mathbf{v}_0\\) after line search. Taking \\(h=0.01s\\) ( Figure 8.1.1 ), the particle will tunnel through the obstacle. However, scenarios where particles pass through obstacles due to large time steps are clearly unrealistic, as the expected physical behavior is for the particle to collide with the obstacle and either stop or bounce back. Figure 8.1.1. An illustration of the tunneling issue. With the projected Newton method introduced earlier, tunneling artifact could happen as shown in the middle. The physically plausible result shown on the right could be obtained with the filter line search scheme. The blue arrows show the optimization path. From Example 8.1.1 , we understand that simply ensuring the signed distances to be non-negative at the final solution is inadequate, especially in scenarios involving large time step sizes, high-speed impacts, or thin obstacles. These conditions can lead to inaccuracies and unrealistic outcomes in simulations. The Incremental Potential Contact (IPC) method addresses this issue by ensuring that distances remain non-zero across the entire motion trajectory of solids. This approach is crucial for maintaining the physical accuracy and realism of the simulation. But what exactly do we mean by \"motion trajectory\" in the context of discrete time integration? We will explain this next.","breadcrumbs":"Filter Line Search* » Tunneling Issue » The Tunneling Issue","id":"52","title":"The Tunneling Issue"},"53":{"body":"The most straightforward way of defining the motion trajectory between \\(x^n\\) and \\(x^{n+1}\\) at time \\(t^n\\) and \\(t^{n+1}\\) respectively would be the high-dimensional line segment connecting these two configurations. However, although enforcing non-negative signed distances on this trajectory could avoid the tunneling issue in Example 8.1.1 , this strategy could potentially result in unrealistic behaviors as it alters the local optimum of the minimization problem (Equation (7.2.1) ) in a nonphysical way ( Figure 8.2.1 ). Figure 8.2.1. For the setup in the tunneling example, enforcing non-negative signed distance along the motion trajectory approximated by the line segment between xn and xn+1 results in a nonphysical simulation result. A more rigorous definition of the motion trajectory between \\(x^n\\) and \\(x^{n+1}\\) could be {argxmin​(21​∥x−(xn+hvn)∥M2​+h2∑P(x)) ∣ h∈[0,tn+1−tn]}. However, evaluating the configurations on this trajectory requires solving extra optimization problems, which could significantly complicate the time integration. Instead, IPC takes the optimization path as an approximation to the motion trajectory. Specifically, for the time step solving from \\(x^n\\) to \\(x^{n+1}\\), if the optimization took \\(l\\) iterations, and each iteration we get iterate \\(x^i\\) after line search, the optimization path is simply the high-dimensional polyline {(1−β)xi+βxi+1 ∣ β∈[0,1], i=0,1,2,...,l}. Now the time integration problem in time step \\(n\\) becomes finding such optimization path \\(x_0, x_1, ..., x_l\\) where \\(x^l\\) locally minimizes the Incremental Potential (Equation (7.2.2) ) subject to djk​((1−β)xi+βxi+1)>0∀ node j, obstacle k, β∈[0,1],and i=0,1,2,...,l. This enables enforcing the non-negative distance constraints per optimization iteration on the line segment between \\(x^i\\) and \\(x^{i+1}\\), which will not alter the local optimum of the time integration problem, and can be handled efficiently. Recall from Algorithm 3.2.1 that the line search scheme updates the iterate as \\(x^{i+1} \\leftarrow x^i + \\alpha p\\), which means \\(x^{i+1} - x^{i} = \\alpha p\\). Therefore, given an interpenetration-free \\(x^i\\), to ensure all the configurations on the line segment between \\(x^i\\) and \\(x^{i+1}\\) are interpenetration-free, we just need to find such \\(\\alpha\\) that makes sure djk​(xi+βp)≥0∀ node j, obstacle k, and β∈[0,α]. Based on the intuition that a sufficiently small \\(\\alpha\\) could definitely make this happen, we can simply calculate an upper bound of such \\(\\alpha\\) in every iteration, and make sure the backtracking line search results in a step size smaller than this upper bound. This upper bound can be conveniently calculated with continuous collision detection (CCD). Definition 8.2.1 (Continuous Collision Detection (CCD)). For a distance function \\(d_{jk}(x + \\alpha p)\\) defined with the initial interpenetration-free configuration of the solids and obstacles \\(x\\), their intended displacement \\(p\\), and the step size \\(\\alpha\\), CCD calculates the step size \\(\\alpha^C_{jk}\\) given \\(x\\) and \\(p\\) such that djk​(x+αp)>0∀ α∈[0,αjkC​).(8.2.1) Note that the problem definition implicitly requires \\(d_{jk}(x) > 0\\). Under this setting, if we denote \\(d^a_{jk}(\\alpha) = d_{jk}(x + \\alpha p)\\), \\(\\alpha^C_{jk}\\) is simply the smallest positive real root of \\(d^a_{jk}(\\alpha)\\) (see Figure 8.2.2 for an example), or \\(\\alpha^C_{jk} = \\infty\\) if \\(d^a_{jk}(\\alpha)\\) does not have any positive real roots. There are many methods to obtain the exact or a conservative estimate of \\(\\alpha^C_{jk}\\), we will see a specific example in the case study of this lecture. After computing \\(\\alpha^C_{jk}\\) for all nodes \\(j\\) and obstacle \\(k\\), a step size upper bound \\(\\alpha^C\\) for the line search could then be obtained as αC=min(1,j,kmin​αjkC​) Figure 8.2.2. An illustration of CCD with a solid particle at (0,0) hitting a fixed vertical plane at x=0.3. With the intended displacement p=(0.5,0), we obtain αC=0.6. Now, we can introduce our filter line search method ( Algorithm 8.2.1 ), specifically designed to enforce non-interpenetration constraints throughout the entire approximated motion trajectory. This strategic enforcement is key in preventing tunneling issues that commonly occur in simulations with insufficient constraint handling. This new scheme differs from the traditional backtracking line search method in a critical aspect: it initializes the step size. Instead of starting with a step size of \\(1\\), the filter line search method begins with \\(\\alpha^C\\). This modification is subtle yet significant. Algorithm 8.2.1 (Filter Backtracking Line Search). Remark 8.2.1 (Algorithm Dependency Issue). Using the optimization path to approximate the motion trajectory is still not perfect as it is algorithm dependent. Other than the projected Newton (PN) method, there could be an algorithm that walks around an obstacle and ended up with a configuration on the other side, still providing a tunneling solution ( Figure 8.2.3 ). Even with projected Newton, although in practice it always generates straightforward and physically plausible trajectories, there is no theoretical guarantee that it will never encounter tunneling issues. An intuition is that the search direction in every PN iteration always significantly decreases the Incremental Potential (IP), and so it is unlikely to walk around any contacts which often results in iterations that do not sufficiently decrease the IP. In fact, this kind of issue also happens in elastodynamics simulation without contact. Elasticity energy itself is also nonconvex, which can result in multiple local optima for the IP. The key to obtaining physical behaviors is to locally minimize IP, in other words, finding the nearby local minimum as the solution. Figure 8.2.3. For the setup in the tunneling example, even with the filter line search scheme, if an optimization method other than projected Newton is applied, it could still lead to the tunneling issue.","breadcrumbs":"Filter Line Search* » Penetration-free Trajectory » Penetration-free Trajectory","id":"53","title":"Penetration-free Trajectory"},"54":{"body":"To conclude, let's consider a case study where we simulate a square dropped onto a fixed planar ground. Building on our previous mass-spring model for an elastic square, we augment a barrier potential into its Incremental Potential and apply the filter line search scheme to manage the contact between the square's degrees of freedom (DOFs) and the ground. The excutable Python project for this section can be found at https://github.com/phys-sim-book/solid-sim-tutorial under the 3_contact folder. If we further limit the planar ground to be horizontal, e.g. at \\(y=y_0\\), its signed distance function can be made even simpler than Equation (7.1.1) : d(x)=xy​−y0​,∇d(x)=[01​],∇2d(x)=0.(8.3.1) Combining it with Equation (7.2.4) and Equation (7.2.5) , we can conveniently implement the gradient and Hessian computation for the barrier potential of this horizontal ground: Implementation 8.3.1 (Barrier energy value, gradient, and Hessian, BarrierEnergy.py). import math\nimport numpy as np dhat = 0.01\nkappa = 1e5 def val(x, y_ground, contact_area): sum = 0.0 for i in range(0, len(x)): d = x[i][1] - y_ground if d < dhat: s = d / dhat sum += contact_area[i] * dhat * kappa / 2 * (s - 1) * math.log(s) return sum def grad(x, y_ground, contact_area): g = np.array([[0.0, 0.0]] * len(x)) for i in range(0, len(x)): d = x[i][1] - y_ground if d < dhat: s = d / dhat g[i][1] = contact_area[i] * dhat * (kappa / 2 * (math.log(s) / dhat + (s - 1) / d)) return g def hess(x, y_ground, contact_area): IJV = [[0] * len(x), [0] * len(x), np.array([0.0] * len(x))] for i in range(0, len(x)): IJV[0][i] = i * 2 + 1 IJV[1][i] = i * 2 + 1 d = x[i][1] - y_ground if d < dhat: IJV[2][i] = contact_area[i] * dhat * kappa / (2 * d * d * dhat) * (d + dhat) else: IJV[2][i] = 0.0 return IJV For the filter line search, with the position in the last iteration \\(\\mathbf{x}\\) and a search direction \\(\\mathbf{p}\\) of a specific node, the signed distance function is simply \\[ d(\\mathbf{x} + \\alpha \\mathbf{p}) = \\mathbf{x}_y + \\alpha \\mathbf{p}_y - y_0, \\] where \\(\\alpha\\) is the step size, and there is only one positive real root \\(\\alpha = (y_0 - \\mathbf{x}_y) / \\mathbf{p}_y\\) when \\(\\mathbf{p}_y < 0\\) since \\(\\mathbf{x}_y > y_0\\) (no interpenetration up to current iteration). Taking the minimum of the positive real root per node then gives us the step size upper bound \\(\\alpha_C\\) defined in Equation (8.2.1) : Implementation 8.3.2 (Ground CCD, BarrierEnergy.py). def init_step_size(x, y_ground, p): alpha = 1 for i in range(0, len(x)): if p[i][1] < 0: alpha = min(alpha, 0.9 * (y_ground - x[i][1]) / p[i][1]) return alpha Here we scale the upper bound by \\(0.9\\times\\) so that exact touching configurations with \\(d=0\\) and \\(b = \\infty\\) (floating-point number overflow) can be avoided. Then once we make sure the step size upper bound is used to initialize the line search Implementation 8.3.3 (Filter line search, time_integrator.py). # filter line search alpha = BarrierEnergy.init_step_size(x, y_ground, p) # avoid interpenetration and tunneling while IP_val(x + alpha * p, e, x_tilde, m, l2, k, y_ground, contact_area, h) > E_last: alpha /= 2 and that the contact area weights for all nodes are calculated Implementation 8.3.4 (Contact area, simulator.py). contact_area = [side_len / n_seg] * len(x) # perimeter split to each node and passed to our simulator, we can simulate the square drop with mass-spring stiffness k=2e4 and time step size h=0.01 as shown in Figure 8.3.1 . Figure 8.3.1. A mass-spring elastic square is dropped onto the ground with 0 initial velocity under gravity. Here we show the frames when the square is: just dropped, first touching the ground, compressed to the maximum in this simulation, and becoming static. Remark 8.3.1 (Contact Layer Integration). Since in practice, contact forces are only exerted on the boundary of the solids, the barrier potential should be integrated only on the boundary as well. This also explains why in our case study the contact area weight per node is simply calculated as the diameter of the square evenly distributed onto each boundary node. However, as mass-spring elasticity cannot guarantee that all interior nodes will stay inside the boundary of the solid, we simply apply the barrier potential to all nodal DOFs of the square.","breadcrumbs":"Filter Line Search* » Case Study: Square Drop* » Case Study: Square Drop","id":"54","title":"Case Study: Square Drop"},"55":{"body":"To mitigate tunneling issues in solid simulation with large time steps, it is crucial to enforce non-negativity constraints of signed distances between solids and obstacles throughout the entire motion trajectory, not just at the final solution. While directly using the optimization path to approximate the motion trajectory isn't perfect theoretically, it supports the design of a filter line search scheme. This scheme utilizes continuous collision detection (CCD) and the projected Newton method, effectively preventing tunneling in practical scenarios. The projected Newton method, a gradient-based approach for minimizing the Incremental Potential, requires that the potential energy has a continuous gradient. Consequently, the distance functions employed in our barrier potential need to be at least C1 continuous. For grid-based signed distance fields ( Example 7.1.3 ), mere bilinear interpolation is considered insufficient. Additionally, handling self-contact on the piece-wise linear boundary of a mesh necessitates further approximations to smooth the distance function. Detailed exploration of self-contact will be addressed in future sections add ref. Before that, we will first transition to discussing solids-obstacle friction in our next lecture.","breadcrumbs":"Filter Line Search* » Summary » Summary","id":"55","title":"Summary"},"56":{"body":"In the macroscopic view, contact forces comprise not only the normal forces that prevent interpenetrations but also tangential friction forces that dampen shearing motions at the interfaces. Most surfaces, when observed microscopically, are not perfectly smooth but are formed of jagged edges. Friction essentially arises from forces preventing non-interpenetration between these jagged edges. In this lecture, we introduce the Coulomb friction model, incorporating approximations that make it compatible with optimization time integrators.","breadcrumbs":"Frictional Contact » Frictional Contact","id":"56","title":"Frictional Contact"},"57":{"body":"To model frictional contact, local frictional forces Fk​ can be added for every active contact point pair k. For each such pair k, at the current state {x,v}, a consistently oriented sliding basis Tk​(x)∈Rdm×d can be constructed, where m is the total number of simulated nodes and d is the dimension of space, such that vk​=Tk​(x)Tv∈Rd provides the local relative sliding velocity that is orthogonal to the distance gradient in the normal direction nk​(x). Example 9.1.1 (Particle Sliding on Sphere). For a particle with velocity vp​∈R3 moving on the surface of a sphere with velocity vs​∈R3 (no rotation), the relative sliding velocity vk​ here can be calculated as vk​=(vp​−vs​)−nk​⋅(vp​−vs​)nk​=(I3​−nk​nkT​)(vp​−vs​). If we stack the velocity of the particle and the sphere for this system to obtain v=[vpT​,vsT​]T∈R6, we now know that Tk​ is simply Tk​(x)=[I3​−nk​(x)nk​(x)Tnk​(x)nk​(x)T−I3​​]∈R6×3. For more general cases like mesh-mesh contact, the form of Tk​ only varies in how the relative velocity at the contact point pair k is related to the velocity at the simulated nodes. Maximizing dissipation rate subject to the Coulomb constraint defines friction forces variationally Fk​(x)=Tk​(x) argβ∈Rdmin​βTvk​s.t.∥β∥≤μλk​ and β⋅nk​=0,(9.1.1) where λk​=−wk​∂dk​∂b​ is the contact force magnitude and μ is the local friction coefficient. This is equivalent to Fk​(x)=−μλk​Tk​(x)f(∥vk​∥)s(vk​),(9.1.2) with s(vk​)=∥vk​∥vk​​ when ∥vk​∥>0, while s(vk​) takes any unit vector orthogonal to nk​ when ∥vk​∥=0. In addition, the friction scaling function, f, is also nonsmooth with respect to vk​ since f(∥vk​∥)=1 when ∥vk​∥>0, and f(∥vk​∥)∈[0,1] when ∥vk​∥=0. These non-smoothness would severely slow down and even break convergence of gradient-based optimization. Figure 9.1.1. An illustration of Tk​, vk​, nk​, and Fk​ when a point slides on a sphere. Remark 9.1.1 (Contact Force Magnitude). λk​=−wk​∂dk​∂b​ is the contact force magnitude because at node k, the contact force is −wk​∇xk​​b(dk​(x))=−wk​∂dk​∂b​∇xk​​dk​(x). Therefore, λk​=∥−wk​∂dk​∂b​∇xk​​dk​(x)∥=−wk​∂dk​∂b​ since ∂dk​∂b​<0 and ∥∇xk​​dk​(x)∥=1. To enable efficient and stable optimization, the friction-velocity relation in the transition to static friction can be mollified by replacing f with a smoothly approximated function. Following IPC, we use f1​(y)={−ϵv2​y2​+ϵv​2y​,1,​y∈[0,ϵv​)y≥ϵv​,​​(9.1.3)​ where f1′​(ϵv​)=0 and a velocity magnitude bound ϵv​ (in units of m/s) below which sliding velocities vk​ are treated as static is defined for bounded approximation error ( Figure 9.1.2 ). Figure 9.1.2. A 1D illustration of the smoothed relation between friction force and sliding velocity. Decreasing ϵv​ asymptotically matches the discontinuous Coulomb friction model.","breadcrumbs":"Frictional Contact » Smooth Dynamic-Static Transition » Smooth Dynamic-Static Transition","id":"57","title":"Smooth Dynamic-Static Transition"},"58":{"body":"However, challenges still remain on incorporating friction into the optimization time integration. A major problem is that friction is not a conservative force and there is no well-defined potential such that taking the opposite of its gradient produces the frictional force. In other words, implicit friction force is not integrable. Without a potential energy, backtracking line search could not be performed, and thus guarantees on the stability and convergence of the optimization will be broken. In fact, whether a force has well-defined potential energy really depends on the temporal discretization. For example, with explicit time integration, any force f is constant within a time step and it has a potential energy −fTx. Taking this inspiration, we could make friction force integrable with a smarter temporal discretization. Making friction force constant within a time step would certainly restrict the size of the time step to obtain high quality results. Therefore, we discretize part of the friction force explicitly and formulate an integrable semi-implicit friction force. Following IPC, we fix the normal force magnitude λ (the ones only used in calculating friction) and the tangent operator T during the nonlinear optimization to the value in the last time step n: λn=λ(xn), and Tn=T(xn), which then makes the friction force integrable with a potential energy Pf​(x)=k∑​μλkn​f0​(∥vˉk​h^∥),(9.2.1) where vˉk​=(Tkn​)Tv, h^I=(∂v/∂x)−1, and f0​(y)={−3ϵv2​h^2y3​+ϵv​h^y2​+3ϵv​h^​,y,​y∈[0,ϵv​h^)y≥ϵv​h^,​(9.2.2) so that f0′​(y)=f1​(y/h^). Here h^ is a constant multiple of the time step size h for most linear (multi-)step time integration methods including implicit Euler and higher-order backward difference formulas, etc. Then, taking the gradient of Equation (9.2.1) w.r.t. x we obtain −∇Pf​(x)=−k∑​μλkn​Tkn​f1​(∥vˉk​∥)s(vˉk​),(9.2.3) which is a semi-implicit discretization of our mollified friction force with explicit terms λkn​ and Tkn​. The Hessian of Pf​ can be calculated as =​∇2Pf​(x)k∑​μλkn​Tkn​(∥vˉk​∥3f1′​(∥vˉk​∥)∥vˉk​∥−f1​(∥vˉk​∥)​vˉk​vˉkT​+∥vˉk​∥f1​(∥vˉk​∥)​I3​)Tkn​T∂x∂v​.​(9.2.4) Remark 9.2.1. In the friction gradient and Hessian expression (Equation (9.2.3) and Equation (9.2.4) ), there are ∥vk​∥ in the denominators, which could be 0 when there is no relative sliding motion at a contact point. To avoid division by 0 during the computation, for friction gradient, we can derive ∥vˉk​∥f1​(∥vˉk​∥)​={−ϵv2​∥vˉk​∥​+ϵv​2​,1/∥vˉk​∥,​∥vˉk​∥∈[0,ϵv​)∥vˉk​∥≥ϵv​,​(9.2.5) which is well-defined everywhere, and so we obtain −∇Pf,k​(x)=−μλkn​Tkn​∥vˉk​∥f1​(∥vˉk​∥)​vˉk​=0when∥vˉk​∥=0. For friction Hessian, we can derive ∥vˉk​∥2f1′​(∥vˉk​∥)∥vˉk​∥−f1​(∥vˉk​∥)​={−1/ϵv2​,−1/∥vˉk​∥2,​∥vˉk​∥∈[0,ϵv​)∥vˉk​∥≥ϵv​,​(9.2.6) which is also well-defined everywhere, and since vˉk​vˉkT​/∥vˉk​∥=0 when ∥vˉk​∥=0, we know that ∇2Pf,k​(x)=μλkn​Tkn​(∥vˉk​∥f1​(∥vˉk​∥)​I3​)Tkn​T∂x∂v​when∥vˉk​∥=0. Remark 9.2.2. The friction formulation in this lecture is introduced slightly differently from the original IPC [Li et al. 2020] in 2 places: We directly use the relative sliding velocity vk​ rather than the relative sliding displacement uk​=h^vk​ in IPC as the input to the mollifier f1​(), and so our f1​() differs from that in the IPC on h^ in the denominators. When time integration rules other than implicit Euler is applied (so xn+1−xn=h^vn+1), calling uk​ the relative sliding displacement is inappropriate and may cause confusions. We did not introduce a tangent basis to express relative sliding velocity in the tangent space, because this is not necessary in computing the friction energy, gradient, and Hessian.","breadcrumbs":"Frictional Contact » Semi-Implicit Discretization » Semi-Implicit Discretization","id":"58","title":"Semi-Implicit Discretization"},"59":{"body":"To obtain the solution with fully implicit friction, we can iteratively alternate between the nonlinear optimization with fixed λ, and T given as ​xmin​:E(x,{λ,T})=21​∥x−x~n∥M2​+Δt2(Pe​(x)+Pb​(x)+Pf​(x,{λ,T}))s.t.Ax=b,​(9.3.1)​ and friction update until convergence ( Algorithm 9.3.1 ). Algorithm 9.3.1 (Fixed-Point Iteration for Fully-Implicit Friction). If we denote \\begin{equation} \\begin{aligned} & f_m({ \\lambda, T }) = \\text{arg}\\min_x E(x, { \\lambda, T}) \\ & f_u(x) = \\text{FrictionUpdate}(x), \\end{aligned} \\end{equation} then Algorithm 9.3.1 is essentially a fixed-point iteration that finds the fixed-point of function \\begin{equation} (f_m \\cdot f_u) (x) \\equiv f_m( f_u (x)). \\end{equation} Definition 9.3.1. x is a fixed point of function f() if and only if \\begin{equation} x = f(x). \\end{equation} The fixed-point iterations find the fixed-point of a function f() starting from x0 by iteratively updating the estimate \\begin{equation} x^{i+1} \\leftarrow f(x^i) \\end{equation} until convergence. Since the convergence of fixed-point iterations could only be achieved given an initial guess sufficiently close to the final solution, the convergence of Algorithm 9.3.1 analogously requires small time step sizes. However, note that each minimization with fixed {λ,T} ( Algorithm 9.3.1 line 4) is still guaranteed to converge with arbitrarily large time step sizes. Remark 9.3.1. In practice, semi-implicit friction with frame-rate time step sizes can already produce results with high visual quality. For higher accuracy, running 2 to 3 fixed-point iterations for friction is generally sufficient.","breadcrumbs":"Frictional Contact » Fixed-Point Iteration » Fixed-Point Iteration","id":"59","title":"Fixed-Point Iteration"},"6":{"body":"Having defined a method for representing a solid geometry at a single instance in time, we now face the challenge of predicting the solid's motion and deformation over time. This prediction is a key component for accurate simulation. Newton's second law, expressed as \\(\\mathbf{f} = m \\mathbf{a}\\), indicates that forces \\(\\mathbf{f}\\) are the primary reasons for changes in velocity, as indicated by acceleration \\(\\mathbf{a}\\). It's important to understand that when a solid's displacement fields extend beyond simple translational or rotational movements, or a linear combination thereof, it indicates deformation. By applying Newton's second law to each sample point, we can effectively predict the movement and deformation of solids. This concept is concisely represented in vector form: dtdx​Mdtdv​​=v,=f.​(1.2.1) In this representation, \\(M\\in\\mathbb{R}^{dn\\times dn}\\) is the mass matrix, and \\(x\\), \\(v\\), and \\(f\\) are the column vectors stacking position, velocity, and force, respectively. This approach lays the groundwork for our simulations of deformable solids, integrating principles of motion in both discrete space and continuous time. Remark 1.2.1 (Stacked Variables). Though the mass matrix \\(M\\) isn't necessarily a diagonal matrix in theory, it's often simplified to one in practical applications. This results in a lumped mass matrix, representing a system of discrete point masses and offering an efficient way to handle complex systems. Consider a two-point system in two dimensions to illustrate this. The lumped mass matrix for such a system is represented as: \\[ M = \\begin{pmatrix} m_1 & & & \\\\ & m_1 & & \\\\ & & m_2 & \\\\ & & & m_2 \\end{pmatrix}, \\] Here, we assume vectors like \\({v}\\) (as well as \\({x}\\) and \\({f}\\)) are stacked in a specific order: \\[ v = (v_{11}, v_{12}, v_{21}, v_{22})^T, \\] where \\(v_{i\\alpha}\\) denotes the \\(\\alpha\\)th component of the velocity \\(\\mathbf{v}_i\\) for the \\(i\\)th point. Such an organized structure simplifies calculations significantly and enhances the understanding of the system's dynamics.","breadcrumbs":"Discrete Space and Time » Newton's Second Law » Newton's Second Law","id":"6","title":"Newton's Second Law"},"60":{"body":"We introduced the Coulomb friction model, which non-smoothly penalizes shearing motion at contact points through static and dynamic friction forces in the tangent space. To integrate friction into the optimization time integrator, we first smoothly approximate the dynamic-static transition. This allows friction forces to be uniquely determined using only the nodal velocity degrees of freedom. We then apply a semi-implicit discretization that fixes the normal force magnitude λ and the tangent operator T at the previous time step, enhancing the integrability of friction. To achieve a solution with fully-implicit friction, fixed-point iterations are performed. These iterations alternate between semi-implicit time integration and updates for λ and T. In the next lecture, we will explore a case study involving a square on a slope with varying friction coefficients.","breadcrumbs":"Frictional Contact » Summary » Summary","id":"60","title":"Summary"},"61":{"body":"In this section, based on our learnings from Frictional Contact , we implement frictional contact for a slope within the optimization time integration framework. We start by extending the contact model used for horizontal grounds in the Square Drop case study to accommodate slopes with arbitrary orientations and locations. Following this extension, we implement friction for the slope, tested by simulating an elastic square dropped onto it. Depending on the friction coefficient μ, the square either stops at various points on the slope or continues to slide. The excutable Python project for this section can be found at https://github.com/phys-sim-book/solid-sim-tutorial under the 4_friction folder.","breadcrumbs":"Case Study: Square On Slope* » Case Study: Square On Slope*","id":"61","title":"Case Study: Square On Slope*"},"62":{"body":"The implementation in the Square Drop case study for horizontal grounds results in a simplified distance and distance gradient (Equation (8.3.1) ) compared to that of a general half-space (Equation (7.1.1) ): d(x)=nT(x−o),∇d(x)=n,and∇2d(x)=0.(10.1.1) This is all we need for implementing the slope. Defining a normal direction and a point lying on the slope Implementation 10.1.1 (Slope setup, simulator.py). ground_n = np.array([0.1, 1.0]) # normal of the slope\nground_n /= np.linalg.norm(ground_n) # normalize ground normal vector just in case\nground_o = np.array([0.0, -1.0]) # a point on the slope and passing them to the time integrator and barrier energy, we can modify the barrier energy value, gradient, and Hessian computation for the slope as Implementation 10.1.2 (Slope contact barrier, BarrierEnergy.py). import math\nimport numpy as np dhat = 0.01\nkappa = 1e5 def val(x, n, o, contact_area): sum = 0.0 for i in range(0, len(x)): d = n.dot(x[i] - o) if d < dhat: s = d / dhat sum += contact_area[i] * dhat * kappa / 2 * (s - 1) * math.log(s) return sum def grad(x, n, o, contact_area): g = np.array([[0.0, 0.0]] * len(x)) for i in range(0, len(x)): d = n.dot(x[i] - o) if d < dhat: s = d / dhat g[i] = contact_area[i] * dhat * (kappa / 2 * (math.log(s) / dhat + (s - 1) / d)) * n return g def hess(x, n, o, contact_area): IJV = [[0] * 0, [0] * 0, np.array([0.0] * 0)] for i in range(0, len(x)): d = n.dot(x[i] - o) if d < dhat: local_hess = contact_area[i] * dhat * kappa / (2 * d * d * dhat) * (d + dhat) * np.outer(n, n) for c in range(0, 2): for r in range(0, 2): IJV[0].append(i * 2 + r) IJV[1].append(i * 2 + c) IJV[2] = np.append(IJV[2], local_hess[r, c]) return IJV Then for the continuous collision detection, we similarly modify the implementation to compute the large feasible initial step size for line search using n and o: Implementation 10.1.3 (Slope CCD, BarrierEnergy.py). def init_step_size(x, n, o, p): alpha = 1 for i in range(0, len(x)): p_n = p[i].dot(n) if p_n < 0: alpha = min(alpha, 0.9 * n.dot(x[i] - o) / -p_n) return alpha Here the search direction of each node is projected onto the normal direction n to divide the current distance when computing the smallest step size that first brings the distance to 0. Finally, drawing the slope as a line from o−3n^ to o+3n^ where n^=[ny​,−nx​] pointing to the inclined direction, Implementation 10.1.4 (Slope visualization, simulator.py). pygame.draw.aaline(screen, (0, 0, 255), screen_projection([ground_o[0] - 3.0 * ground_n[1], ground_o[1] + 3.0 * ground_n[0]]), screen_projection([ground_o[0] + 3.0 * ground_n[1], ground_o[1] - 3.0 * ground_n[0]])) # slope we can now simulate an elastic square dropped on a slope without friction ( Figure 10.1.1 ). Figure 10.1.1. An elastic square dropped onto a frictionless slope, bouncing as it slides down.","breadcrumbs":"Case Study: Square On Slope* » From Ground To Slope » From Ground to Slope","id":"62","title":"From Ground to Slope"},"63":{"body":"Now to implement friction for the slope, we start by implementing the functions that calculate f0​(∥vˉk​∥h^), f1​(∥vˉk​∥)/∥vˉk​∥, and (f1′​(∥vˉk​∥)∥vˉk​∥−f1​(∥vˉk​∥))/∥vˉk​∥2 according to Equation (9.2.2) , Equation (9.2.5) , and Equation (9.2.6) respectively. Implementation 10.2.1 (Friction helper functions, FrictionEnergy.py). import numpy as np\nimport utils epsv = 1e-3 def f0(vbarnorm, epsv, hhat): if vbarnorm >= epsv: return vbarnorm * hhat else: vbarnormhhat = vbarnorm * hhat epsvhhat = epsv * hhat return vbarnormhhat * vbarnormhhat * (-vbarnormhhat / 3.0 + epsvhhat) / (epsvhhat * epsvhhat) + epsvhhat / 3.0 def f1_div_vbarnorm(vbarnorm, epsv): if vbarnorm >= epsv: return 1.0 / vbarnorm else: return (-vbarnorm + 2.0 * epsv) / (epsv * epsv) def f_hess_term(vbarnorm, epsv): if vbarnorm >= epsv: return -1.0 / (vbarnorm * vbarnorm) else: return -1.0 / (epsv * epsv) With these terms available, we can then implement the semi-implicit friction energy value, gradient, and Hessian computations according to Equation (9.2.1) , Equation (9.2.3) , and Equation (9.2.4) respectively. Implementation 10.2.2 (Friction value, gradient, and Hessian, FrictionEnergy.py). def val(v, mu_lambda, hhat, n): sum = 0.0 T = np.identity(2) - np.outer(n, n) # tangent of slope is constant for i in range(0, len(v)): if mu_lambda[i] > 0: vbar = np.transpose(T).dot(v[i]) sum += mu_lambda[i] * f0(np.linalg.norm(vbar), epsv, hhat) return sum def grad(v, mu_lambda, hhat, n): g = np.array([[0.0, 0.0]] * len(v)) T = np.identity(2) - np.outer(n, n) # tangent of slope is constant for i in range(0, len(v)): if mu_lambda[i] > 0: vbar = np.transpose(T).dot(v[i]) g[i] = mu_lambda[i] * f1_div_vbarnorm(np.linalg.norm(vbar), epsv) * T.dot(vbar) return g def hess(v, mu_lambda, hhat, n): IJV = [[0] * 0, [0] * 0, np.array([0.0] * 0)] T = np.identity(2) - np.outer(n, n) # tangent of slope is constant for i in range(0, len(v)): if mu_lambda[i] > 0: vbar = np.transpose(T).dot(v[i]) vbarnorm = np.linalg.norm(vbar) inner_term = f1_div_vbarnorm(vbarnorm, epsv) * np.identity(2) if vbarnorm != 0: inner_term += f_hess_term(vbarnorm, epsv) / vbarnorm * np.outer(vbar, vbar) local_hess = mu_lambda[i] * T.dot(utils.make_PSD(inner_term)).dot(np.transpose(T)) / hhat for c in range(0, 2): for r in range(0, 2): IJV[0].append(i * 2 + r) IJV[1].append(i * 2 + c) IJV[2] = np.append(IJV[2], local_hess[r, c]) return IJV Note that in Numpy, matrix-matrix and matrix-vector products are realized by the dot() function. For implicit Euler, v=(x−xn)/h and so h^=h. Here mu_lambda stores μλkn​ for each node, where the normal force magnitude λkn​ is calculated using xn at the beginning of each time step. Implementation 10.2.3 (Use mu and lambda, time_integrator.py). def step_forward(x, e, v, m, l2, k, n, o, contact_area, mu, is_DBC, h, tol): x_tilde = x + v * h # implicit Euler predictive position x_n = copy.deepcopy(x) mu_lambda = BarrierEnergy.compute_mu_lambda(x, n, o, contact_area, mu) # compute mu * lambda for each node using x^n # Newton loop Implementation 10.2.4 (Compute mu and lambda, BarrierEnergy.py). def compute_mu_lambda(x, n, o, contact_area, mu): mu_lambda = np.array([0.0] * len(x)) for i in range(0, len(x)): d = n.dot(x[i] - o) if d < dhat: s = d / dhat mu_lambda[i] = mu * -contact_area[i] * dhat * (kappa / 2 * (math.log(s) / dhat + (s - 1) / d)) return mu_lambda Since the slope is static, and the normal direction is the same everywhere, T is constant and so can be discretized accurately. Finally, we set friction coefficient μ and pass it to the time integrator where we add friction energy to model semi-implicit friction on the slope. mu = 0.11 # friction coefficient of the slope Now we are ready to test the simulation with different friction coefficients. Since our slope has an inclined angle θ with tan(θ)=0.1, we test μ=0.1, 0.11, and 0.2 ( Figure 10.2.1 ). Here we see that when μ=0.1, the critical value that provides dynamic friction forces in the same magnitude with that of the gravity component on the slope, the square keeps sliding after gaining the initial momentum ( Figure 10.2.1 top). When we set μ=0.11, right above the critical value, the square slides a while and then stopped, showing that static friction is properly resolved ( Figure 10.2.1 middle). With μ=0.2, the square stops even earlier ( Figure 10.2.1 bottom). Figure 10.2.1. With friction coefficient μ=0.1 (top), 0.11 (middle), and 0.2 (bottom), we simulate an elastic square dropped onto a slope. Except the top one that the square keeps sliding, the lower two with larger μ both end up with a static equilibrium.","breadcrumbs":"Case Study: Square On Slope* » Slope Friction » Slope Friction","id":"63","title":"Slope Friction"},"64":{"body":"In this case study, we implemented semi-implicit friction between simulated objects and a slope, accommodating arbitrary orientations and positions. Within the optimization time integration framework of IPC, friction is also modeled using potential energy. The key difference is that the normal force magnitude and tangent operator are precomputed at the start of each time step for semi-implicit discretization. In the next lecture, we will introduce moving boundary conditions. This will involve obstacles or boundary nodes moving in a prescribed manner, actively injecting dynamics into the scene.","breadcrumbs":"Case Study: Square On Slope* » Summary » Summary","id":"64","title":"Summary"},"65":{"body":"Kinematic Collision Objects (CO) and Moving Dirichlet Boundary Conditions (BC) are crucial in many simulation scenarios. A CO can be considered as a collection of BC nodes. At the start of a time step, it is ideal if the BC nodes can be moved directly to their prescribed locations without causing any interpenetrations. This allows the simulation to proceed smoothly using the Degree of Freedom (DOF) elimination method , which ensures the constraints remain feasible. However, with large time steps, high velocities, or significant deformations, directly prescribing BC nodes often leads to interpenetration or \"tunneling\" artifacts, where objects pass through each other unrealistically. To address these challenges, the penalty method is applied. This method progressively adjusts the simulation towards a feasible set where both CO and BC constraints are satisfied, and interpenetrations are avoided. A case study demonstrating these principles will be shown through the simulation of a compressed square.","breadcrumbs":"Moving Boundary Conditions* » Moving Boundary Conditions*","id":"65","title":"Moving Boundary Conditions*"},"66":{"body":"At the beginning of each time step towards time n+1, we evaluate nodal position x^kn+1​ for each BC node k based on their prescribed motions. During each Newton iteration i, for the iterate xi, we define a velocity residual to assess how close each BC node is to meeting its target: rBC,ki​=h1​∥xki​−x^kn+1​∥. When rBC,ki​ falls below a specific tolerance ϵ for any BC node k, we can fix the node at its current location xki​≈x^kn+1​ and apply the DOF elimination method in the subsequent iterations. This is particularly straightforward in scenes with only static BCs, where the DOF elimination method is directly applied. For other BC nodes k that are far from their target locations, we introduce new penalty terms to the Incremental Potential for each of these nodes: 2κM​​mk​∥xk​−x^kn+1​∥2.(11.1.1) Here, mk​ represents the nodal mass, allowing for intuitive setting of the penalty stiffness κM​, as the Hessian of the penalty term with respect to BC nodes is simply κM​ times that of the inertia term. Remark 11.1.1. For collision obstacles (CO), precisely calculating node masses is challenging due to unknown factors like density. A practical approach is to assume a density similar to that of the simulated solids in the scene. This assumption makes the diagonal entries on the Hessian of the penalty terms roughly κM​ times that of the inertia term. For codimensional COs such as shells, rods, and particles, the key is to consider a reasonably large thickness when calculating their volumes. This helps in ensuring that their physical properties align more closely with those of the main simulation bodies. Setting the penalty stiffness κM​ appropriately can be challenging. If κM​ is set too low, it may not effectively move the BC node towards its target. Conversely, a too high κM​ can lead to numerical issues. Thus, we initially set κM​ to a reasonably large value and adaptively increase it as necessary. During the Newton solve, if there are BC nodes k where rBC,ki​≥ϵ at the point of Newton convergence, we double the penalty stiffness κM​ to 2× its current value and continue the Newton solve. This process is repeated until all BCs are satisfactorily met at convergence. Remark 11.1.2. In practice, with double precision floating-point numbers, initializing κM​ below 106 is typically sufficient, given that the Hessian of the stiff penalty terms is purely diagonal. However, if certain BCs remain unsatisfied even when κM​ is increased to above 1010, the optimization process may stall due to severe numerical errors. This stalling occurs because extremely stiff penalty terms are in conflict with the contact barriers. However, such a scenario would likely only occur under a rare CO/BC setting in a manner far more extreme than what is tested in Figure 2.3.1 .","breadcrumbs":"Moving Boundary Conditions* » Penalty Method » Penalty Method","id":"66","title":"Penalty Method"},"67":{"body":"We simulate compressing an elastic square using a ceiling. The excutable Python project for this section can be found at https://github.com/phys-sim-book/solid-sim-tutorial under the 5_mov_dirichlet folder. The ceiling in our simulation is modeled as a half-space with a downward normal vector n=(0,−1). The distance from the ceiling to other simulated Degrees of Freedom (DOFs) can be calculated using Equation (7.1.1) . To effectively apply the penalty method, it's necessary that the ceiling's height also serves as a DOF. Following the approach used in the Square on Slope project, we choose the origin o on the ceiling as the DOF and incorporate it into the variable x: Implementation 11.2.1 (Ceiling DOF setup, simulator.py). [x, e] = square_mesh.generate(side_len, n_seg) # node positions and edge node indices\nx = np.append(x, [[0.0, side_len * 0.6]], axis=0) # ceil origin (with normal [0.0, -1.0]) The ceiling is initially positioned directly above the elastic square, as shown in the left image of Figure 11.2.1 . By doing so, we ensure that the nodal mass of this newly added DOF is consistent with the other simulated nodes on the square, as per our implementation. With this additional DOF, we can straightforwardly model the contact between the ceiling and the square. This is done by enhancing the existing functions that compute the barrier energy value, gradient, Hessian, and the initial step size: Implementation 11.2.2 (Barrier energy value, BarrierEnergy.py). n = np.array([0.0, -1.0]) for i in range(0, len(x) - 1): d = n.dot(x[i] - x[-1]) if d < dhat: s = d / dhat sum += contact_area[i] * dhat * kappa / 2 * (s - 1) * math.log(s) Implementation 11.2.3 (Barrier energy gradient, BarrierEnergy.py). n = np.array([0.0, -1.0]) for i in range(0, len(x) - 1): d = n.dot(x[i] - x[-1]) if d < dhat: s = d / dhat local_grad = contact_area[i] * dhat * (kappa / 2 * (math.log(s) / dhat + (s - 1) / d)) * n g[i] += local_grad g[-1] -= local_grad Implementation 11.2.4 (Barrier energy Hessian, BarrierEnergy.py). n = np.array([0.0, -1.0]) for i in range(0, len(x) - 1): d = n.dot(x[i] - x[-1]) if d < dhat: local_hess = contact_area[i] * dhat * kappa / (2 * d * d * dhat) * (d + dhat) * np.outer(n, n) index = [i, len(x) - 1] for nI in range(0, 2): for nJ in range(0, 2): for c in range(0, 2): for r in range(0, 2): IJV[0].append(index[nI] * 2 + r) IJV[1].append(index[nJ] * 2 + c) IJV[2] = np.append(IJV[2], ((-1) ** (nI != nJ)) * local_hess[r, c]) Implementation 11.2.5 (Initial step size calculation, BarrierEnergy.py). n = np.array([0.0, -1.0]) for i in range(0, len(x) - 1): p_n = (p[i] - p[-1]).dot(n) if p_n < 0: alpha = min(alpha, 0.9 * n.dot(x[i] - x[-1]) / -p_n) Here for the distance between the ceiling o and a node x, we have the stacked quantities locally: d(x,o)=nT(x−o),∇d(x,o)=[n−n​],∇2d(x,o)=0. Now we apply the moving BC on the ceiling to compress the elastic square. We set the ceiling's DOF, identified by the node index (n_seg+1)*(n_seg+1), as the sole Dirichlet Boundary Condition (DBC) in this scene. We assign it a downward velocity of (0,−0.5). The movement is stopped when the ceiling reaches a height of −0.6: Implementation 11.2.6 (DBC setup, simulator.py). DBC = [(n_seg + 1) * (n_seg + 1)] # dirichlet node index\nDBC_v = [np.array([0.0, -0.5])] # dirichlet node velocity\nDBC_limit = [np.array([0.0, -0.6])] # dirichlet node limit position Then we implement the penalty term according to Equation (11.1.1) , which is essentially a quadratic spring energy for controlling the motion of the ceiling: Implementation 11.2.7 (Spring energy computation, SpringEnergy.py). import numpy as np def val(x, m, DBC, DBC_target, k): sum = 0.0 for i in range(0, len(DBC)): diff = x[DBC[i]] - DBC_target[i] sum += 0.5 * k * m[DBC[i]] * diff.dot(diff) return sum def grad(x, m, DBC, DBC_target, k): g = np.array([[0.0, 0.0]] * len(x)) for i in range(0, len(DBC)): g[DBC[i]] = k * m[DBC[i]] * (x[DBC[i]] - DBC_target[i]) return g def hess(x, m, DBC, DBC_target, k): IJV = [[0] * 0, [0] * 0, np.array([0.0] * 0)] for i in range(0, len(DBC)): for d in range(0, 2): IJV[0].append(DBC[i] * 2 + d) IJV[1].append(DBC[i] * 2 + d) IJV[2] = np.append(IJV[2], k * m[DBC[i]]) return IJV Next, we focus on optimizing with the spring energies while properly handling the convergence check and penalty stiffness adjustments. At the start of each time step, the target position for each DBC node is computed, and the penalty stiffness, kM​, is initialized to 10. If certain nodes reach their preset limit, we then set the target as their current position: Implementation 11.2.8 (DBC initialization, time_integrator.py). DBC_target = [] # target position of each DBC in the current time step for i in range(0, len(DBC)): if (DBC_limit[i] - x_n[DBC[i]]).dot(DBC_v[i]) > 0: DBC_target.append(x_n[DBC[i]] + h * DBC_v[i]) else: DBC_target.append(x_n[DBC[i]]) DBC_stiff = 10 # initialize stiffness for DBC springs Entering the Newton loop, in each iteration, just before computing the search direction, we assess how many DBC nodes are close enough to their target positions. We store these results in the variable DBC_satisfied: Implementation 11.2.9 (DBC satisfaction check, time_integrator.py). # check whether each DBC is satisfied DBC_satisfied = [False] * len(x) for i in range(0, len(DBC)): if LA.norm(x[DBC[i]] - DBC_target[i]) / h < tol: DBC_satisfied[DBC[i]] = True Then we only eliminate the DOFs of those DBC nodes that already satisfy the boundary condition: Implementation 11.2.10 (DOF elimination, time_integrator.py). # eliminate DOF if it's a satisfied DBC by modifying gradient and Hessian for DBC: for i, j in zip(*projected_hess.nonzero()): if (is_DBC[int(i / 2)] & DBC_satisfied[int(i / 2)]) | (is_DBC[int(j / 2)] & DBC_satisfied[int(i / 2)]): projected_hess[i, j] = (i == j) for i in range(0, len(x)): if is_DBC[i] & DBC_satisfied[i]: reshaped_grad[i * 2] = reshaped_grad[i * 2 + 1] = 0.0 return [spsolve(projected_hess, -reshaped_grad).reshape(len(x), 2), DBC_satisfied] The BC satisfaction information stored in DBC_satisfied is also used to check convergence and update kM​ when needed: Implementation 11.2.11 (Convergence criteria, time_integrator.py). [p, DBC_satisfied] = search_dir(x, e, x_tilde, m, l2, k, n, o, contact_area, (x - x_n) / h, mu_lambda, is_DBC, DBC, DBC_target, DBC_stiff, tol, h) while (LA.norm(p, inf) / h > tol) | (sum(DBC_satisfied) != len(DBC)): # also check whether all DBCs are satisfied print('Iteration', iter, ':') print('residual =', LA.norm(p, inf) / h) if (LA.norm(p, inf) / h <= tol) & (sum(DBC_satisfied) != len(DBC)): # increase DBC stiffness and recompute energy value record DBC_stiff *= 2 E_last = IP_val(x, e, x_tilde, m, l2, k, n, o, contact_area, (x - x_n) / h, mu_lambda, DBC, DBC_target, DBC_stiff, h) Now, we proceed to run the simulation, which involves severely compressing the dropped elastic square as depicted in ( Figure 11.2.1 ). From the final static frame, we observe that the elastic springs on the edges are inverted due to extreme compression. This artifact is typical in mass-spring models of elasticity. In future chapters, we will explore how applying finite-element discretization to barrier-type elasticity models, such as the Neo-Hookean model, can prevent such issues. That approach is akin to the enforcement of non-interpenetrations in our current simulations. Figure 11.2.1. A square is dropped onto the ground and compressed by a ceiling until inverted.","breadcrumbs":"Moving Boundary Conditions* » Case Study: Compressing Square* » Case Study: Compressing Square","id":"67","title":"Case Study: Compressing Square"},"68":{"body":"We introduced the penalty method for handling moving boundary conditions while preventing interpenetrations. The key strategies involved are: Augmenting the Incremental Potential with additional spring energies on the DBC nodes; Adaptively increasing the penalty stiffness as required; Eliminating DOFs for those BC nodes that are sufficiently close to their targets; and Ensuring all BCs are satisfied at the point of convergence. To address the inversion artifact observed in our case study of compressing mass-spring elastic squares, the application of barrier-type elasticity energies is essential. Our penalty method for moving BCs plays a crucial role when these energies are applied, as directly prescribing BC nodes can still lead to inversion. In the next chapter, we will explore hyperelasticity models, which are preferred over mass-spring systems in practical applications.","breadcrumbs":"Moving Boundary Conditions* » Summary » Summary","id":"68","title":"Summary"},"69":{"body":"In previous case studies, we've relied on the mass-spring model to simulate the elastic behaviors of solids. This model approximates 2D and 3D elasticity by connecting multiple springs in various directions, each responding only to stretch and compression. However, this simple approximation often fails to capture the complexities of real-world phenomena. Starting with this lecture, we will delve into the mathematical description of deformation and introduce a more rigorous approach to modeling elasticity for continuum bodies. When discussing continuum bodies or continuum mechanics, we operate under the continuum assumption . This perspective treats materials—whether solid, liquid, or gas—as continuous entities, avoiding the need to account for microscopic interactions between molecules and atoms. This assumption is not only practical in engineering and graphics applications but is also prevalent in everyday scenarios. In graphics simulations, the continuum assumption applies to a wide range of materials, including deformable objects (both elastic and plastic), muscle, flesh, cloth, hair, liquids, smoke, gas, and granular materials like sand, snow, mud, and soil. In continuum mechanics, properties such as density, velocity, and force are defined as continuous functions of position. We have explored their discrete counterparts in the Discrete Space and Time section. Equations of motion, based on Newton's 2nd law, are solved within the spatial domain and evolved over time to simulate the dynamic behaviors of these materials.","breadcrumbs":"Kinematics Theory » Kinematics Theory","id":"69","title":"Kinematics Theory"},"7":{"body":"Newton's second law lays the foundation for a series of Ordinary Differential Equations (ODEs) expressed in their continuous forms. This is analogous to how we previously used sampled points in space to discretely represent continuous geometries. Now, we take a similar approach but in the realm of time. By sampling points in time, we can effectively represent time derivatives, such as \\(\\frac{\\mathbf{d} x}{\\mathbf{d} t}\\) and \\(\\frac{\\mathbf{d} v}{\\mathbf{d} t}\\). Definition 1.3.1 (Time Integration). When discretizing time into fixed small intervals, we denote the time at the \\(n\\)-th step as \\(t^n\\), commonly referred to as a timestep . The length of this interval, or timestep size , is given by \\(\\Delta t = t^{n+1} - t^n\\). The timestep count, \\(n\\), is typically a whole number starting from zero, making \\(t^0=0 s\\) the starting point of a simulation. The concept of timesteps leads to the introduction of symbols \\(x^n\\), \\(v^n\\), and \\(f^n\\) to represent the positions, velocities, and forces of nodes at the \\(n\\)-th timestep, respectively. The term timestepping , or time integration, refers to the process of calculating \\(x^{n+1}, v^{n+1}\\) from \\(x^n, v^n\\) at each incremental timestep \\(n=0,1,2,\\dots\\). For a visual demonstration, consider an Armadillo slingshot animation. Each frame in this animation is computed progressively from left to right, as illustrated in the figure below. In this context, timestepping mirrors a cinematic progression, revealing the evolving dynamics of a system in a step-by-step manner. Figure 1.3.1. Armadillo slingshot frame by frame In the context of this book and the simulation scenarios we examine, a crucial assumption must be emphasized: we always possess exact knowledge of the initial values \\(x^0\\) and \\(v^0\\) at the start of our simulation. Furthermore, for each timestep, we either have a method to calculate \\(f^n\\) based on a physical model, or we have its precise value readily available, as with a constant force such as gravity. This assumption is fundamental to our approach, ensuring that simulations are grounded in known initial conditions and forces, thereby allowing for more accurate and reliable outcomes.","breadcrumbs":"Discrete Space and Time » Time Integration » Time Integration","id":"7","title":"Time Integration"},"70":{"body":"Kinematics is the study of motion within continuum materials, focusing primarily on the changes in shape or deformation that occur, whether locally or globally, across different coordinate systems. The aim is to describe motion both qualitatively and quantitatively, which is crucial for deriving the governing equations of dynamics and mechanical responses. Notably, kinematics can often be described without the need to introduce concepts like force, stress, or even mass. In continuum mechanics, deformation is typically represented through three key components: Material (or undeformed) space X : This represents the initial position of any point in the material. World (or deformed) space x : This indicates the current position of any point. Deformation map ϕ(X,t) : This function maps points from the material space to the world space, showing how the position of material points changes over time. At the initial time t=0, the material space X and the world space x coincide, meaning every point starts at its undeformed position. Definition 12.1.1 (Deformation/Flow Map). The motion of material in continuum mechanics is determined by a mapping ϕ(⋅,t):Ω0→Ωt, where Ω0,Ωt⊂Rd and d=2 or 3 represents the dimension of the simulated problem (or domain). This mapping, often referred to as the flow map or the deformation map, is crucial in understanding how material points move over time. Material Points X : Points in the set Ω0 are known as material points and are designated as X. Current Locations x : Points in Ωt represent the location of material points at time t, and are referred to as x. The deformation map ϕ describes the trajectory of each material point X∈Ω0 throughout time, expressed as: x=x(X,t)=ϕ(X,t). Example 12.1.1. If our object is moving with a constant speed v along direction n, then we have x=X+tvn.(12.1.1) If an object undergoes some rigid motion after time t (compared to time 0), we will have x=RX+b,(12.1.2) where R is a rotation matrix, and b is some translation. R and b will likely be functions of time t and the initial position X, depending on the actual motion. The mapping ϕ can be used to quantify relevant continuum-based physics. For example, the velocity of a given material point X at time t is V(X,t)=∂t∂ϕ​(X,t),(12.1.3) and the acceleration is A(X,t)=∂t2∂2ϕ​(X,t)=∂t∂V​(X,t).(12.1.4) That is, V(⋅,t):Ω0→Rd and A(⋅,t):Ω0→Rd. Remark 12.1.1. In the above, the velocity V and acceleration A are defined from the Lagrangian perspective. This means that both velocity and acceleration are functions of the material configuration X and time t, focusing on specific particles within the material. Physically, this implies that these measurements pertain to particles that have their own mass and have occupied some volume from the beginning of the simulation. The Lagrangian view is particularly valuable for tracking individual particle dynamics over time, offering detailed insights into how particles move, accelerate, and interact within the material under various conditions.","breadcrumbs":"Kinematics Theory » Continuum Motion » Continuum Motion","id":"70","title":"Continuum Motion"},"71":{"body":"We have X and x as material coordinates and world coordinates, respectively, each associated with domains Ω0​ and Ωt​. For any point X within Ω0​, the mapping function ϕ transports it to Ωt​ at a specific time t, represented as x=ϕ(X,t). Definition 12.2.1 (Deformation Gradient). The Jacobian of the deformation map ϕ is referred to as the deformation gradient and is crucial in describing the physics of elasticity. It is commonly denoted as F and defined by the relation: F(X,t)=∂X∂ϕ​(X,t)=∂X∂x​(X,t). Discretely, this Jacobian often takes the form of a small 2×2 or 3×3 matrix. For materials like cloth or thin shells in 3D, F might be a 3×2 matrix, reflecting the 2D nature of the material space. Thus, F(⋅,t):Ω0→Rd×d maps every material point X to a Rd×d matrix that describes the deformation Jacobian at time t. Using index notation, it can be expressed as: Fij​=∂Xj​∂ϕi​​=∂Xj​∂xi​​,i,j=1,…,d. We can compute the deformation gradient for the deformation map specified in Equation (12.1.1) , where the result is the identity matrix. Similarly, for the deformation map in Equation (12.1.2) , the deformation gradient F equals R. In both cases, the object does not undergo real deformation; these are merely examples of rigid transformations. Such deformation gradients should not lead to any internal forces within the material unless artistic effects are intentionally being pursued (such as in a cartoon). Figure 12.2.1 (Deformation gradient). Example 12.2.1. Intuitively, the deformation gradient F indicates the extent of local deformation within a material. Consider two nearby points, x10​ and x20​, embedded in the material at the start of the simulation (as illustrated in Figure 12.2.1 ). If x1​ and x2​ represent these points in the current configuration, the relationship between these points can be expressed as: (x2​−x1​)=F(x20​−x10​). This equation shows how the deformation gradient transforms the initial distance between the points into their current separation, thus quantifying the local deformation. The determinant of the deformation gradient F, commonly denoted by J, is crucial because it characterizes the infinitesimal volume change during deformation. This is expressed as J=det(F). The value of J represents the ratio of the infinitesimal volume of the material in the deformed configuration Ωt to its original volume in Ω0. For instance, in rigid motions, which include rotations and translations, F is a rotation matrix and therefore J=1. Notably, the identity matrix, being a rotation matrix, also results in J=1. If J>1, it indicates a volume increase, whereas J<1 indicates a decrease. A situation where J=0 suggests that the volume has effectively become zero, a scenario that is impossible in the real world but can occur numerically. In 3D, this indicates that the material is compressed to such an extent that it might collapse into a plane, line, or even a point without volume. Conversely, J<0 indicates material inversion. For example, in 2D, if J<0 for a triangle, it implies that one vertex has passed through the opposing edge, effectively 'inverting' the triangle and making its area negative. As seen in the Moving Boundary Conditions section, severe compression of an elastic square can lead to inversions. In such cases, J serves as a direct measure of this artifact and is utilized in many elasticity models to ensure simulations are free from inversions.","breadcrumbs":"Kinematics Theory » Deformation » Deformation","id":"71","title":"Deformation"},"72":{"body":"Defining the flow map which transforms continuum bodies from the material space (initial configuration) to the world space (current configuration), we introduced a mathematical description of the change in shapes -- the deformation gradient F∈Rd×d (d=2 or 3), which is the Jacobian of the flow map with respect to X. When F at a certain point on the continuum body is a rotation matrix, it indicates there is no deformation and, consequently, no local elasticity forces should be present. In the next lecture, we will explore how to define more realistic elastic potential energies using the deformation gradient.","breadcrumbs":"Kinematics Theory » Summary » Summary","id":"72","title":"Summary"},"73":{"body":"With the deformation gradient F serving as a rigorous mathematical measure of local deformation, we can define the elastic potential energy based on F to more accurately capture the elastic behaviors of solids. F is measured at every local point within the solid domain. We would measure the elastic potential locally for each point and then integrate these measurements across the entire domain. This approach mirrors the process used in the 2D Mass Spring case study, where the energy of each spring, weighted by an estimated volume, was summed up in a discrete setting. Here, F is also known as strain , and the elastic potential Pe​, referred to as strain energy , is derived from integrating strain energy density functions Ψ(F):Rd×d→R at each material point within the solid domain: Pe​=∫Ω0​​Ψ(F)dX. In this lecture, we will explore various design choices of Ψ(F) and examine some of their properties.","breadcrumbs":"Strain Energy » Strain Energy","id":"73","title":"Strain Energy"},"74":{"body":"As mentioned in the previous lecture, for a solid undergoing only translational and/or rotational motions, no elastic potential energy is stored, and thus no elasticity force is exerted. This implies that any strain energy density functions Ψ(F) have a rigid null space , meaning that Ψ(F) should remain 0 if the input deformation gradient is any rotation matrix R: Ψ(F)=0∀ F=R. A square matrix F is a rotation matrix if and only if: FT=F−1andJ≡det(F)=1. From this definition, a straightforward formulation for Ψ(F) emerges, penalizing any deviation of F from being a rotation matrix with quadratic terms: Ψ(F)=4μ​∥FTF−I∥F2​+2λ​(J−1)2.(13.1.1) Here, μ and λ are the stiffness parameters, with the first term derived from right-multiplying F to both sides of FT=F−1. This intuitive formulation closely aligns with how many standard strain energy density functions are constructed. Definition 13.1.1 (Neo-Hookean Elasticity). The Neo-Hookean elasticity model is characterized by the following energy density function: ΨNH​(F)=2μ​(tr(FTF)−d)−μln(J)+2λ​ln2(J).(13.1.2) Taking the derivative of ΨNH​(F) with respect to F, we obtain: ∂F∂Ψ​(F)=μ(F−F−T)+λln(J)F−T. From this gradient, it is evident that the μ-term achieves a local minimum when F−F−T=0 (i.e., FT=F−1), and for the λ-term, the local minimum occurs at J=1. Definition 13.1.2 (Lame Parameters). In standard strain energy density functions, the stiffness parameters μ and λ are known as Lame parameters. These parameters are directly related to the Young's modulus E, which measures resistance to stretching, and the Poisson's ratio ν, which measures the incompressibility of the solid: μ=2(1+ν)E​,λ=(1+ν)(1−2ν)Eν​. Definition 13.1.3 (Rotation Invariance). The energy density function for any nonlinear elastic model is rotation invariant. Mathematically, this is expressed as: Ψ(F)=Ψ(RF)∀ F∈Rd×d and d×d rotation matrix R.(13.1.3) Intuitively, this means that any rotations applied after deformation should not alter the value of the strain energy density function. However, the simplest strain energy density function, linear elasticity , does not include rigid modes in its null space nor does it satisfy Equation (13.1.3) . This is because linear elasticity is specifically designed for infinitesimal strains , where no significant rotations are involved. Definition 13.1.4 (Linear Elasticity). Linear elasticity has the energy density function Ψlin​(F)=μ∥ϵ∥F2​+2λ​tr2(ϵ).(13.1.4) Here ϵ=21​(F+FT)−I is the small strain tensor , and we see that Ψlin​(F) is a quadratic function of F. Notably, the linear elasticity model with the corresponding Lame parameters is calibrated to real-world experiments under conditions of small deformations. In such circumstances, all standard strain energy density functions must align with linear elasticity. The consistency between these models and linear elasticity will be concisely demonstrated after we introduce the polar singular value decomposition of F in the next section. Rotation invariance (Equation (13.1.3) ) should not be confused with the isotropic property of certain elastic models. Definition 13.1.5 (Isotropic Elasticity). The energy density function of isotropic elastic models satisfies Ψ(F)=Ψ(FR)∀ F∈Rd×d and d×d rotation matrix R.(13.1.5) This implies that the same amount of stretch in any direction results in the same energy change. Consequently, there are no special directions in which the material is harder or easier to deform than others. Neo-Hookean (Equation (13.1.2) ) and our intuitive model (Equation (13.1.1) ) are both examples of isotropic models. However, linear elasticity (Equation (13.1.4) ) does not meet this condition (Equation (13.1.5) ), as it is not designed to handle rotational motions effectively. For anisotropic elastic models , the resistance to stretch varies depending on the direction. Materials such as cloth, bones, muscles and wood are examples of anisotropic materials, exhibiting different mechanical properties in different directions.","breadcrumbs":"Strain Energy » Rigid Null Space and Rotation Invariance » Rigid Null Space and Rotation Invariance","id":"74","title":"Rigid Null Space and Rotation Invariance"},"75":{"body":"When discussing general slip boundary conditions , we introduced the usage of singular value decomposition (SVD). Here, we apply a variant known as Polar SVD ( Algorithm 13.2.1 ) to decompose F: F=UΣVT, where U and V are both d×d rotation matrices, and Σ is a d×d diagonal matrix. Unlike standard SVD, which ensures Σii​ remains non-negative possibly at the expense of having det(U)=−1 or det(V)=−1, Polar SVD maintains det(U)=1 and det(V)=1, allowing Σii​ to be negative if necessary. Polar SVD is named for its relation to Polar decomposition, where F is expressed as RS. This decomposition can be reconstructed via R=UVT and S=VΣVT, with R representing the closest rotation to F and S being symmetric. Algorithm 13.2.1 (Polar SVD from Standard SVD). The Polar SVD of F offers a more intuitive way to understand deformation. If we denote σi​=Σii​, referred to as the principal stretches , we can conceptualize F as comprising a sequence of transformations. Initially, there is a rotation by VT, followed by scaling the dimensions by σi​ along each axis, and concluding with another rotation by U. This decomposition is applicable for all possible F. Polar SVD also allows for the more convenient expression of isotropic strain energy density functions using σi​ exclusively. For instance, our intuitive formulation in Equation (13.1.1) can be reframed as: Ψ(F)=Ψ^(Σ)=4μ​i=1∑d​(σi2​−1)2+2λ​(i=1∏d​σi​−1)2, where J=∏i=1d​σi​=σ1​⋅σ2​⋅…⋅σd​. Moreover, the Neo-Hookean strain energy density function (Equation (13.1.2) ) can be rewritten as: ΨNH​(F)=Ψ^NH​(Σ)=2μ​(i=1∑d​σi2​−d)−μln(J)+2λ​ln2(J). These two models are both consistent with linear elasticity under small deformation. Definition 13.2.1 (Consistency to Linear Elasticity). To verify the consistency to linear elasticity of a strain energy density function Ψ(F), we just need to check whether the following relations all hold: Ψ^(I)=0,∂σi​∂Ψ^​(I)=0,and∂σi​∂σj​∂2Ψ^​(I)=2μδij​+λ. Here 1≤i,j≤d, and δij​=1 if i=j, otherwise it is 0.","breadcrumbs":"Strain Energy » Polar Singular Value Decomposition » Polar Singular Value Decomposition","id":"75","title":"Polar Singular Value Decomposition"},"76":{"body":"Definition 13.3.1 (Corotated Linear Elasticity). To make linear elasticity rotation-aware while maintaining its simplicity, we can introduce a base rotation Rn and construct an energy density function ΨLC​(F)=Ψlin​((Rn)TF), penalizing any deviation between F and this fixed Rn. This is called corotated linear elasticity. ΨLC​(F) remains a quadratic energy with respect to F and is very useful for dynamic simulations. At the beginning of the optimization for each time step n+1, we compute Rn as the closest rotation to Fn: Rn=argRmin​∥Fn−R∥F2​s.t.RT=R−1anddet(R)=1.(13.3.1) As mentioned earlier, the solution is given by the Polar decomposition on Fn, and with Polar SVD Fn=UnΣn(Vn)T, we have Rn=Un(Vn)T. However, corotated linear elasticity is still not rotation invariant, as Rn does not change with F during the optimization. Thus, it is not suitable for large deformations. For rotation invariant elastic models, practitioners in computer graphics have been simplifying them for visual computing purposes. For example, only keeping a μ-term while ignoring the λ-term in the energy density function for more efficient computations: ΨR​(F)=4μ​∥FTF−I∥F2​,orΨARAP​(F)=μi∑d​(σi​−1)2,etc.(13.3.2) Here ΨARAP​(F) is called the As-Rigid-As-Possible (ARAP) energy, which is widely used in shape modeling, cloth simulation, and surface parameterization, etc. ΨR​(F), while being a higher-order polynomial of F compared to ARAP, can be computed without performing the expensive SVDs on F. For all the strain energy density functions we have looked at in this lecture, except Neo-Hookean, all others are defined on the whole domain Rd×d. Neo-Hookean energy density function is defined on {F ∣ F∈Rd×d, det(F)>0}. Just like the barrier energy to prevent interpenetrations in IPC, ΨNH​(F) is also a barrier energy, which goes to infinity as det(F) approaches 0, providing arbitrarily large elastic forces to prevent inversion (det(F)≤0). Strain energy density functions allowing det(F)≤0 are also called invertible elasticity models . They are easy to deal with (no need for line search filtering), but do not guarantee non-inversion. Designing an invertible elastic energy that provides reasonably large resistance to inversion has drawn a lot of attention in computer graphics research [Stomakhin et al. 2012] [Smith et al. 2018] .","breadcrumbs":"Strain Energy » Simplified Models and Invertibility » Simplified Models and Invertibility","id":"76","title":"Simplified Models and Invertibility"},"77":{"body":"The elastic potential energy Pe​ is an integration of the strain energy density function Ψ(F) at every local point in the solid domain. From the rigid null space , we derived an intuitive formulation of the strain energy density function, similar in structure to standard models like Neo-Hookean . Nonlinear elastic models are also rotation invariant , meaning any rotations applied after the deformation F do not change Ψ. Linear elasticity features a quadratic energy density function and is specifically designed for infinitesimal strains ϵ, lacking rigid modes in its null space. Yet, with the corresponding Lame Parameters μ and λ, it can accurately capture behaviors of small deformations observed in the real world. Standard elasticity models are required to be consistent with linear elasticity under small deformations. This lecture focused on isotropic elasticity , where no special directions exist that make the material harder or easier to deform. Performing Polar SVD on F=UΣV allows us to rewrite Ψ(F) of isotropic models using only principal stretches σi​=Σii​. Using the closest rotation Rn=Un(Vn)T to Fn in the last time step, we constructed a corotated linear elasticity to make linear elasticity rotation-aware while maintaining its simplicity. Simplifying further by retaining only the μ-term enhances efficiency for visual computing. Similar to how non-interpenetrations are enforced in IPC, the energy density function of Neo-Hookean acts as a barrier function, ensuring non-inversion (det(F)>0). All other elasticity models introduced in this lecture are invertible , and they do not guarantee non-inversion. In the next lecture, we will explore the derivatives of Ψ(F) with respect to F.","breadcrumbs":"Strain Energy » Summary » Summary","id":"77","title":"Summary"},"78":{"body":"Having introduced standard strain energies, we now proceed to their differentiation with respect to the world space coordinates, x, to simulate realistic elastic behaviors. However, it's important to first establish the explicit relationship between these coordinates x and the deformation gradient F. This relationship heavily depends on specific discretization choices. Before we explore discretization in depth, we should understand how to compute the derivatives of the strain energy function, Ψ, with respect to F. These derivatives are fundamentally linked to the concept of stress, a critical element in understanding material behavior under deformation.","breadcrumbs":"Stress and Its Derivatives » Stress and Its Derivatives","id":"78","title":"Stress and Its Derivatives"},"79":{"body":"Stress is a tensor field, akin to the deformation gradient F, and is defined over the entire domain of solid materials. It quantifies the internal pressures and tensions experienced by a material object. The link between stress and strain (or F) is established through what is known as a constitutive relationship . This relationship outlines how materials respond to various deformations. A common example of a constitutive relationship is Hooke's law in one dimension, which applies to many conventional materials under elastic conditions. In the context of hyperelastic materials , the relationship is specifically defined by the strain energy function, Ψ(F). Definition 14.1.1 (Hyperelastic Materials). Hyperelastic materials are those elastic solids whose first Piola-Kirchhoff stress P can be derived from a strain energy density function Ψ(F) via P=∂F∂Ψ​.(14.1.1) With index notation, this means Pij​=∂Fij​∂Ψ​. P is discretely a small matrix with the same dimensions as F. In the study of material behavior under stress, various definitions are utilized, with Cauchy stress being particularly prevalent in engineering contexts. Cauchy stress, denoted as σ(⋅,t):Ωt→Rd×d, can be mathematically linked to the first Piola-Kirchhoff stress tensor P through the relationship: σ=J1​PFT=det(F)1​∂F∂Ψ​FT. Calculating P from the strain energy function Ψ(F) is relatively straightforward for energy models that do not require singular value decomposition (SVD), such as the Neo-Hookean model. However, general isotropic elasticity models, like ARAP (As-Rigid-As-Possible), often rely on the computation of principal stretches or the closest rotation matrix, necessitating SVD. This computation becomes particularly complex and resource-intensive when determining ∂F∂P​, which is crucial for implicit time integrations. We present an efficient method that leverages the sparsity structure, as introduced by [Stomakhin et al. 2012] , to compute the first Piola-Kirchhoff stress tensor P and its derivative ∂F∂P​ (whether as a tensor or the differential δP) for general isotropic elastic materials. This approach utilizes symbolic software packages, and we will specifically discuss the implementation in Mathematica . Implementations in Maple or other software are similarly straightforward, following the same conceptual framework. For a deeper exploration of derivative computations commonly employed in computer graphics, refer to the work of [Schroeder 2022] . It is important to note that the computational strategy discussed can also be applied to other derivatives in diagonal space, similar to ∂F∂P​. For instance, in certain models, the Kirchhoff stress τ is preferred over the first Piola-Kirchhoff stress P. The Kirchhoff stress is expressed as: τ=Uτ^UT, where τ^ is a diagonal stress measure, with each entry being a function of the singular values Σ. The methodology for computing ∂F∂τ​ mirrors that of P.","breadcrumbs":"Stress and Its Derivatives » Stress » Stress","id":"79","title":"Stress"},"8":{"body":"Explicit time integration schemes provide a direct method to calculate \\(x^{n+1},v^{n+1}\\) by substituting known values into simple formulas, which is why these are called explicit . This section focuses on two basic explicit schemes: Forward Euler and Symplectic Euler methods.","breadcrumbs":"Discrete Space and Time » Explicit Time Integration » Explicit Time Integration","id":"8","title":"Explicit Time Integration"},"80":{"body":"Let's begin with the computation of P. For isotropic materials, the first Piola-Kirchhoff stress tensor can be calculated as follows: PwhereF​=UP^VT=UΣVT,Ψ(F)=Ψ^(Σ),andP^ij​=∂σi​∂Ψ^​δij​.​(14.2.1) This formulation leverages the property that P shares the same SVD space as F, which simplifies the derivation and computation process. Example 14.2.1. For the Neo-Hookean model (Equation (13.1.2) ), we have: Ψ^NH​(Σ)=2μ​(i∑d​σi2​−d)−μln(J)+2λ​ln2(J). Thus, we can first perform SVD on F=UΣV and derive: P^ii​=μ(σi​−σi​1​)+λln(J)σi​1​ to compute ∂F∂Ψ​=P=UP^VT without symbolically deriving the derivative of Ψ w.r.t. F. Here we provide the proof that P commutes with rotations in diagonal space (see Equation (14.2.1) ). To demonstrate that P(RF)=RP(F) for any rotation matrix R, consider a generic (potentially anisotropic) material model. The key idea is that a rotation applied after deformation does not alter the material's stored energy, thus we have the identity Ψ(F)=Ψ(RF). Differentiating both sides of this equation with respect to the deformation gradient F yields: δΨP(F):δFP(F):δFP(F)RP(F)​=∂F∂Ψ​(F):δF=∂F∂Ψ​(RF):δ(RF),=P(RF):(RδF),=(RTP(RF)):δF,=RTP(RF),=P(RF).​ Furthermore, for an isotropic material where Ψ(FR)=Ψ(F), a similar argument shows that P(FR)=P(F)R. Combining these relationships for P under rotation, we establish that: P(F)=P(UΣVT)=UP(Σ)VT=UP^VT. This formulation confirms the rotational invariance of P in diagonal space.","breadcrumbs":"Stress and Its Derivatives » Computing Stress » Computing P","id":"80","title":"Computing P"},"81":{"body":"In the above, the last equality comes from the fact that P(F=Σ)=∂Σ∂Ψ^​. Here we show why this is true. (1) First, we claim that P(Σ) is diagonal. This can be seen by realizing that for isotropic elasticity, P(F)=k∑​∂Ik​∂Ψ​(F)∂F∂Ik​​(F), where Ik​ is the isotropic invariants. Following [Sifakis & Barbic 2022] (page 23), we can observe that ∂F∂Ik​​(F) when the argument F is diagonal, must be diagonal. Therefore, P(F) is diagonal when F is diagonal. (2) Next, we claim that diag(∂Fij​∂Σ​)=diag(UT∂Fij​∂F​F). This is proven in [Xu et al. 2015] (Equation 7). (3) Based on (2), we know that for any ij, after substituting F=Σ, we have diag(∂Fij​∂Σ​(Σ))=diag(IT∂Fij​∂F​(Σ)I), using this we can write out the cases for ij=11,ij=22,ij=33. For example, for ij=11, we have ∂F11​∂Σ​(Σ)=​1∗∗​∗0∗​∗∗0​​ (4) Finally, let's derive P(Σ). Since we know it is diagonal from (1), we just need to derive its diagonal entry. Let's use 11 entry as an example: Pab​(Σ)P11​(Σ)P11​(Σ)​=∂Fab​∂Ψ^​(Σ)=∂Σ∂Ψ^​(Σ):∂Fab​∂Σ​(Σ)=∂Σ∂Ψ^​(Σ):∂F11​∂Σ​(Σ)=​∂σ1​∂Ψ^​​∂σ1​∂Ψ^​​∂σ1​∂Ψ^​​​:​1∗∗​∗0∗​∗∗0​​=∂σ1​∂Ψ^​​ Now are are done with the final proof.","breadcrumbs":"Stress and Its Derivatives » Computing Stress » Additional Proof for P(Σ)=P^=∂Σ∂Ψ^​","id":"81","title":"Additional Proof for P(Σ)=P^=∂Σ∂Ψ^​"},"82":{"body":"To compute the derivative of P with respect to F, we leverage the rotational invariance property discussed earlier for P. Consider two arbitrary rotation matrices R and Q. From the rotational properties of P, we have: P(F)=P(RRTFQQT)=RP(RTFQ)QT. Define K=RTFQ, then: P(F)=RP(K)QT. Taking the differential of P, while treating R and Q as constants, gives: δP=R[∂F∂P​(K):δ(K)]QT=R[∂F∂P​(K):(RTδFQ)]QT. By setting R=U and Q=V, where K=Σ, the differential expression simplifies to: δP=U[∂F∂P​(Σ):(UTδFV)]VT. The tensorial derivative ∂P/∂F is then expressed in index notation as: (δP)ij​=Uik​(∂F∂P​(Σ))klmn​Urm​δFrs​Vsn​Vjl​,and(δP)ij​=(∂F∂P​(F))ijrs​δFrs​. These expressions must hold for any δF, leading to the relationship: (∂F∂P​(F))ijrs​=(∂F∂P​(Σ))klmn​Uik​Urm​Vsn​Vjl​. So the remaining task is computing ∂F∂P​(Σ). We show how to do it in 3D. First, let's introduce Rodrigues' rotation formula, which provides a method for expressing any rotation matrix in terms of a unit vector k and a rotation angle θ. The formula is given by: R=I+sin(θ)K+(1−cos(θ))K2,(14.3.1) where K is the skew-symmetric cross-product matrix associated with k. This formula shows that any rotation matrix is characterized by just three degrees of freedom, denoted as r1​,r2​,r3​. These components are used to define the rotation vector r, from which k and θ are derived as follows: k=∣r∣r​,θ=∣r∣. Using this parameterization, rotation matrices U and V can each be described by three parameters. Now we have the following code for defining F in terms of s1, s2, s3, u1, u2, u3, v1, v2, v3, where U and V are defined by ui​ and vi​ with Rodrigues' rotation formula, si​ are the singular values from Σ. id=IdentityMatrix[3];\nvar={s1,s2,s3,u1,u2,u3,v1,v2,v3};\nSigma=DiagonalMatrix[{s1,s2,s3}];\ncp[k1_,k2_,k3_]={{0,-k3,k2},{k3,0,-k1},{-k2,k1,0}};\nvV={v1,v2,v3};\nvU={u1,u2,u3};\nnv=Sqrt[Dot[vV,vV]];\nnu=Sqrt[Dot[vU,vU]];\nUU=cp[u1,u2,u3]/nu;\nVV=cp[v1,v2,v3]/nv;\nU=id+Sin[nu]*UU+(1-Cos[nu])*UU.UU;\nV=id+Sin[nv]*VV+(1-Cos[nv])*VV.VV;\nF=U.Sigma.Transpose[V]; where cp is a function for generating the cross-product matrix (corresponding to computing K in Equation (14.3.1) ). From now on, we write the 3×3×3×3 tensor ∂F∂P​(Σ) and any other such tensors to 9×9 matrices. That means each 3×3 matrix is now a size-9 vector. It is easy to see the old ∂Fkl​∂Pij​​ is now ∂F3(k−1)+l​∂P3(i−1)+j​​. We further call vector S={s1,s2,s3,u1,u2,u3,v1,v2,v3} being the parametrization of F. Then we can apply the chain rule ∂F∂P​(Σ)=∂S∂P​(Σ)∂F∂S​(Σ) Here are the Mathematica code for computing them. Note that we achieve F=Σ by taking the limit {u1,u2,u3,v1,v2,v3}=+ϵ, which correspond to nearly zero rotations. dFdS=D[Flatten[F],{var}];\ndFdS0=dFdS/.{u1->e,u2->e,u3->e,v1->e,v2->e,v3->e};\ndFdS1=Limit[dFdS0,e->0,Direction->-1];\ndSdF0=Inverse[dFdS1];\nPhat=DiagonalMatrix[{t1[s1,s2,s3],t2[s1,s2,s3],t3[s1,s2,s3]}];\nP=U.Phat.Transpose[V];\ndPdS=D[Flatten[P],{var}];\ndPdS0=dPdS/.{u1->e,u2->e,u3->e,v1->e,v2->e,v3->e};\ndPdS1=Limit[dPdS0,e->0,Direction->-1];\ndPdF=Simplify[dPdS1.dSdF0]; Note 'Direction->-1' in Mathematica means taking the limit from large values to the small limit value. The Mathematica computation result will be given in terms of the singular values and P^. One can then take the formula for implementing them in the code. [Stomakhin et al. 2012] gives the result where ∂F∂P​(Σ) (size 9×9 matrix) is permuted to be a block diagonal matrix with diagonal blocks A3×3,B122×2​,B132×2​,B232×2​, where A=​Ψ^,σ1​σ1​​Ψ^,σ2​σ1​​Ψ^,σ3​σ1​​​Ψ^,σ1​σ2​​Ψ^,σ2​σ2​​Ψ^,σ3​σ2​​​Ψ^,σ1​σ3​​Ψ^,σ2​σ3​​Ψ^,σ3​σ3​​​​ and Bij​=σi2​−σj2​1​(σi​Ψ^,σi​​−σj​Ψ^,σj​​σj​Ψ^,σi​​−σi​Ψ^,σj​​​σj​Ψ^,σi​​−σi​Ψ^,σj​​σi​Ψ^,σi​​−σj​Ψ^,σj​​​). Denominator clamping is needed for terms in B that may introduce division-by-zero (after fully simplifying them). Here we denote ∂σi​∂Ψ^​ and ∂σi​∂σj​∂2Ψ^​ as Ψ^,σi​​ and Ψ^,σi​σj​​ respectively. The division by σi2​−σj2​ is problematic when two singular values are nearly equal or when two singular values nearly sum to zero. The latter is possible with a convention for permitting negative singular values (as in invertible elasticity [Irving et al. 2004] [Stomakhin et al. 2012] ). Expanding Bij​ in terms of partial fractions yields the useful decomposition Bij​=21​σi​−σj​Ψ^,σi​​−Ψ^,σj​​​(11​11​)+21​σi​+σj​Ψ^,σi​​+Ψ^,σj​​​(1−1​−11​). Note that if Ψ^ is invariant under permutation of the singular values, then Ψ^,σi​​→Ψ^,σj​​ as σi​→σj​. Thus, the first term can normally be computed robustly for an isotropic model if implemented carefully. The other fraction can be computed robustly if Ψ^,σi​​+Ψ^,σj​​→0 as σi​+σj​→0. But this usually does not hold as it means the constitutive model will have difficulty recovering from degenerate or inverted configurations. Thus, this term will be unbounded under some circumstances. We address this by clamping the magnitude of the denominator to not be smaller than 10−6 before division to bound the derivatives. For 2D, a rotation matrix is now simply paremetrized with a single θ where the reconstruction is R=(cosθsinθ​−sinθcosθ​). The 2D version of the whole Mathematica code is id=IdentityMatrix[2];\nvar={s1,s2,u1,v1};\nS=DiagonalMatrix[{s1,s2}];\nU={{Cos[u1],-Sin[u1] },{Sin[u1],Cos[u1]}};\nV={{Cos[v1],-Sin[v1]},{Sin[v1],Cos[v1]}};\nF=U.S.Transpose[V];\ndFdS=D[Flatten[F],{var}];\ndFdS0=dFdS/.{u1->e,v1->e};\ndFdS1=Limit[dFdS0,e->0,Direction->-1};\ndSdF0=Inverse[dFdS1];\nPhat=DiagonalMatrix[{t1[s1,s2],t2[s1,s2]}];\nP=U.Phat.Transpose[V];\ndPdS=D[Flatten[P],{var}];\ndPdS0=dPdS/.{u1->e,v1->e};\ndPdS1=Limit[dPdS0,e->0,Direction->-1];\ndPdF=Simplify[dPdS1.dSdF0]; where A is now also 2×2 and there is only one B.","breadcrumbs":"Stress and Its Derivatives » Computing Stress Derivatives » Computing ∂P/∂F or δP","id":"82","title":"Computing ∂P/∂F or δP"},"83":{"body":"Stress is a tensor field that quantifies the pressure or tension exerted on a material object. In the context of hyperelastic materials, the first Piola-Kirchhoff stress tensor P plays a crucial role. It is defined as the derivative of the strain energy density function Ψ, with respect to the deformation gradient F, establishing a constitutive relationship between stress and strain. In practical computations, particularly for the implicit integration of solid dynamics , it is essential to compute P and its derivative ∂F∂P​ efficiently. By leveraging the sparsity structure in diagonal space, these computations become more feasible. Here, differentiations are primarily required for Ψ with respect to the principal stretches σi​, which simplifies the calculation process. In the upcoming lecture, we will apply these principles to an inversion-free elasticity model , which will be demonstrated through the compressing square simulation . This application will use the concepts discussed in this chapter to address complex real-world problems in solid mechanics.","breadcrumbs":"Stress and Its Derivatives » Summary » Summary","id":"83","title":"Summary"},"84":{"body":"At the end of this chapter, we implement the Neo-Hookean model introduced in the previous lectures to simulate inversion-free elastic solids. The excutable Python project for this section can be found at https://github.com/phys-sim-book/solid-sim-tutorial under the 6_inv_free folder. Instead of discretizing elasticity onto the springs as in the mass-spring model, we discretize the Neo-Hookean model onto triangle elements, apply chain rules to compute elastic forces according to the relation between deformation gradient F and world-space nodal position x, and then develop a root-finding based approach to filter the initial step size of line search for guaranteed non-inversion.","breadcrumbs":"Case Study: Inversion-free Elasticity* » Case Study: Inversion-free Elasticity*","id":"84","title":"Case Study: Inversion-free Elasticity*"},"85":{"body":"In previous discussions, we learned to calculate Ψ and its derivatives with respect to F. For simulation, however, we require ∂x∂Ψ​ and ∂x2∂2Ψ​. This necessitates a clear understanding of F(x), as it allows us to employ the chain rule to derive these derivatives with respect to x effectively. In 2D simulations, we often divide the solid domain into non-degenerate triangular elements. Assume the mapping x=ϕ(X) is linear within each triangle, thus keeping the deformation gradient F constant. Referencing Example 12.2.1 , for a triangle defined by vertices X1​X2​X3​, we have the equations: x2​−x1​=F(X2​−X1​)andx3​−x1​=F(X3​−X1​), where xi​ denotes the world-space coordinates of the triangle vertices. This relationship leads to the expression for F: F=[x2​−x1​,x3​−x1​][X2​−X1​,X3​−X1​]−1.(15.1.1) Equation (15.1.1) shows that F, derived here, maps any segment within the triangle to its world-space counterpart through linear combinations of the triangle edges X2​−X1​ and X3​−X1​. A more general and rigorous derivation of this formula will be presented in subsequent chapters. Once F(x) is established, we can calculate its derivative with respect to x for each triangle as follows: ∂[x1T​,x2T​,x3T​]T∂[F11​,F21​,F12​,F22​]T​=​−B11​−B21​0−B12​−B22​0​0−B11​−B21​0−B12​−B22​​B11​0B12​0​0B11​0B12​​B21​0B22​0​0B21​0B22​​​, where B=[X2​−X1​,X3​−X1​]−1 represents the inverse of the matrix formed by subtracting the first vertex from the second and third vertices. This matrix B can be precomputed at initialization along with other properties such as the volume and Lame parameters of each triangle: Implementation 15.1.1 (Precomputation of element information, simulator.py). # rest shape basis, volume, and lame parameters\nvol = [0.0] * len(e)\nIB = [np.array([[0.0, 0.0]] * 2)] * len(e)\nfor i in range(0, len(e)): TB = [x[e[i][1]] - x[e[i][0]], x[e[i][2]] - x[e[i][0]]] vol[i] = np.linalg.det(np.transpose(TB)) / 2 IB[i] = np.linalg.inv(np.transpose(TB))\nmu_lame = [0.5 * E / (1 + nu)] * len(e)\nlam = [E * nu / ((1 + nu) * (1 - 2 * nu))] * len(e) The Young's modulus and Poisson's ratio: E = 1e5 # Young's modulus\nnu = 0.4 # Poisson's ratio Here, e no longer stores all edge elements as in mass-spring models but represents all triangle elements, which can be generated by modifying the meshing code as follows: Implementation 15.1.2 (Assembling per-triangle vertex indices, square_mesh.py). # connect the nodes with triangle elements e = [] for i in range(0, n_seg): for j in range(0, n_seg): # triangulate each cell following a symmetric pattern: if (i % 2)^(j % 2): e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j, i * (n_seg + 1) + j + 1]) e.append([(i + 1) * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j + 1, i * (n_seg + 1) + j + 1]) else: e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j + 1]) e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j + 1, i * (n_seg + 1) + j + 1]) Triangles are arranged in a symmetric pattern and can be rendered by drawing the three edges: Implementation 15.1.3 (Draw triangles, simulator.py). pygame.draw.aaline(screen, (0, 0, 255), screen_projection(x[eI[0]]), screen_projection(x[eI[1]])) pygame.draw.aaline(screen, (0, 0, 255), screen_projection(x[eI[1]]), screen_projection(x[eI[2]])) pygame.draw.aaline(screen, (0, 0, 255), screen_projection(x[eI[2]]), screen_projection(x[eI[0]]))","breadcrumbs":"Case Study: Inversion-free Elasticity* » Linear Triangle Elements » Linear Triangle Elements","id":"85","title":"Linear Triangle Elements"},"86":{"body":"We first follow sections Strain Energy and Stress and Its Derivatives to implement computing Ψ(F), P=∂F∂Ψ​, and SPD-projected ∂F∂P​: Implementation 15.2.1 (Energy derivatives w.r.t. F, NeoHookeanEnergy.py). import utils\nimport numpy as np\nimport math def polar_svd(F): [U, s, VT] = np.linalg.svd(F) if np.linalg.det(U) < 0: U[:, 1] = -U[:, 1] s[1] = -s[1] if np.linalg.det(VT) < 0: VT[1, :] = -VT[1, :] s[1] = -s[1] return [U, s, VT] def dPsi_div_dsigma(s, mu, lam): ln_sigma_prod = math.log(s[0] * s[1]) inv0 = 1.0 / s[0] dPsi_dsigma_0 = mu * (s[0] - inv0) + lam * inv0 * ln_sigma_prod inv1 = 1.0 / s[1] dPsi_dsigma_1 = mu * (s[1] - inv1) + lam * inv1 * ln_sigma_prod return [dPsi_dsigma_0, dPsi_dsigma_1] def d2Psi_div_dsigma2(s, mu, lam): ln_sigma_prod = math.log(s[0] * s[1]) inv2_0 = 1 / (s[0] * s[0]) d2Psi_dsigma2_00 = mu * (1 + inv2_0) - lam * inv2_0 * (ln_sigma_prod - 1) inv2_1 = 1 / (s[1] * s[1]) d2Psi_dsigma2_11 = mu * (1 + inv2_1) - lam * inv2_1 * (ln_sigma_prod - 1) d2Psi_dsigma2_01 = lam / (s[0] * s[1]) return [[d2Psi_dsigma2_00, d2Psi_dsigma2_01], [d2Psi_dsigma2_01, d2Psi_dsigma2_11]] def B_left_coef(s, mu, lam): sigma_prod = s[0] * s[1] return (mu + (mu - lam * math.log(sigma_prod)) / sigma_prod) / 2 def Psi(F, mu, lam): J = np.linalg.det(F) lnJ = math.log(J) return mu / 2 * (np.trace(np.transpose(F).dot(F)) - 2) - mu * lnJ + lam / 2 * lnJ * lnJ def dPsi_div_dF(F, mu, lam): FinvT = np.transpose(np.linalg.inv(F)) return mu * (F - FinvT) + lam * math.log(np.linalg.det(F)) * FinvT def d2Psi_div_dF2(F, mu, lam): [U, sigma, VT] = polar_svd(F) Psi_sigma_sigma = utils.make_PSD(d2Psi_div_dsigma2(sigma, mu, lam)) B_left = B_left_coef(sigma, mu, lam) Psi_sigma = dPsi_div_dsigma(sigma, mu, lam) B_right = (Psi_sigma[0] + Psi_sigma[1]) / (2 * max(sigma[0] + sigma[1], 1e-6)) B = utils.make_PSD([[B_left + B_right, B_left - B_right], [B_left - B_right, B_left + B_right]]) M = np.array([[0, 0, 0, 0]] * 4) M[0, 0] = Psi_sigma_sigma[0, 0] M[0, 3] = Psi_sigma_sigma[0, 1] M[1, 1] = B[0, 0] M[1, 2] = B[0, 1] M[2, 1] = B[1, 0] M[2, 2] = B[1, 1] M[3, 0] = Psi_sigma_sigma[1, 0] M[3, 3] = Psi_sigma_sigma[1, 1] dP_div_dF = np.array([[0, 0, 0, 0]] * 4) for j in range(0, 2): for i in range(0, 2): ij = j * 2 + i for s in range(0, 2): for r in range(0, 2): rs = s * 2 + r dP_div_dF[ij, rs] = M[0, 0] * U[i, 0] * VT[0, j] * U[r, 0] * VT[0, s] \\ + M[0, 3] * U[i, 0] * VT[0, j] * U[r, 1] * VT[1, s] \\ + M[1, 1] * U[i, 1] * VT[0, j] * U[r, 1] * VT[0, s] \\ + M[1, 2] * U[i, 1] * VT[0, j] * U[r, 0] * VT[1, s] \\ + M[2, 1] * U[i, 0] * VT[1, j] * U[r, 1] * VT[0, s] \\ + M[2, 2] * U[i, 0] * VT[1, j] * U[r, 0] * VT[1, s] \\ + M[3, 0] * U[i, 1] * VT[1, j] * U[r, 0] * VT[0, s] \\ + M[3, 3] * U[i, 1] * VT[1, j] * U[r, 1] * VT[1, s] return dP_div_dF Next, we implement computing F(x), and the tensor products with ∂x∂F​ for chain rule based computation of elasticity energy gradient and Hessian: Implementation 15.2.2 (Energy derivatives w.r.t. x, NeoHookeanEnergy.py). def deformation_grad(x, elemVInd, IB): F = [x[elemVInd[1]] - x[elemVInd[0]], x[elemVInd[2]] - x[elemVInd[0]]] return np.transpose(F).dot(IB) def dPsi_div_dx(P, IB): # applying chain-rule, dPsi_div_dx = dPsi_div_dF * dF_div_dx dPsi_dx_2 = P[0, 0] * IB[0, 0] + P[0, 1] * IB[0, 1] dPsi_dx_3 = P[1, 0] * IB[0, 0] + P[1, 1] * IB[0, 1] dPsi_dx_4 = P[0, 0] * IB[1, 0] + P[0, 1] * IB[1, 1] dPsi_dx_5 = P[1, 0] * IB[1, 0] + P[1, 1] * IB[1, 1] return [np.array([-dPsi_dx_2 - dPsi_dx_4, -dPsi_dx_3 - dPsi_dx_5]), np.array([dPsi_dx_2, dPsi_dx_3]), np.array([dPsi_dx_4, dPsi_dx_5])] def d2Psi_div_dx2(dP_div_dF, IB): # applying chain-rule, d2Psi_div_dx2 = dF_div_dx^T * d2Psi_div_dF2 * dF_div_dx (note that d2F_div_dx2 = 0) intermediate = np.array([[0.0, 0.0, 0.0, 0.0]] * 6) for colI in range(0, 4): _000 = dP_div_dF[0, colI] * IB[0, 0] _010 = dP_div_dF[0, colI] * IB[1, 0] _101 = dP_div_dF[2, colI] * IB[0, 1] _111 = dP_div_dF[2, colI] * IB[1, 1] _200 = dP_div_dF[1, colI] * IB[0, 0] _210 = dP_div_dF[1, colI] * IB[1, 0] _301 = dP_div_dF[3, colI] * IB[0, 1] _311 = dP_div_dF[3, colI] * IB[1, 1] intermediate[2, colI] = _000 + _101 intermediate[3, colI] = _200 + _301 intermediate[4, colI] = _010 + _111 intermediate[5, colI] = _210 + _311 intermediate[0, colI] = -intermediate[2, colI] - intermediate[4, colI] intermediate[1, colI] = -intermediate[3, colI] - intermediate[5, colI] result = np.array([[0.0, 0.0, 0.0, 0.0, 0.0, 0.0]] * 6) for colI in range(0, 6): _000 = intermediate[colI, 0] * IB[0, 0] _010 = intermediate[colI, 0] * IB[1, 0] _101 = intermediate[colI, 2] * IB[0, 1] _111 = intermediate[colI, 2] * IB[1, 1] _200 = intermediate[colI, 1] * IB[0, 0] _210 = intermediate[colI, 1] * IB[1, 0] _301 = intermediate[colI, 3] * IB[0, 1] _311 = intermediate[colI, 3] * IB[1, 1] result[2, colI] = _000 + _101 result[3, colI] = _200 + _301 result[4, colI] = _010 + _111 result[5, colI] = _210 + _311 result[0, colI] = -_000 - _101 - _010 - _111 result[1, colI] = -_200 - _301 - _210 - _311 return result Finally, Neo-Hookean energy value, gradient, and Hessian on the entire mesh can be computed as follows: Implementation 15.2.3 (Energy value, Gradient, and Hessian, NeoHookeanEnergy.py). def val(x, e, vol, IB, mu, lam): sum = 0.0 for i in range(0, len(e)): F = deformation_grad(x, e[i], IB[i]) sum += vol[i] * Psi(F, mu[i], lam[i]) return sum def grad(x, e, vol, IB, mu, lam): g = np.array([[0.0, 0.0]] * len(x)) for i in range(0, len(e)): F = deformation_grad(x, e[i], IB[i]) P = vol[i] * dPsi_div_dF(F, mu[i], lam[i]) g_local = dPsi_div_dx(P, IB[i]) for j in range(0, 3): g[e[i][j]] += g_local[j] return g def hess(x, e, vol, IB, mu, lam): IJV = [[0] * (len(e) * 36), [0] * (len(e) * 36), np.array([0.0] * (len(e) * 36))] for i in range(0, len(e)): F = deformation_grad(x, e[i], IB[i]) dP_div_dF = vol[i] * d2Psi_div_dF2(F, mu[i], lam[i]) local_hess = d2Psi_div_dx2(dP_div_dF, IB[i]) for xI in range(0, 3): for xJ in range(0, 3): for dI in range(0, 2): for dJ in range(0, 2): ind = i * 36 + (xI * 3 + xJ) * 4 + dI * 2 + dJ IJV[0][ind] = e[i][xI] * 2 + dI IJV[1][ind] = e[i][xJ] * 2 + dJ IJV[2][ind] = local_hess[xI * 2 + dI, xJ * 2 + dJ] return IJV","breadcrumbs":"Case Study: Inversion-free Elasticity* » Computing Energy, Gradient, and Hessian » Computing Energy, Gradient, and Hessian","id":"86","title":"Computing Energy, Gradient, and Hessian"},"87":{"body":"To guarantee non-inversion just like non-interpenetration (see Filter Line Search ) during the simulation, we can similarly filter the line search initial step size with a critical step size αI that first brings the volume of any triangles to 0. This can be obtained by solving a 1D equation per triangle: V(xi​+αIpi​)=0,(15.3.1) and taking the minimum of the solved step sizes. Here pi​ is the search direction of node i, and in 2D, Equation (15.3.1) is equivalent to: det([x21α​,x31α​])≡x21,1α​x31,2α​−x21,2α​x31,1α​=0(15.3.2) with xijα​=xij​+αIpij​ and xij​=xi​−xj​, pij​=pi​−pj​. Expanding Equation (15.3.2) we obtain: (x21,1​+αIp21,1​)(x31,2​+αIp31,2​)−(x21,2​+αIp21,2​)(x31,1​+αIp31,1​)=0, which can be reorganized as a quadratic equation of αI: det([p21​,p31​])(αI)2+(det([x21​,p31​])+det([p21​,x31​]))αI+det([x21​,x31​])=0. Here, note that det([p21​,p31​]) can be very tiny when the nodes do not move much or when their movement barely changes to triangle area in the current timestep, thus the equation can be degenerated into a linear one. To robustly detect this degenerate case, we cannot directly check whether det([p21​,p31​]) is 0 due to numerical errors. In fact, checking whether det([p21​,p31​]) is below an epsilon is still tricky, because the scale of det([p21​,p31​]) heavily depends on the scene dimension and nodal velocity during the simulation. Therefore, we use det([x21​,x31​]) as a scaling and obtain a scaled but equivalent equation: det([x21​,x31​])det([p21​,p31​])​(αI)2+det([x21​,x31​])det([x21​,p31​])+det([p21​,x31​])​αI+1=0,(15.3.3) where magnitude checks can be safely performed on any coefficients with unitless thresholds. In practice, we also need to allow some slackness so that the step size to be taken will not lead to an exactly 0 volume. Thus, we solve αI such that it first decreases the volume of any triangles by 90%, which can be realized by modifying the constant term coefficient in Equation (15.3.3) from 1 to 0.9: Implementation 15.3.1 (Filter line search, NeoHookeanEnergy.py). def init_step_size(x, e, p): alpha = 1 for i in range(0, len(e)): x21 = x[e[i][1]] - x[e[i][0]] x31 = x[e[i][2]] - x[e[i][0]] p21 = p[e[i][1]] - p[e[i][0]] p31 = p[e[i][2]] - p[e[i][0]] detT = np.linalg.det(np.transpose([x21, x31])) a = np.linalg.det(np.transpose([p21, p31])) / detT b = (np.linalg.det(np.transpose([x21, p31])) + np.linalg.det(np.transpose([p21, x31]))) / detT c = 0.9 # solve for alpha that first brings the new volume to 0.1x the old volume for slackness critical_alpha = utils.smallest_positive_real_root_quad(a, b, c) if critical_alpha > 0: alpha = min(alpha, critical_alpha) return alpha Here, if the equation does not have a positive real root, that means for this specific triangle, the step size can be taken arbitrarily large and it will not trigger inversion. The quadratic equation can be solved as Implementation 15.3.2 (Solve quadratic equation, utils.py). def smallest_positive_real_root_quad(a, b, c, tol = 1e-6): # return negative value if no positive real root is found t = 0 if abs(a) <= tol: if abs(b) <= tol: # f(x) = c > 0 for all x t = -1 else: t = -c / b else: desc = b * b - 4 * a * c if desc > 0: t = (-b - math.sqrt(desc)) / (2 * a) if t < 0: t = (-b + math.sqrt(desc)) / (2 * a) else: # desv<0 ==> imag, f(x) > 0 for all x > 0 t = -1 return t With scaled coefficients, we simply use a unitless threshold, e.g. \\code{1e-6}, to check for degeneracies. If no positive real roots are found, the function simply returns −1. Now as we filter the initial step size in addition to non-interpenetration: Implementation 15.3.3 (Apply filter, time_integrator.py). alpha = min(BarrierEnergy.init_step_size(x, n, o, p), NeoHookeanEnergy.init_step_size(x, e, p)) # avoid interpenetration, tunneling, and inversion and make sure all added data structures and modified functions are reflected in the time integrator, we can finally simulate the compressing square example from Moving Boundary Condition with guaranteed non-inversion (see Figure 15.3.1 ). Figure 15.3.1. A square is dropped onto the ground and compressed severely by a ceiling while maintaining inversion-free throughout the simulation. The ground has friction coefficient 0.11 so that the bottom of the square slides less than the top, where the ceiling has no friction.","breadcrumbs":"Case Study: Inversion-free Elasticity* » Filter Line Search for Non-Inversion » Filter Line Search for Non-Inversion","id":"87","title":"Filter Line Search for Non-Inversion"},"88":{"body":"We have successfully implemented an inversion-free 2D elasticity simulation by discretizing the Neo-Hookean model using linear triangle elements. By maintaining a linearly varying displacement field within each triangle, we can directly calculate a constant deformation gradient F for each triangle using both the material and world space coordinates of the vertices. This foundational setup facilitates the computation of the Neo-Hookean energy, as well as its gradient and Hessian with respect to x, by applying the chain rule. These calculations are essential for the optimization-based time integration discussed in previous lectures. To ensure the simulation remains free of both interpenetration and inversion, we adopt a similar strategy as previously described: the initial step size in the line search is determined by solving a quadratic equation for each triangle. This equation calculates a critical step size that reduces the triangle's volume by 90%. The smallest of these critical step sizes across all triangles is then used to initialize the line search, ensuring robustness against both non-interpenetration and non-inversion. In the upcoming chapter, we will delve into the derivation of the governing equations for hyperelastic solids, providing a detailed explanation of each step to further solidify understanding.","breadcrumbs":"Case Study: Inversion-free Elasticity* » Summary » Summary","id":"88","title":"Summary"},"89":{"body":"The update rules (refer to Equation (1.5.1) ) and the corresponding optimization problems (refer to Equation (2.1.1) ) utilized in solids simulation are derived by discretizing the conservation laws—our governing equations—from their continuous forms. This chapter will explore the derivation of both the strong and weak forms of these conservation laws. We will then discuss the methods for their temporal and spatial discretizations, which are essential for formulating the discrete problems we aim to solve. The fundamental governing equations central to our study are the conservation of mass and the conservation of momentum (Newton's Second Law). We will outline these equations below and provide detailed derivations later in this lecture. Definition 16.1 (Strong Form). Letting V(X,t)=∂t∂ϕ(X,t)​=∂t∂x(X,t)​ be the velocity defined over X, the equations are [Gonzalez & Stuart 2008] : R(X,t)J(X,t)=R(X,0)R(X,0)∂t∂V​(X,t)=∇X⋅P(X,t)+R(X,0)g​Conservation of mass,Conservation of momentum,​​ where X∈Ω0​ and t≥0. Here R is the mass density, J(X,t)=detF(X,t), P is the first Piola-Kirchoff stress, and g is the constant gravitational acceleration. Note that J(X,0)=1, and the mass conservation can also be written as ∂t∂​(R(X,t)J(X,t))=0. These equations are initially presented in their strong form. In this lecture, we will also derive the equivalent weak form of the force balance equation (conservation of momentum). The weak form reformulates the conservation law using integral expressions, which are crucial for the subsequent derivation of the temporal and spatial discretizations of the equations using the Finite Element Method.","breadcrumbs":"Strong and Weak Forms » Strong and Weak Forms","id":"89","title":"Strong and Weak Forms"},"9":{"body":"To convert our continuous-time system to a discrete form, we employ the forward difference approximation. In this approximation, the derivative \\((\\frac{\\mathbf{d} x}{\\mathbf{d} t})^n\\) is estimated as \\(\\frac{x^{n+1} - x^n}{\\Delta t}\\), and likewise, \\((\\frac{\\mathbf{d} v}{\\mathbf{d} t})^n\\) as \\(\\frac{v^{n+1} - v^n}{\\Delta t}\\). The superscript \\(n\\) represents the state variables at the \\(n\\)th timestep. Consequently, the discrete version of our system is expressed as: Δtxn+1−xn​MΔtvn+1−vn​​=vn,=fn.​(1.4.1) Assuming a constant mass over time, these equations provide a clear mechanism to update our state variables. Knowing the current values \\(x^n\\), \\(v^n\\), and \\(f^n\\) at timestep \\(n\\), we can directly determine their values at the next timestep, \\(n+1\\). Method 1.4.1 (Forward Euler Time Integration for Newton's Second Law). In the Forward Euler method, the state variables \\(x^{n+1}\\) and \\(v^{n+1}\\) at the next time step \\(n+1\\) are calculated based on the current values \\(x^n\\) and \\(v^n\\). The update rules are given by: xn+1vn+1​=xn+Δtvn,=vn+ΔtM−1fn.​(1.4.2) Here, \\(\\Delta t\\) represents the time step size, \\(M\\) is the mass matrix, and \\(f^n\\) is the force at the current time step \\(n\\). The forward Euler method is considered unconditionally unstable , implying that irrespective of the chosen small time step \\(\\Delta t\\), the numerical solution will eventually grow significantly ( explode ) for equations with nonconstant \\(f\\), while the exact solution remains unaffected (refer to Figure 1.4.1 , left).","breadcrumbs":"Discrete Space and Time » Explicit Time Integration » Forward Euler","id":"9","title":"Forward Euler"},"90":{"body":"We can think of the mass density R(X,t) to be naturally defined over Ω0 as R(X,t)=ϵ→+0lim​volume(Bϵt​)mass(Bϵt​)​=ϵ→+0lim​∫Bϵt​​dxmass(Bϵt​)​(16.1.1) where Bϵt​ is the world space counterpart of Bϵ0​ (the ball of radius ϵ surrounding an arbitrary X∈Ω0). This is arguably a natural definition since mass(Bϵt​) should be a measurable quantity. Conservation of mass can be expressed as mass(Bϵt​)=mass(Bϵ0​),∀ Bϵ0​⊂Ω0 and t≥0.(16.1.2) Now, with a change of variables, we have ∫Bϵt​​dx=∫Bϵ0​​J(X,t)dX, so Equation (16.1.1) becomes R(X,t)=ϵ→+0lim​∫Bϵ0​​J(X,t)dXmass(Bϵt​)​,(16.1.3) and so R(X,0)=ϵ→+0lim​∫Bϵ0​​dXmass(Bϵ0​)​(16.1.4) since J(X,0)=1. Then combining Equations (16.1.2) , (16.1.3) , and (16.1.4) , we can express the conservation of mass as ∫Bϵ0​​R(X,t)J(X,t)dX=∫Bϵ0​​R(X,0)dX,∀ Bϵ0​⊂Ω0 and t≥0. This just says that the mass in Bϵt​ (as expressed via an integral of the mass density) should not change with time. This set is associated with a subset of the material at time t and as it evolves in the flow, the material will take up more or less space, but there will always be the same amount (mass) of material in the set. Since Bϵ0​ is arbitrary, it must be true that R(X,t)J(X,t)=R(X,0),∀ X∈Ω0 and t≥0. Remark 16.1.1 (Lagrangian and Eulerian Views). In simulation methods that discretize and track materials directly based on Ω0, conservation of mass is inherently satisfied. For instance, in our Finite Element Method (FEM) simulator, Ω0 is segmented into triangles, with the mass of each triangle remaining constant regardless of deformation throughout the simulation. This approach is known as the Lagrangian method . In contrast, Eulerian methods discretize and evolve physical quantities based on Ωt and often need to specially deal with mass conservation.","breadcrumbs":"Strong and Weak Forms » Conservation of Mass » Conservation of Mass","id":"90","title":"Conservation of Mass"},"91":{"body":"In the continuous setting, forces are categorized into body forces (also known as external forces, such as gravity) and surface forces (or internal forces, typically stress-based, like those arising from elasticity). We define stress-based forces through a traction field, whose existence is assumed. The traction, or force per unit area, is represented by the field T(⋅,N,t):Ω0→Rd and is defined by the equation: forceS​(Bϵ0​)=∫∂Bϵ0​​T(X,N(X))ds(X), where N represents the outward-pointing normal direction in the material space. Here, forceS​(Bϵ0​) denotes the net force exerted from the material outside ∂Bϵ0​ on the material inside Bϵ0​ through their interface. The function T(X,N,t) quantifies the force per unit area (d=3) or length (d=2) that material on the N+ side exerts at point X on material on the N− side. It can be shown that this implies the existence of a stress field (first Piola-Kirchoff stress) P(⋅,t):Ω0→Rd×d with: T(X,N,t)=P(X,t)N. Then, by applying Newton's second law on Bϵ0​, we can express the conservation of momentum as: =​∫Bϵ0​​R(X,0)∂t∂V​(X,t)dX∫∂Bϵ0​​P(X,t)N(X)ds(X)+∫Bϵ0​​R(X,0)Aext(X,t)dX,​(16.2.1) for all Bϵ0​⊂Ω0 and t≥0. Applying the divergence theorem, we can transform the boundary integral in Equation (16.2.1) into a volume integral and obtain: =​∫Bϵ0​​R(X,0)∂t∂V​(X,t)dX∫Bϵ0​​∇X⋅P(X,t)dX+∫Bϵ0​​R(X,0)Aext(X,t)dX,​(16.2.2) for all Bϵ0​⊂Ω0 and t≥0. Definition 16.2.1 (Divergence Theorem for Vectors). For a vector-valued function f(x):Ω→Rd defined on a closed domain Ω, let n(x) be the outward-pointing normal on the boundary of this domain, the following equality holds: ∫∂Ω​f⋅nds(x)=∫Ω​∇⋅fdx. This theorem allows us to conveniently transform between boundary and volume integrals. Here the divergence operator ∇⋅ acts on every row vector of P independently and results in a column vector: (∇X⋅P)i​=∑j​Pij,j​. Since Equation (16.2.2) also holds for arbitrary Bϵ0​, we arrive at the strong form of the force balance equation by removing the integration: R(X,0)∂t∂V​(X,t)=∇X⋅P(X,t)+R(X,0)Aext(X,t),∀ X∈Ω0 and t≥0.​(16.2.3) Remark 16.2.1 (Momentum Conservation in Solid Simulation). Conservation of momentum is the primary governing equation we use to simulate solids. As discussed previously, both the acceleration, denoted by ∂t∂V​(X,t), and the internal force, expressed as ∇X⋅P(X,t), can be described using world space coordinates x. With all other relevant quantities established, we incrementally solve for x to get dynamic motions step by step.","breadcrumbs":"Strong and Weak Forms » Conservation of Momentum » Conservation of Momentum","id":"91","title":"Conservation of Momentum"},"92":{"body":"First, since the external force term R(X,0)Aext(X,t) resembles a lot to the time derivative of the momentum on the left-hand side, we will ignore it during the derivation for simplicity. Then, for an arbitrary test function Q(⋅,t):Ω0→Rd, let's compute the dot product to both sides of Equation (16.2.3) and integrate over Ω0 to generate the weak form: =​∫Ω0​R(X,0)Q(X,t)⋅A(X,t)dX∫Ω0​Q(X,t)⋅(∇X⋅P(X,t))dX,∀ Q(⋅,t):Ω0→Rd and t≥0.​(16.3.1) Here we denote A(X,t)=∂t∂V​(X,t). Without going into details on finite element analysis, we claim that the weak form is sufficiently equivalent to the strong form since Equation (16.3.1) is required to hold for arbitrary Q(⋅,t), and solving the weak form provides us a solution that is a \"good enough\" soution to the original problem. With index notation where Ai​ means the i-th component of vector-valued function A:Ω0→Rd, and Ai,j​ means ∂Xj​∂Ai​​, we can rewrite Equation (16.3.1) as ∫Ω0​R(X,0)i∑​Qi​(X,t)Ai​(X,t)dX=∫Ω0​i∑​Qi​(X,t)j∑​Pij,j​(X,t)dX.(16.3.2) If we further omit the summation symbol and let the repetitive subscripts represent summation (this is known as Einstein notation), we obtain ∫Ω0​R(X,0)Qi​(X,t)Ai​(X,t)dX=∫Ω0​Qi​(X,t)Pij,j​(X,t)dX.(16.3.3) Now applying Integration By Parts on the right-hand side, we can rewrite Equation (16.3.3) as ​∫Ω0​R(X,0)Qi​(X,t)Ai​(X,t)dX=∫Ω0​(∇⋅(Qi​(X,t)Pi​(X,t))−∇Qi​(X,t)⋅Pi​(X,t))dX=∫Ω0​((Qi​(X,t)Pij​(X,t)),j​−Qi,j​(X,t)Pij​(X,t))dX.​(16.3.4) Definition 16.3.1 (Integration By Parts). For a scalar-valued function u(x) and a vector-valued function (vector field) V(x), the product rule for divergence states that: ∇⋅(u(x)V(x))=u(x)∇⋅V(x)+∇u(x)⋅V(x). Integrating both sides on domain Ω then gives: ∫Ω​∇⋅(u(x)V(x))dx=∫Ω​u(x)∇⋅V(x)dx+∫Ω​∇u(x)⋅V(x)dx. Then if we further apply the divergence theorem on the first part of the right-hand side of Equation (16.3.4) , we obtain ​∫Ω0​R(X,0)Qi​(X,t)Ai​(X,t)dX=∫∂Ω0​Qi​(X,t)Pij​(X,t)Nj​(X)ds(X)−∫Ω0​Qi,j​(X,t)Pij​(X,t)dX.​(16.3.5) The quantity Pij​Nj​ would be specified as a boundary condition. If we let T(X,t) be the boundary force per unit reference area (traction) with Ti​=Pij​Nj​, then we can say that the conservation of momentum implies that ∀Q(⋅,t):Ω0→Rd ​∫Ω0​R(X,0)Qi​(X,t)Ai​(X,t)dX=∫∂Ω0​Qi​(X,t)Ti​(X,t)ds(X)−∫Ω0​Qi,j​(X,t)Pij​(X,t)dX.​(16.3.6) This is momentum conservation's weak form written in Ω0. Remark 16.3.1 (Why Weak Form). In finite element method (FEM) for solids, conservation of momentum is formulated in the weak form rather than directly discretizing the strong form due to specific advantages. The strong form requires the displacement field and its derivatives to be continuously differentiable across the entire domain, which is difficult to achieve in practical scenarios involving complex geometries or material discontinuities. On the other hand, the weak form only requires the displacement field itself to be continuous, relaxing the need for continuous derivatives. This makes the weak form more adaptable to irregular mesh geometries and better suited for incorporating boundary conditions and handling interface problems. The weak form's integration-based approach reduces the sensitivity to local irregularities, making it more stable and robust for numerical computation in solid mechanics. Thus, while the strong form provides a direct representation of physical laws, its direct discretization is less practical for the computational demands and complexities typical in FEM analyses.","breadcrumbs":"Strong and Weak Forms » Weak Form » Weak Form","id":"92","title":"Weak Form"},"93":{"body":"In this lecture, we derived the strong forms of the governing equations—conservation of mass and conservation of momentum—focusing on an infinitesimal region within the simulation domain. The conservation of momentum equation was transformed from surface to volume integrals using the divergence theorem. For Lagrangian simulation methods, such as FEM solid simulation, which discretize and monitor physical quantities based on the material space Ω0, the conservation of mass is inherently maintained. We then progressed to deriving the weak form of conservation of momentum. This involved integrating the dot product between the momentum terms and an arbitrary test function. The weak form is effectively equivalent to the strong form because the integral equation must satisfy any arbitrary test function. Techniques such as integration by parts and the application of the divergence theorem were essential in this derivation. In our next lecture, we will discretize the weak form both temporally and spatially, further refining our approach to solve the discrete problems examined in our case studies.","breadcrumbs":"Strong and Weak Forms » Summary » Summary","id":"93","title":"Summary"},"94":{"body":"In this lecture, we will discretize the weak form of the momentum conservation equation (temporarily ignoring body forces) in both space and time to reach the discrete form—a system of equations introduced in the first lecture . We will begin by focusing on a specific point in time, t=tn. From the weak form of the momentum conservation equation (Equation (16.3.6) ), we have: ​∫Ω0​R0(X)Qin​(X)Ain​(X)dX=∫∂Ω0​Qin​(X)Tin​(X)ds(X)−∫Ω0​Qi,jn​(X)Pijn​(X)dX,​(17.1) for arbitrary Qn(X), where the superscript n denotes quantities measured at t=tn. Here: R and T are specified by the simulation setup, P can be calculated from the degrees of freedom x via a constitutive law, A=∂t2∂2x​ is the second-order time derivative of x, and Q is an arbitrary vector field.","breadcrumbs":"Discretization of Weak Forms » Discretization of Weak Forms","id":"94","title":"Discretization of Weak Forms"},"95":{"body":"To enable numerical evaluation of the integrals in the weak form, the first step is to discretize the smooth vector fields x and Q. This allows them to be represented by a finite set of samples, along with appropriate interpolation functions. Example 17.1.1 (1D Function Interpolation). In 1D, to approximate a function f(x) using three sample points x1​=1, x2​=2, x3​=3 ( Figure 17.1.1 ), we can use interpolation functions Ni​(x)=1−∣x−xi​∣ and form f(x)≈∑i​f(xi​)Ni​(x). Figure 17.1.1. With interpolation functions N1​(x), N2​(x), N3​(x) and sample points x1​=1, x2​=2, x3​=3, a function f(x) can be approximated as ∑i​f(xi​)Ni​(x). Given a set of sample points indexed by a or b in the simulation domain, we can approximate the test function Q and the DOF x as: Qi​(X,tn)xi​(X,tn)​≈a∑​Qa∣i​(tn)Na​(X)=a∑​Qa∣in​Na​(X),≈b∑​xb∣i​(tn)Nb​(X)=b∑​xb∣in​Nb​(X),​ where Qa∣in​=Qa∣i​(tn) refers to the i-th dimension of Q evaluated at sample point a at time tn, and Na​(X):Ω0→R is the interpolation function at sample point a. In this way, we similarly have: Ai​(X,tn)≈b∑​Ab∣i​(tn)Nb​(X)=b∑​Ab∣in​Nb​(X).(17.1.1) Plugging these discretizations into the weak form (Equation (17.1) ) and expressing summations with the index notation, we obtain: ​∫Ω0​R(X,0)Qa∣in​Na​(X)Ab∣in​Nb​(X)dX=∫∂Ω0​Qa∣in​Na​(X)Ti​(X,tn)ds(X)−∫Ω0​Qa∣in​Na,j​(X)Pij​(X,tn)dX.​ On the left-hand side, we see that the sample values Qa∣in​ and Ab∣in​ are in fact independent of X, so we can move them out of the integral and obtain: ​Mab​Qa∣in​Ab∣in​=∫∂Ω0​Qa∣in​Na​(X)Ti​(X,tn)ds(X)−∫Ω0​Qa∣in​Na,j​(X)Pij​(X,tn)dX​ where Mab​=∫Ω0​R(X,0)Na​(X)Nb​(X)dX(17.1.2) is the mass matrix. Remark 17.1.1 (Mass Matrix Properties). The mass matrix M (Equation (17.1.2) ) is symmetric and positive semi-definite because it can be expressed as: ∫Ω0​BBTdX, where Bi​=R(X,0)​Ni​(X). Thus, for any vector z, zTMz=∫Ω0​(zTB)2dX≥0. In practice, this mass matrix may be singular. To address this, we typically use a \"mass lumping\" strategy to approximate the mass matrix with a diagonal and positive definite form. This is achieved by summing each row and defining: Mablump​=δab​c∑​Mac​. After spatial discretization, the solution of the weak form (Equation (17.1) ) is confined to d n-dimensional function spaces, where n represents the number of sample points, assuming all interpolation functions are mutually orthogonal. This means that there could be continuous solutions to the weak form outside of our solution space. In such cases, we can only provide an approximate solution based on the chosen sample points and interpolation functions. Definition 17.1.1 (Orthogonal Functions). Similar to the orthogonality of two vectors a and b, defined as aTb=0, the orthogonality of two functions f(x) and g(x) is defined as: ∫f(x)g(x)dx=0. Just as a basis of vectors can span a finite-dimensional space, orthogonal functions can form an infinite basis for a function space. Conceptually, the integral above is analogous to a vector dot product. That being said, to generate equations solvable for the unknowns, the arbitrary test function Q does not need to cover all possibilities to produce an infinite number of equations. Instead, we only need to produce a finite set of equations that spans the entire solution space. Therefore, for a^ traversing all sample points, and i^=1,2,…,d, we can assign the test function: Qa∣in​={1,0,​a=a^ and i=i^otherwise​ to obtain nd equations: Ma^b​Ab∣i^n​=∫∂Ω0​Na^​(X)Ti^​(X,tn)ds(X)−∫Ω0​Na^,j​(X)Pi^j​(X,tn)dX,(17.1.3) resulting in nd unknowns and nd equations, bringing us closer to the discrete form. The two integrals on the right side of Equation (17.1.3) can be evaluated analytically or using quadrature rules, depending on the specific choice of interpolation functions. We will discuss these in detail in future lectures.","breadcrumbs":"Discretization of Weak Forms » Discrete Space » Discrete Space","id":"95","title":"Discrete Space"},"96":{"body":"Discretization in time links A to our degrees of freedom (DOF) x. In the continuous setting, A(X,t)=∂t2∂2x​(X,t). Now, let us divide time into small intervals, t0,t2,…,tn,…, as discussed in the first chapter. Using the finite difference formula, we can conveniently approximate A in terms of x. For example, with backward Euler: An(X)Vn(X)​=tn−tn−1Vn(X)−Vn−1(X)​,=tn−tn−1xn(X)−xn−1(X)​,​ which gives us: An(X)=Δt2xn(X)−(xn−1(X)+hVn−1(X))​, where Δt=tn−tn−1. Applying this relation at the sample points into Equation (17.1.3) , we obtain: ​Ma^b​Δt2xb∣i^n​−(xb∣i^n−1​+hVb∣i^n−1​)​=∫∂Ω0​Na^​(X)Ti^​(X,tn)ds(X)−∫Ω0​Na^,j​(X)Pi^j​(X,tn)dX.​(17.2.1) Then, by applying mass lumping and zero traction boundary conditions, i.e., T(X,t)=0, we finally see that Equation (17.2.1) is the (a^d+i^)-th row of the discrete form of backward Euler time integration in the first lecture : M(xn+1−(xn+Δtvn))−Δt2f(xn+1)=0, where the elasticity force f(x) is obtained by evaluating: −∫Ω0​Na^,j​(X)Pi^j​(X,t)dX, which will be discussed in the next chapter.","breadcrumbs":"Discretization of Weak Forms » Discrete Time » Discrete Time","id":"96","title":"Discrete Time"},"97":{"body":"In this lecture, we discretized the weak form of momentum conservation in both space and time, arriving at the system of equations for backward Euler time integration introduced in the first lecture . Spatial Discretization: For spatial discretization, a finite number of points are sampled within the domain, and their displacements are used as the degrees of freedom (DOF) of the simulation. With the interpolation function associated with each DOF, the displacement at any point in the domain can be approximated, limiting the solution of the weak form to d n-dimensional function spaces formed by mutually orthogonal interpolation functions, where n represents the number of sample points. In this way, the test function Q can be conveniently assigned to generate nd equations for solving the nd unknowns. Temporal Discretization: The discretization of time connects the acceleration A to the DOF x via specific time integration rules. By applying mass lumping and assuming zero traction boundary conditions, we can ultimately derive the discrete form. The integration of interpolation functions will be covered in the next chapter. In the next lecture, we will discuss boundary conditions and frictional contact in the continuous setting.","breadcrumbs":"Discretization of Weak Forms » Summary » Summary","id":"97","title":"Summary"},"98":{"body":"Until now, we've omitted the Dirichlet boundary conditions and frictional contact in both the strong and weak forms of the governing equations to keep the derivations concise and straightforward. However, as we learned in the Boundary Treatments chapter, this boundary information is crucial for accurately simulating a wide range of solid dynamics.","breadcrumbs":"Boundary Conditions and Frictional Contact » Boundary Conditions and Frictional Contact","id":"98","title":"Boundary Conditions and Frictional Contact"},"99":{"body":"In the weak form we derived (see Equation (16.3.6) ), there is a boundary term ∫∂Ω0​Qi​(X,t)Ti​(X,t)ds(X) that describes the force acting on the boundary of the solid from the outside. If there are no Dirichlet boundary conditions, the entire boundary is handled using Neumann Boundary Conditions , where the boundary force is specified as part of the problem setup. Recall that we discussed the Dirichlet Boundary Condition , where the displacements of the boundary are directly prescribed. In practice, external forces act on the Dirichlet boundaries to ensure their displacements precisely match the prescribed values, and these forces are calculated directly from those displacements. In a solid simulation problem, boundaries can be either a Dirichlet boundary or a Neumann boundary, which can be described by a more general problem formulation in strong form: R(X,0)∂t∂V​(X,t)=∇X⋅P(X,t)+R(X,0)Aext(X,t),∀X∈Ω0 and t≥0;x=xD​(X,t),∀X∈ΓD​ and t≥0;P(X,t)N(X)=TN​(X,t),∀X∈ΓN​ and t≥0.​​(18.1.1) Here ΓN​ and ΓD​ are the Neumann and Dirichlet boundaries respectively, ΓN​∪ΓD​=∂Ω0​, ΓN​∩ΓD​=∅, and xD​ and TN​ are given. After we derive the weak form of the momentum conservation (see Equation (18.1.1) , first line), the boundary term ∫∂Ω0​Qi​(X,t)Ti​(X,t)ds(X) can be separately considered for Dirichlet and Neumann boundaries: ∫∂Ω0​Qi​(X,t)Ti​(X,t)ds(X)=∫ΓD​​Qi​(X,t)TD∣i​(X,t)ds(X)+∫ΓN​​Qi​(X,t)TN∣i​(X,t)ds(X).​ For Neumann boundaries, since the traction TN​(X,t) is provided, the above integral can be directly evaluated after discretization. However, for Dirichlet boundaries, TD​(X,t) remains unknown until we solve the problem. Therefore, a straightforward approach is to introduce the traction at Dirichlet boundaries as unknowns and solve the system that includes both the discretized weak form equations and the Dirichlet boundary conditions. Remark 18.1.1 (Optimization Form). In the optimization form , the potential energy does not include any Dirichlet boundaries, effectively ignoring the boundary integral in the weak form. This is valid because the Dirichlet boundary conditions will be enforced by the linear equality constraints, and the corresponding discretized weak form equation will be overwritten.","breadcrumbs":"Boundary Conditions and Frictional Contact » Incorporating Boundary Conditions » Incorporating Boundary Conditions","id":"99","title":"Incorporating Boundary Conditions"}},"length":143,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{",":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"1":{",":{"2":{",":{"\\":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"]":{",":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"105":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"129":{"tf":1.0},"21":{"tf":1.0},"53":{"tf":1.0}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":2.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"α":{"df":0,"docs":{},"j":{"df":0,"docs":{},"k":{"c":{"df":0,"docs":{},"​":{")":{".":{"(":{"8":{".":{"2":{".":{"1":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"⊂":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}}}}},"−":{"0":{".":{"5":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},".":{"0":{"0":{"4":{"df":1,"docs":{"29":{"tf":1.0}}},"5":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"1":{"df":3,"docs":{"117":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0}}},"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":13,"docs":{"118":{"tf":1.4142135623730951},"131":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"35":{"tf":1.7320508075688772},"54":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"67":{"tf":2.23606797749979},"85":{"tf":1.4142135623730951},"86":{"tf":3.1622776601683795}}},"1":{"1":{"df":2,"docs":{"63":{"tf":2.0},"87":{"tf":1.0}}},"df":4,"docs":{"117":{"tf":1.0},"120":{"tf":1.4142135623730951},"29":{"tf":1.0},"63":{"tf":1.7320508075688772}},"x":{"df":2,"docs":{"120":{"tf":1.0},"87":{"tf":1.0}}}},"2":{"df":1,"docs":{"63":{"tf":1.7320508075688772}}},"4":{"5":{"df":1,"docs":{"117":{"tf":1.0}}},"df":4,"docs":{"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"126":{"tf":1.0},"85":{"tf":1.0}}},"5":{"df":8,"docs":{"117":{"tf":1.0},"119":{"tf":1.7320508075688772},"125":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"67":{"tf":1.4142135623730951},"85":{"tf":1.0}}},"6":{"df":1,"docs":{"67":{"tf":1.7320508075688772}}},"7":{"df":1,"docs":{"117":{"tf":1.0}}},"8":{"df":1,"docs":{"131":{"tf":1.0}}},"9":{"\\":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":4,"docs":{"54":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"0":{"df":0,"docs":{},"​":{"0":{"0":{"df":0,"docs":{},"​":{"1":{"0":{"df":0,"docs":{},"​":{"0":{"1":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"[":{"1":{"2":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":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":{"106":{"tf":1.0},"107":{"tf":1.0},"118":{"tf":2.0},"120":{"tf":1.7320508075688772},"125":{"tf":1.0},"126":{"tf":1.0},"131":{"tf":2.8284271247461903},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":2.6457513110645907},"21":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951},"27":{"tf":2.0},"28":{"tf":1.0},"29":{"tf":2.23606797749979},"33":{"tf":1.0},"34":{"tf":2.23606797749979},"35":{"tf":1.0},"38":{"tf":1.0},"45":{"tf":1.4142135623730951},"49":{"tf":2.23606797749979},"52":{"tf":2.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.23606797749979},"58":{"tf":1.4142135623730951},"62":{"tf":3.0},"63":{"tf":3.0},"67":{"tf":2.6457513110645907},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"85":{"tf":2.449489742783178},"86":{"tf":6.708203932499369},"87":{"tf":3.1622776601683795},"90":{"tf":1.7320508075688772},"92":{"tf":1.4142135623730951},"93":{"tf":1.0}},"​":{"1":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"3":{"df":1,"docs":{"38":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{"b":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"x":{"df":1,"docs":{"95":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"a":{"^":{",":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"^":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"d":{"df":0,"docs":{},"x":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{")":{"d":{"df":0,"docs":{},"x":{"=":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"a":{"^":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{")":{"df":0,"docs":{},"i":{"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":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":{}}}},"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"^":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{")":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{")":{"(":{"2":{"0":{".":{"1":{"df":1,"docs":{"109":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"99":{"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":{}}}},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"q":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"⋅":{"a":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"d":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"q":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"⋅":{"(":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{")":{"d":{"df":0,"docs":{},"x":{"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":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{")":{"d":{"df":0,"docs":{},"x":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"1":{",":{"2":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},".":{"0":{".":{"0":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}},"df":7,"docs":{"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"131":{"tf":2.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"67":{"tf":2.23606797749979},"86":{"tf":1.4142135623730951}}},"1":{".":{"1":{"df":1,"docs":{"5":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"117":{"tf":1.0}}},"2":{".":{"1":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":3,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"29":{"tf":1.0}}},"5":{".":{"1":{"df":4,"docs":{"11":{"tf":1.7320508075688772},"20":{"tf":1.0},"21":{"tf":1.0},"89":{"tf":1.0}}},"2":{"df":2,"docs":{"11":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"/":{"2":{"df":1,"docs":{"134":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"0":{",":{"2":{"0":{"1":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"1":{".":{"1":{"df":1,"docs":{"62":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"62":{"tf":1.0}}},"3":{"df":1,"docs":{"62":{"tf":1.0}}},"4":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":1,"docs":{"63":{"tf":2.449489742783178}}},"2":{"df":1,"docs":{"63":{"tf":1.0}}},"3":{"df":1,"docs":{"63":{"tf":1.0}}},"4":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"df":2,"docs":{"117":{"tf":1.0},"29":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"1":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":2,"docs":{"52":{"tf":1.0},"67":{"tf":1.4142135623730951}},"−":{"6":{"df":2,"docs":{"131":{"tf":1.0},"82":{"tf":1.0}}},"df":0,"docs":{}}},"1":{".":{"1":{".":{"1":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"0":{"df":1,"docs":{"67":{"tf":1.0}}},"1":{"df":1,"docs":{"67":{"tf":1.0}}},"df":1,"docs":{"67":{"tf":2.0}}},"2":{"df":1,"docs":{"67":{"tf":1.0}}},"3":{"df":1,"docs":{"67":{"tf":1.0}}},"4":{"df":1,"docs":{"67":{"tf":1.0}}},"5":{"df":1,"docs":{"67":{"tf":1.0}}},"6":{"df":1,"docs":{"67":{"tf":1.0}}},"7":{"df":1,"docs":{"67":{"tf":1.0}}},"8":{"df":1,"docs":{"67":{"tf":1.0}}},"9":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"81":{"tf":1.0}}},"2":{".":{"1":{".":{"1":{"df":2,"docs":{"70":{"tf":1.7320508075688772},"71":{"tf":1.0}}},"2":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":2,"docs":{"71":{"tf":2.0},"85":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{".":{"1":{"df":2,"docs":{"74":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"2":{"df":3,"docs":{"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"80":{"tf":1.0}}},"3":{"df":1,"docs":{"74":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"74":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"74":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":1,"docs":{"75":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{".":{"1":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":1,"docs":{"80":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{".":{"1":{".":{"1":{"df":2,"docs":{"107":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"85":{"tf":1.0}}},"3":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":1,"docs":{"86":{"tf":1.0}}},"2":{"df":1,"docs":{"86":{"tf":1.0}}},"3":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"87":{"tf":2.0}}},"2":{"df":1,"docs":{"87":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{".":{"1":{".":{"1":{"df":1,"docs":{"90":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"90":{"tf":1.0}}},"3":{"df":1,"docs":{"90":{"tf":1.0}}},"4":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"89":{"tf":1.0}}},"2":{".":{"1":{"df":1,"docs":{"91":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"91":{"tf":1.0}}},"3":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"92":{"tf":2.0}}},"3":{"df":1,"docs":{"92":{"tf":1.0}}},"4":{"df":1,"docs":{"92":{"tf":1.0}}},"6":{"df":2,"docs":{"94":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"27":{"tf":2.0}}},"7":{".":{"1":{".":{"1":{"df":2,"docs":{"105":{"tf":1.4142135623730951},"95":{"tf":2.23606797749979}}},"2":{"df":1,"docs":{"95":{"tf":1.0}}},"3":{"df":2,"docs":{"95":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"95":{"tf":1.4142135623730951}}},"2":{".":{"1":{"df":2,"docs":{"105":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"117":{"tf":1.0}}},"8":{".":{"1":{".":{"1":{"df":1,"docs":{"99":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":2,"docs":{"100":{"tf":1.0},"101":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"101":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"101":{"tf":1.0}}},"3":{"df":1,"docs":{"101":{"tf":1.0}}},"4":{"df":1,"docs":{"101":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"134":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"2":{"df":1,"docs":{"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{".":{"1":{".":{"1":{"df":1,"docs":{"105":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":3,"docs":{"104":{"tf":1.0},"107":{"tf":1.0},"115":{"tf":1.0}}},"3":{".":{"1":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"]":{")":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"24":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"d":{"df":4,"docs":{"131":{"tf":1.0},"57":{"tf":1.0},"87":{"tf":1.0},"95":{"tf":1.4142135623730951}}},"df":38,"docs":{"101":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"117":{"tf":1.7320508075688772},"118":{"tf":2.6457513110645907},"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"125":{"tf":1.7320508075688772},"126":{"tf":2.449489742783178},"129":{"tf":1.0},"131":{"tf":1.7320508075688772},"140":{"tf":1.0},"15":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"25":{"tf":4.47213595499958},"27":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"29":{"tf":2.8284271247461903},"32":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951},"35":{"tf":2.23606797749979},"4":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.7320508075688772},"47":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":2.23606797749979},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"67":{"tf":4.0},"81":{"tf":1.4142135623730951},"82":{"tf":2.23606797749979},"85":{"tf":5.196152422706632},"86":{"tf":6.48074069840786},"87":{"tf":2.23606797749979}},"e":{"5":{"df":5,"docs":{"117":{"tf":1.0},"29":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"85":{"tf":1.0}}},"df":4,"docs":{"29":{"tf":1.0},"63":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0}}},"}":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"29":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"​":{"+":{"df":0,"docs":{},"β":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"≤":{"1":{"df":1,"docs":{"134":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"0":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"⊂":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ω":{"0":{"df":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}}}}},"−":{"df":0,"docs":{},"β":{")":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"+":{"df":0,"docs":{},"β":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"+":{"1":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"λ":{")":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"≤":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":0,"docs":{},"≤":{"d":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"2":{"(":{"1":{"+":{"df":0,"docs":{},"ν":{")":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"λ":{"=":{"(":{"1":{"+":{"df":0,"docs":{},"ν":{")":{"(":{"1":{"df":0,"docs":{},"−":{"2":{"df":0,"docs":{},"ν":{")":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"o":{"c":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"^":{"(":{"df":0,"docs":{},"j":{"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"0":{"df":3,"docs":{"118":{"tf":3.1622776601683795},"131":{"tf":2.0},"63":{"tf":1.0}}},"1":{".":{"1":{"df":3,"docs":{"14":{"tf":1.4142135623730951},"20":{"tf":1.0},"89":{"tf":1.0}}},"2":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":1,"docs":{"15":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":4,"docs":{"16":{"tf":2.0},"17":{"tf":1.0},"48":{"tf":1.0},"66":{"tf":1.0}}},"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{",":{"0":{"0":{"0":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"0":{"2":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"1":{".":{"1":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"113":{"tf":1.0}}},"2":{".":{"1":{"df":1,"docs":{"113":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"113":{"tf":1.0}}},"3":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"4":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"82":{"tf":1.0}}},"8":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"89":{"tf":1.0}}},"df":1,"docs":{"29":{"tf":1.0}}},"1":{"2":{"df":4,"docs":{"142":{"tf":1.4142135623730951},"76":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.4142135623730951}}},"5":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"81":{"tf":1.0}}},"6":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"5":{"tf":1.0}}},"8":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"76":{"tf":1.0}}},"df":0,"docs":{}},"2":{"0":{"df":3,"docs":{"134":{"tf":1.0},"142":{"tf":1.4142135623730951},"58":{"tf":1.0}}},"1":{"df":2,"docs":{"120":{"tf":1.0},"142":{"tf":1.4142135623730951}}},"2":{"df":4,"docs":{"142":{"tf":2.449489742783178},"41":{"tf":1.0},"79":{"tf":1.0},"81":{"tf":1.0}}},"3":{"df":2,"docs":{"114":{"tf":1.0},"142":{"tf":1.4142135623730951}}},"4":{"/":{"5":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{".":{"1":{".":{"1":{"df":1,"docs":{"117":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":2,"docs":{"118":{"tf":1.4142135623730951},"134":{"tf":1.0}}},"2":{"df":1,"docs":{"118":{"tf":1.0}}},"3":{"df":1,"docs":{"118":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":2,"docs":{"119":{"tf":1.0},"124":{"tf":1.0}}},"2":{"df":1,"docs":{"119":{"tf":1.0}}},"3":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"df":1,"docs":{"120":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"120":{"tf":1.0}}},"3":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"101":{"tf":1.4142135623730951},"113":{"tf":1.0},"123":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"f":{"+":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"i":{"df":1,"docs":{"74":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"2":{".":{"2":{".":{"1":{"df":2,"docs":{"124":{"tf":1.0},"125":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"125":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"126":{"tf":2.0}}},"2":{"df":1,"docs":{"126":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"126":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"3":{".":{"1":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"81":{"tf":1.0}}},"4":{".":{"1":{".":{"1":{"df":2,"docs":{"134":{"tf":1.7320508075688772},"140":{"tf":1.0}}},"2":{"df":2,"docs":{"134":{"tf":1.0},"140":{"tf":1.0}}},"3":{"df":1,"docs":{"134":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"5":{"df":3,"docs":{"29":{"tf":2.0},"62":{"tf":1.0},"85":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"6":{"df":1,"docs":{"117":{"tf":1.0}}},"7":{"df":2,"docs":{"117":{"tf":1.0},"131":{"tf":1.0}}},"8":{"df":1,"docs":{"117":{"tf":1.0}}},"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"35":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"d":{"df":38,"docs":{"104":{"tf":1.0},"105":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"117":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":2.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.7320508075688772},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"30":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"5":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.4142135623730951},"73":{"tf":1.0},"82":{"tf":1.4142135623730951},"85":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0}}},"df":31,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":1.7320508075688772},"118":{"tf":2.23606797749979},"119":{"tf":3.0},"125":{"tf":1.4142135623730951},"126":{"tf":2.0},"13":{"tf":1.0},"140":{"tf":1.0},"25":{"tf":1.7320508075688772},"26":{"tf":3.0},"27":{"tf":4.0},"28":{"tf":2.0},"29":{"tf":1.7320508075688772},"32":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":2.449489742783178},"45":{"tf":1.4142135623730951},"5":{"tf":1.0},"54":{"tf":2.449489742783178},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":2.6457513110645907},"63":{"tf":2.23606797749979},"66":{"tf":1.0},"67":{"tf":4.47213595499958},"81":{"tf":1.4142135623730951},"85":{"tf":2.0},"86":{"tf":4.898979485566356},"87":{"tf":1.4142135623730951}},"n":{"d":{"df":3,"docs":{"106":{"tf":1.0},"119":{"tf":1.0},"69":{"tf":1.0}}},"df":0,"docs":{}},"x":{"df":1,"docs":{"32":{"tf":1.0}}},"×":{"2":{"df":2,"docs":{"71":{"tf":1.0},"82":{"tf":1.0}}},"df":0,"docs":{}},"κ":{"df":0,"docs":{},"m":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"^":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"2":{".":{"(":{"1":{"1":{".":{"1":{".":{"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":{}}}}}}}}}}}}}},"​":{"3":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"4":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"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":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}}}}}},"3":{".":{"0":{"df":3,"docs":{"131":{"tf":2.23606797749979},"62":{"tf":2.0},"63":{"tf":1.4142135623730951}}},"1":{".":{"1":{"df":1,"docs":{"20":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":2,"docs":{"21":{"tf":2.0},"53":{"tf":1.0}}},"2":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":3,"docs":{"22":{"tf":2.6457513110645907},"28":{"tf":1.4142135623730951},"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"df":1,"docs":{"86":{"tf":2.0}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"d":{"df":20,"docs":{"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":2.0},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":2.0},"134":{"tf":2.0},"135":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.7320508075688772},"141":{"tf":1.7320508075688772},"142":{"tf":1.0},"29":{"tf":1.0},"42":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"5":{"tf":2.0},"69":{"tf":1.0},"71":{"tf":1.4142135623730951},"82":{"tf":1.0}}},"df":16,"docs":{"117":{"tf":1.7320508075688772},"118":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"120":{"tf":1.0},"126":{"tf":1.4142135623730951},"128":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"38":{"tf":1.0},"5":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":3.1622776601683795}},"r":{"d":{"df":1,"docs":{"106":{"tf":1.0}}},"df":0,"docs":{}},"x":{"+":{"4":{"df":0,"docs":{},"y":{"=":{"2":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"y":{"df":1,"docs":{"32":{"tf":1.0}}},"×":{"2":{"df":1,"docs":{"71":{"tf":1.0}}},"3":{"df":2,"docs":{"71":{"tf":1.0},"82":{"tf":1.0}},"×":{"3":{"df":0,"docs":{},"×":{"3":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"δ":{"df":0,"docs":{},"x":{"1":{"1":{"df":0,"docs":{},"​":{"+":{"4":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"1":{"2":{"df":0,"docs":{},"​":{"=":{"0":{"df":1,"docs":{"42":{"tf":1.0}}},"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":{},"​":{"0":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"2":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"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":{")":{")":{"[":{"0":{"df":1,"docs":{"118":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"0":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"1":{".":{"1":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{".":{"1":{"df":1,"docs":{"29":{"tf":2.0}}},"2":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":11,"docs":{"118":{"tf":1.4142135623730951},"130":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.4142135623730951},"27":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"59":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":2.0},"87":{"tf":1.0}},"}":{"df":0,"docs":{},"m":{"df":1,"docs":{"52":{"tf":1.0}}}},"×":{"4":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}}},"5":{".":{"1":{".":{"1":{"df":2,"docs":{"32":{"tf":2.23606797749979},"34":{"tf":1.0}}},"2":{"df":3,"docs":{"32":{"tf":1.7320508075688772},"38":{"tf":1.0},"42":{"tf":1.4142135623730951}}},"3":{"df":4,"docs":{"33":{"tf":1.7320508075688772},"34":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":2,"docs":{"33":{"tf":1.0},"34":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"33":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"35":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"35":{"tf":1.0}}},"3":{"df":1,"docs":{"35":{"tf":1.0}}},"4":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"\\":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"6":{")":{")":{"[":{"0":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"1":{".":{"1":{"df":1,"docs":{"38":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":2,"docs":{"40":{"tf":1.0},"41":{"tf":1.0}}},"3":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":0,"docs":{},"±":{"3":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"84":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":4,"docs":{"118":{"tf":1.0},"22":{"tf":1.4142135623730951},"86":{"tf":2.0},"87":{"tf":1.4142135623730951}}},"7":{".":{"1":{".":{"1":{"df":4,"docs":{"45":{"tf":2.23606797749979},"54":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0}}},"2":{"df":1,"docs":{"45":{"tf":1.0}}},"3":{"df":2,"docs":{"45":{"tf":1.0},"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":4,"docs":{"101":{"tf":1.0},"48":{"tf":2.0},"49":{"tf":1.7320508075688772},"53":{"tf":1.0}}},"2":{"df":2,"docs":{"49":{"tf":1.4142135623730951},"53":{"tf":1.0}}},"3":{"df":1,"docs":{"101":{"tf":1.0}}},"4":{"df":1,"docs":{"54":{"tf":1.0}}},"5":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"49":{"tf":1.0}}},"2":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"df":1,"docs":{"50":{"tf":1.0}}},"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":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":1,"docs":{"81":{"tf":1.0}}},"8":{".":{"1":{".":{"1":{"df":2,"docs":{"52":{"tf":2.23606797749979},"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":2,"docs":{"53":{"tf":2.449489742783178},"54":{"tf":1.0}}},"2":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":2,"docs":{"54":{"tf":2.0},"62":{"tf":1.0}}},"2":{"df":1,"docs":{"54":{"tf":1.0}}},"3":{"df":1,"docs":{"54":{"tf":1.0}}},"4":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":1,"docs":{"131":{"tf":1.0}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"122":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":2,"docs":{"119":{"tf":2.6457513110645907},"125":{"tf":1.4142135623730951}}},"9":{".":{"1":{".":{"1":{"df":1,"docs":{"57":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":3,"docs":{"123":{"tf":1.0},"58":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"2":{"df":2,"docs":{"58":{"tf":1.0},"63":{"tf":1.0}}},"3":{"df":2,"docs":{"58":{"tf":1.0},"63":{"tf":1.0}}},"4":{"df":2,"docs":{"58":{"tf":1.0},"63":{"tf":1.0}}},"5":{"df":1,"docs":{"63":{"tf":1.0}}},"6":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"59":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"1":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"df":1,"docs":{"29":{"tf":1.0}}},"df":2,"docs":{"87":{"tf":1.0},"88":{"tf":1.0}}},"df":2,"docs":{"131":{"tf":1.0},"82":{"tf":1.0}},"×":{"9":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"_":{"0":{"0":{"0":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"1":{"0":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"1":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"1":{"1":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"1":{"0":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"0":{"1":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"1":{"1":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"120":{"tf":1.0}}},"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"120":{"tf":1.0}}},"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"m":{"^":{"2":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"'":{"df":1,"docs":{"136":{"tf":1.0}}},"(":{"df":0,"docs":{},"x":{"+":{"df":0,"docs":{},"α":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{")":{"=":{"b":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"t":{"2":{"df":0,"docs":{},"∂":{"2":{"df":0,"docs":{},"x":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"ϕ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"v":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{".":{"(":{"1":{"2":{".":{"1":{".":{"4":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"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":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"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":{},"t":{")":{":":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"3":{"df":0,"docs":{},"×":{"3":{",":{"b":{"1":{"2":{"2":{"df":0,"docs":{},"×":{"2":{"df":0,"docs":{},"​":{",":{"b":{"1":{"3":{"2":{"df":0,"docs":{},"×":{"2":{"df":0,"docs":{},"​":{",":{"b":{"2":{"3":{"2":{"df":0,"docs":{},"×":{"2":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{},"→":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"=":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"q":{"df":0,"docs":{},"−":{"1":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"41":{"tf":1.0}}}}}},"∂":{"df":0,"docs":{},"t":{"2":{"df":0,"docs":{},"∂":{"2":{"df":0,"docs":{},"x":{"df":1,"docs":{"94":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"\\":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}}}}},"^":{"'":{"df":1,"docs":{"134":{"tf":1.0}}},"d":{"+":{"df":0,"docs":{},"i":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":2,"docs":{"33":{"tf":1.4142135623730951},"40":{"tf":1.0}}}},"_":{"df":0,"docs":{},"i":{"df":2,"docs":{"48":{"tf":1.7320508075688772},"49":{"tf":1.0}}}},"a":{"^":{"df":0,"docs":{},"t":{"df":2,"docs":{"33":{"tf":1.0},"40":{"tf":1.4142135623730951}}},"​":{"=":{"2":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"−":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"+":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"a":{"^":{"+":{"1":{"df":2,"docs":{"119":{"tf":1.0},"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"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":{},"−":{"1":{"a":{"df":0,"docs":{},"h":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"(":{"a":{"a":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"−":{"1":{"a":{"df":0,"docs":{},"g":{".":{"(":{"6":{".":{"2":{".":{"1":{"df":1,"docs":{"40":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"o":{"df":0,"docs":{},"v":{"df":15,"docs":{"101":{"tf":1.0},"125":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"81":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"s":{"(":{"a":{"df":2,"docs":{"131":{"tf":1.0},"87":{"tf":1.0}}},"b":{"df":1,"docs":{"87":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"131":{"tf":1.0}}},"2":{"df":1,"docs":{"131":{"tf":1.0}}},"3":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"4":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"∣":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"95":{"tf":1.0}}}}}},"c":{"c":{"d":{"df":3,"docs":{"120":{"tf":1.7320508075688772},"121":{"tf":1.7320508075688772},"138":{"tf":1.4142135623730951}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"14":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"70":{"tf":2.0},"89":{"tf":1.0},"91":{"tf":1.0},"97":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"0":{"tf":1.0},"45":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":4,"docs":{"132":{"tf":1.0},"5":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"r":{"d":{"df":5,"docs":{"124":{"tf":1.0},"40":{"tf":1.0},"63":{"tf":1.4142135623730951},"67":{"tf":1.0},"84":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"35":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"140":{"tf":1.0},"69":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"120":{"tf":1.0},"121":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"i":{"df":7,"docs":{"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"49":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}},"df":16,"docs":{"105":{"tf":1.0},"11":{"tf":1.0},"111":{"tf":1.0},"16":{"tf":2.23606797749979},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"29":{"tf":1.0},"31":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.4142135623730951},"6":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0},"98":{"tf":1.0}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":17,"docs":{"101":{"tf":1.0},"12":{"tf":1.0},"120":{"tf":1.0},"141":{"tf":1.0},"23":{"tf":1.0},"26":{"tf":1.0},"29":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"t":{"df":7,"docs":{"100":{"tf":1.0},"14":{"tf":1.0},"33":{"tf":1.0},"5":{"tf":1.0},"77":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"v":{"df":6,"docs":{"139":{"tf":1.0},"16":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951},"52":{"tf":1.0},"57":{"tf":1.0},"64":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":7,"docs":{"11":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.4142135623730951},"26":{"tf":1.0},"33":{"tf":1.0},"48":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":7,"docs":{"11":{"tf":1.0},"117":{"tf":1.0},"138":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"92":{"tf":1.0}}}}},"d":{"df":7,"docs":{"112":{"tf":1.0},"117":{"tf":1.4142135623730951},"126":{"tf":1.0},"16":{"tf":1.0},"27":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":15,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"127":{"tf":1.0},"132":{"tf":1.0},"141":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"49":{"tf":1.0},"57":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"81":{"tf":1.0},"87":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":9,"docs":{"101":{"tf":1.0},"11":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"128":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.0},"55":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":20,"docs":{"131":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0},"37":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"95":{"tf":1.0}}}}}}},"df":7,"docs":{"122":{"tf":1.0},"14":{"tf":1.0},"32":{"tf":1.0},"35":{"tf":1.4142135623730951},"57":{"tf":1.0},"67":{"tf":1.0},"87":{"tf":1.0}},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"10":{"tf":1.0},"16":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"j":{"a":{"c":{"df":2,"docs":{"134":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"140":{"tf":1.0},"34":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"132":{"tf":1.0},"17":{"tf":1.0},"37":{"tf":1.0},"88":{"tf":1.0}}}}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":5,"docs":{"120":{"tf":1.0},"121":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":9,"docs":{"105":{"tf":1.0},"113":{"tf":1.0},"12":{"tf":1.0},"134":{"tf":1.0},"18":{"tf":1.0},"28":{"tf":1.0},"38":{"tf":1.0},"5":{"tf":1.0},"92":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"106":{"tf":1.0}}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"107":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"88":{"tf":1.0}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"123":{"tf":1.0},"134":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"​":{"a":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"]":{"[":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"]":{"=":{"[":{"df":0,"docs":{},"−":{"a":{"df":0,"docs":{},"g":{"0":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"−":{"a":{"df":0,"docs":{},"g":{".":{"(":{"5":{".":{"2":{".":{"1":{"df":1,"docs":{"33":{"tf":1.0}}},"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":{},"j":{"df":1,"docs":{"92":{"tf":1.0}}}},"d":{"df":2,"docs":{"14":{"tf":1.0},"5":{"tf":1.0}}},"df":1,"docs":{"92":{"tf":1.0}},"m":{"df":5,"docs":{"18":{"tf":1.0},"4":{"tf":1.4142135623730951},"47":{"tf":1.0},"70":{"tf":1.0},"89":{"tf":1.0}}},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"≈":{"b":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"a":{"b":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"b":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"a":{"b":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{".":{"(":{"1":{"7":{".":{"1":{".":{"1":{"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":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"j":{"df":1,"docs":{"134":{"tf":1.4142135623730951}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"22":{"tf":1.0},"27":{"tf":1.0},"48":{"tf":1.0},"67":{"tf":1.0},"79":{"tf":1.0}}}}},"l":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}}},"df":11,"docs":{"114":{"tf":1.0},"120":{"tf":1.0},"134":{"tf":1.0},"142":{"tf":3.0},"41":{"tf":1.0},"5":{"tf":1.0},"58":{"tf":1.0},"76":{"tf":1.4142135623730951},"79":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}},"g":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"r":{"a":{"df":3,"docs":{"25":{"tf":1.0},"29":{"tf":1.0},"4":{"tf":1.0}}},"df":0,"docs":{}}},"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":13,"docs":{"0":{"tf":1.0},"11":{"tf":1.4142135623730951},"120":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":2.0},"22":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"5":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.449489742783178},"59":{"tf":2.23606797749979},"75":{"tf":1.4142135623730951}}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":9,"docs":{"108":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":2.23606797749979},"40":{"tf":1.0},"43":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.4142135623730951}}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":2,"docs":{"26":{"tf":1.0},"29":{"tf":1.0}}},"df":0,"docs":{},"w":{"df":27,"docs":{"101":{"tf":1.0},"107":{"tf":1.0},"113":{"tf":1.0},"137":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.7320508075688772},"51":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"5":{"tf":1.0},"50":{"tf":1.0}},"g":{"df":11,"docs":{"120":{"tf":1.0},"121":{"tf":1.0},"15":{"tf":1.0},"25":{"tf":1.0},"38":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"85":{"tf":1.0},"95":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"h":{"a":{",":{"\\":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"\\":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{}},"^":{"c":{"_":{"df":0,"docs":{},"{":{"df":0,"docs":{},"j":{"df":0,"docs":{},"k":{"df":1,"docs":{"53":{"tf":2.23606797749979}}}}}},"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"_":{"c":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":10,"docs":{"120":{"tf":2.0},"21":{"tf":3.0},"28":{"tf":2.23606797749979},"32":{"tf":1.4142135623730951},"45":{"tf":1.0},"53":{"tf":2.8284271247461903},"54":{"tf":3.1622776601683795},"62":{"tf":1.7320508075688772},"67":{"tf":1.0},"87":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":9,"docs":{"114":{"tf":1.0},"22":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"59":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"10":{"tf":1.0},"131":{"tf":1.0},"53":{"tf":1.4142135623730951},"74":{"tf":1.0},"80":{"tf":1.0}},"n":{"df":6,"docs":{"29":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":5,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"120":{"tf":1.0},"37":{"tf":1.0},"53":{"tf":1.4142135623730951}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":7,"docs":{"134":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":2.0},"22":{"tf":1.0},"53":{"tf":1.4142135623730951},"7":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"120":{"tf":1.0},"74":{"tf":1.0},"90":{"tf":1.0}}}}}},"p":{"df":1,"docs":{"142":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}},"n":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"2":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"−":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":0,"docs":{},"−":{"1":{"(":{"df":0,"docs":{},"x":{")":{"+":{"df":0,"docs":{},"h":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"df":0,"docs":{},"−":{"1":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":9,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"107":{"tf":1.0},"119":{"tf":1.0},"130":{"tf":1.0},"27":{"tf":1.0},"59":{"tf":1.0},"7":{"tf":1.0},"95":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":1,"docs":{"92":{"tf":1.0}},"i":{"df":2,"docs":{"4":{"tf":1.0},"92":{"tf":1.0}}}},"t":{"df":5,"docs":{"115":{"tf":1.0},"134":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.4142135623730951},"95":{"tf":1.0}}},"z":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"d":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"74":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":2,"docs":{"63":{"tf":1.0},"82":{"tf":1.0}}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"74":{"tf":1.4142135623730951},"80":{"tf":1.0}}}}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"105":{"tf":1.0},"137":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"5":{"tf":1.0},"75":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"4":{"tf":1.0}}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.0},"29":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"10":{"tf":1.0}}},"r":{"df":3,"docs":{"4":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"c":{"df":16,"docs":{"11":{"tf":1.0},"138":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"75":{"tf":1.0},"83":{"tf":1.0},"93":{"tf":1.0}}},"df":43,"docs":{"107":{"tf":1.0},"11":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.4142135623730951},"34":{"tf":1.0},"38":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.7320508075688772},"47":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"6":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"68":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":45,"docs":{"101":{"tf":1.4142135623730951},"102":{"tf":1.0},"11":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"132":{"tf":1.0},"136":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":2.449489742783178},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.4142135623730951},"4":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"5":{"tf":2.449489742783178},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.4142135623730951},"69":{"tf":1.0},"7":{"tf":1.4142135623730951},"73":{"tf":1.0},"76":{"tf":1.0},"79":{"tf":1.0},"84":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"51":{"tf":1.0},"66":{"tf":1.0},"95":{"tf":1.0}}}}},"x":{"df":1,"docs":{"11":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"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":{"115":{"tf":1.0}}}}}}}}}}}}},"df":33,"docs":{"100":{"tf":1.0},"101":{"tf":1.7320508075688772},"103":{"tf":1.0},"105":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772},"114":{"tf":2.0},"115":{"tf":1.7320508075688772},"122":{"tf":1.0},"123":{"tf":2.6457513110645907},"127":{"tf":1.4142135623730951},"129":{"tf":1.0},"134":{"tf":2.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":2.6457513110645907},"32":{"tf":1.0},"45":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"5":{"tf":1.0},"53":{"tf":2.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.4142135623730951},"60":{"tf":1.0},"69":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951},"95":{"tf":2.23606797749979},"96":{"tf":1.0},"97":{"tf":1.0}}}}}}}}},"q":{"_":{"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"76":{"tf":1.4142135623730951},"79":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":16,"docs":{"101":{"tf":1.0},"105":{"tf":1.7320508075688772},"129":{"tf":1.0},"28":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"61":{"tf":1.0},"64":{"tf":1.0},"82":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"101":{"tf":1.0},"49":{"tf":1.0},"59":{"tf":1.0},"76":{"tf":1.0},"87":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"df":12,"docs":{"102":{"tf":1.4142135623730951},"106":{"tf":1.0},"119":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"5":{"tf":1.0},"54":{"tf":1.7320508075688772},"71":{"tf":1.0},"87":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.0}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"15":{"tf":1.0},"40":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"90":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"80":{"tf":1.0},"81":{"tf":1.0}}}}}}},"x":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"(":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"+":{"df":0,"docs":{},"h":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"m":{"2":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"h":{"2":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"β":{"df":0,"docs":{},"t":{"df":0,"docs":{},"v":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"β":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"≤":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"k":{"df":1,"docs":{"57":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"s":{"df":8,"docs":{"100":{"tf":1.0},"18":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"56":{"tf":1.0},"91":{"tf":1.0}}}},"m":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"'":{"df":1,"docs":{"15":{"tf":1.0}}},"df":2,"docs":{"14":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"101":{"tf":1.0},"113":{"tf":1.0},"134":{"tf":1.0},"4":{"tf":1.0},"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"85":{"tf":1.0}}}},"y":{"df":5,"docs":{"136":{"tf":1.0},"16":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"35":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"91":{"tf":1.0},"97":{"tf":1.0}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"52":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"52":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"71":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"71":{"tf":1.0}}}}}}},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"k":{"df":2,"docs":{"29":{"tf":1.0},"34":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":7,"docs":{"127":{"tf":1.0},"18":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"38":{"tf":1.0},"44":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"119":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"16":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":5,"docs":{"136":{"tf":1.0},"34":{"tf":1.0},"67":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":7,"docs":{"22":{"tf":1.0},"26":{"tf":1.0},"34":{"tf":1.0},"71":{"tf":1.0},"82":{"tf":1.0},"90":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":17,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"120":{"tf":1.0},"130":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"47":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"66":{"tf":1.0},"69":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951}}}}},"r":{"df":2,"docs":{"20":{"tf":1.0},"21":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"48":{"tf":1.0},"57":{"tf":1.0}}}}}}}}},"t":{"b":{"=":{"0":{"df":1,"docs":{"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"69":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"27":{"tf":1.0},"50":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"76":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"50":{"tf":1.0},"54":{"tf":1.0},"68":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"=":{"df":0,"docs":{},"{":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"3":{"tf":1.0}}}}}},"df":1,"docs":{"1":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":15,"docs":{"101":{"tf":1.0},"118":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0},"16":{"tf":1.0},"27":{"tf":1.0},"34":{"tf":1.0},"4":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"76":{"tf":1.0},"77":{"tf":1.0}}},"y":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}},"x":{"=":{"b":{",":{"(":{"5":{".":{"1":{".":{"1":{"df":1,"docs":{"32":{"tf":1.0}}},"df":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":{"38":{"tf":1.0}},"i":{"df":6,"docs":{"32":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":2.23606797749979},"40":{"tf":1.0},"43":{"tf":1.0},"75":{"tf":1.0}},"s":{"=":{"0":{"df":2,"docs":{"117":{"tf":1.4142135623730951},"67":{"tf":1.0}}},"1":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"δ":{"df":0,"docs":{},"x":{"=":{"0":{".":{"(":{"5":{".":{"1":{".":{"2":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"n":{"df":0,"docs":{},"×":{"df":0,"docs":{},"n":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}},"b":{"(":{"d":{",":{"d":{"^":{")":{"=":{"df":0,"docs":{},"{":{"2":{"df":0,"docs":{},"κ":{"df":0,"docs":{},"​":{"d":{"^":{"(":{"d":{"^":{"d":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"1":{")":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"d":{"^":{"d":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"d":{"<":{"d":{"^":{"d":{"df":0,"docs":{},"≥":{"d":{"^":{",":{"df":0,"docs":{},"​":{"(":{"1":{"8":{".":{"3":{".":{"2":{"df":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{",":{"d":{"^":{"2":{")":{"=":{"df":0,"docs":{},"{":{"8":{"df":0,"docs":{},"κ":{"df":0,"docs":{},"​":{"d":{"^":{"(":{"d":{"^":{"2":{"d":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"1":{")":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"d":{"^":{"2":{"d":{"2":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"d":{"<":{"d":{"^":{"d":{"df":0,"docs":{},"≥":{"d":{"^":{",":{"df":0,"docs":{},"​":{"(":{"2":{"1":{".":{"3":{".":{"1":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"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":{},"j":{"df":1,"docs":{"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"=":{"[":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"−":{"1":{"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":{}},"[":{"0":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"\\":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{"df":1,"docs":{"86":{"tf":1.0}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"86":{"tf":2.0}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"86":{"tf":2.23606797749979}}}}}}}},"a":{"c":{"df":0,"docs":{},"k":{"df":6,"docs":{"134":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"52":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"21":{"tf":1.4142135623730951},"23":{"tf":1.0},"53":{"tf":1.7320508075688772},"58":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":8,"docs":{"104":{"tf":1.0},"11":{"tf":2.23606797749979},"12":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.4142135623730951},"58":{"tf":1.0},"96":{"tf":1.4142135623730951},"97":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"c":{"df":5,"docs":{"16":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":2,"docs":{"45":{"tf":1.7320508075688772},"90":{"tf":1.0}}}},"r":{"b":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"142":{"tf":1.7320508075688772},"81":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":1,"docs":{"87":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":26,"docs":{"101":{"tf":4.0},"113":{"tf":1.0},"114":{"tf":2.0},"119":{"tf":2.8284271247461903},"121":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"134":{"tf":2.0},"139":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"16":{"tf":1.7320508075688772},"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":2.8284271247461903},"49":{"tf":1.4142135623730951},"50":{"tf":2.449489742783178},"52":{"tf":1.0},"54":{"tf":2.23606797749979},"55":{"tf":1.0},"62":{"tf":1.7320508075688772},"66":{"tf":1.0},"67":{"tf":2.23606797749979},"68":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"_":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"m":{"b":{"d":{"a":{"(":{"df":0,"docs":{},"x":{"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":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"i":{"df":7,"docs":{"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"125":{"tf":1.0},"54":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":2.0}}}}},"df":0,"docs":{}}}}}}}}}}},"y":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":4,"docs":{"124":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.0},"140":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":41,"docs":{"0":{"tf":1.0},"101":{"tf":1.7320508075688772},"102":{"tf":1.0},"105":{"tf":1.4142135623730951},"108":{"tf":1.0},"116":{"tf":1.0},"119":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.0},"134":{"tf":1.0},"141":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"24":{"tf":1.0},"3":{"tf":1.0},"35":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":2.0},"51":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951},"57":{"tf":1.0},"61":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.0},"81":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"92":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0}}},"i":{"c":{"df":2,"docs":{"30":{"tf":1.0},"8":{"tf":1.0}}},"df":9,"docs":{"141":{"tf":1.0},"37":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.0},"85":{"tf":1.0},"95":{"tf":1.4142135623730951}}}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"120":{"tf":2.0}}}}},"c":{"df":9,"docs":{"15":{"tf":1.4142135623730951},"32":{"tf":2.23606797749979},"33":{"tf":2.23606797749979},"34":{"tf":3.0},"42":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979},"66":{"tf":3.1622776601683795},"67":{"tf":1.4142135623730951},"68":{"tf":2.0}}},"df":19,"docs":{"101":{"tf":1.4142135623730951},"106":{"tf":2.0},"113":{"tf":1.4142135623730951},"114":{"tf":2.0},"119":{"tf":1.0},"125":{"tf":1.4142135623730951},"131":{"tf":3.0},"15":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.0},"70":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":2.8284271247461903},"95":{"tf":1.4142135623730951}},"e":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"[":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"[":{"0":{"df":1,"docs":{"117":{"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":{},"r":{"df":1,"docs":{"38":{"tf":1.0}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":21,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.4142135623730951},"123":{"tf":1.0},"126":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"90":{"tf":1.0}}}}},"df":16,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"79":{"tf":1.4142135623730951},"82":{"tf":1.0},"95":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":11,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"121":{"tf":1.0},"141":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"4":{"tf":1.0},"55":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0}}}}},"g":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"127":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":16,"docs":{"117":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.0},"94":{"tf":1.0}},"{":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"59":{"tf":2.0}}}}},"p":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"18":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":10,"docs":{"27":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"73":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":9,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0},"66":{"tf":1.4142135623730951},"7":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}}}},"t":{"a":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":42,"docs":{"101":{"tf":2.23606797749979},"102":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"120":{"tf":1.0},"123":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"133":{"tf":1.0},"134":{"tf":1.4142135623730951},"16":{"tf":2.449489742783178},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"27":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"47":{"tf":1.0},"49":{"tf":1.4142135623730951},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":2.23606797749979},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.4142135623730951},"69":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"105":{"tf":1.0},"29":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"3":{"tf":1.0}}}}}},"df":0,"docs":{},"j":{"df":1,"docs":{"82":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"100":{"tf":2.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"45":{"tf":1.4142135623730951},"55":{"tf":1.0}}}},"df":0,"docs":{}}}}},"​":{"=":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"​":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"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":{}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}}},"df":6,"docs":{"32":{"tf":1.0},"33":{"tf":1.7320508075688772},"37":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":2.6457513110645907},"82":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"e":{"df":4,"docs":{"114":{"tf":1.4142135623730951},"45":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0}}}}},"o":{"d":{"df":0,"docs":{},"i":{"df":9,"docs":{"106":{"tf":1.0},"14":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"91":{"tf":1.0},"94":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"74":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":8,"docs":{"116":{"tf":1.0},"122":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":11,"docs":{"0":{"tf":1.0},"1":{"tf":1.7320508075688772},"104":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"12":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"7":{"tf":1.0}},"{":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"2":{"0":{"2":{"4":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"134":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":33,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"103":{"tf":1.0},"106":{"tf":1.0},"113":{"tf":1.4142135623730951},"12":{"tf":1.0},"124":{"tf":1.4142135623730951},"127":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.0},"25":{"tf":1.4142135623730951},"34":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"80":{"tf":1.0},"88":{"tf":1.7320508075688772},"89":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"94":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":5,"docs":{"114":{"tf":1.0},"117":{"tf":1.7320508075688772},"120":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"87":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":3,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0}}},"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":48,"docs":{"100":{"tf":3.1622776601683795},"101":{"tf":2.6457513110645907},"103":{"tf":2.0},"105":{"tf":2.8284271247461903},"109":{"tf":2.23606797749979},"110":{"tf":1.0},"111":{"tf":2.0},"112":{"tf":3.605551275463989},"113":{"tf":2.6457513110645907},"114":{"tf":2.8284271247461903},"115":{"tf":1.4142135623730951},"117":{"tf":2.8284271247461903},"121":{"tf":1.0},"123":{"tf":2.449489742783178},"133":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"31":{"tf":2.0},"32":{"tf":3.872983346207417},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"38":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":2.23606797749979},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":2.0},"55":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"68":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0},"87":{"tf":1.0},"91":{"tf":1.7320508075688772},"92":{"tf":1.7320508075688772},"96":{"tf":1.0},"97":{"tf":1.4142135623730951},"98":{"tf":2.0},"99":{"tf":4.795831523312719}}}}},"df":13,"docs":{"120":{"tf":2.23606797749979},"121":{"tf":1.7320508075688772},"135":{"tf":1.0},"136":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"14":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"53":{"tf":2.0},"54":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"82":{"tf":1.0}}},"df":0,"docs":{}}},"x":{"df":5,"docs":{"120":{"tf":1.7320508075688772},"121":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"45":{"tf":1.0},"5":{"tf":1.4142135623730951}}}},"p":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"[":{"0":{"df":1,"docs":{"117":{"tf":1.0}}},"1":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"117":{"tf":1.0}}}}}},"df":3,"docs":{"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"125":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":6,"docs":{"102":{"tf":1.0},"105":{"tf":1.0},"120":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0}}},"n":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"142":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"g":{"df":7,"docs":{"10":{"tf":1.0},"120":{"tf":1.0},"131":{"tf":1.0},"16":{"tf":1.0},"62":{"tf":1.0},"87":{"tf":1.4142135623730951},"95":{"tf":1.0}}}}},"o":{"a":{"d":{"df":3,"docs":{"137":{"tf":1.0},"139":{"tf":1.4142135623730951},"141":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"37":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":3,"docs":{"1":{"tf":1.0},"42":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"h":{"df":5,"docs":{"121":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.4142135623730951},"139":{"tf":1.0},"141":{"tf":1.0}}}},"}":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"ϵ":{"0":{"df":2,"docs":{"90":{"tf":1.4142135623730951},"91":{"tf":2.0}},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"j":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"d":{"df":0,"docs":{},"x":{"=":{"df":0,"docs":{},"∫":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"d":{"df":0,"docs":{},"x":{"df":1,"docs":{"90":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"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":2,"docs":{"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"90":{"tf":1.4142135623730951}},"​":{"df":0,"docs":{},"​":{"d":{"df":0,"docs":{},"x":{"=":{"df":0,"docs":{},"∫":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"j":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"d":{"df":0,"docs":{},"x":{"df":1,"docs":{"90":{"tf":1.0}}}},"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":{"0":{"df":3,"docs":{"108":{"tf":1.0},"134":{"tf":1.0},"141":{"tf":1.0}}},"1":{"df":5,"docs":{"118":{"tf":1.0},"121":{"tf":1.0},"134":{"tf":1.4142135623730951},"141":{"tf":1.0},"55":{"tf":1.0}}},"=":{"0":{".":{"6":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"1":{",":{"df":0,"docs":{},"j":{",":{"df":0,"docs":{},"k":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"α":{"df":0,"docs":{},"j":{"df":0,"docs":{},"k":{"c":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"_":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"16":{"tf":2.6457513110645907}}}},"df":1,"docs":{"16":{"tf":1.0}}},"l":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":41,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"112":{"tf":1.4142135623730951},"114":{"tf":1.0},"118":{"tf":2.23606797749979},"12":{"tf":1.0},"120":{"tf":2.449489742783178},"123":{"tf":1.0},"124":{"tf":2.0},"125":{"tf":2.0},"127":{"tf":1.4142135623730951},"130":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":2.0},"5":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"6":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"79":{"tf":1.0},"8":{"tf":1.0},"80":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.4142135623730951},"88":{"tf":1.7320508075688772},"9":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"df":1,"docs":{"74":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":9,"docs":{"117":{"tf":1.0},"125":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.4142135623730951},"29":{"tf":1.0},"58":{"tf":1.0},"76":{"tf":1.7320508075688772},"8":{"tf":1.0},"82":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"18":{"tf":1.0}}}},"n":{"d":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"135":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"p":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"16":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":1.0}}}},"c":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"17":{"tf":1.0},"31":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"16":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"29":{"tf":1.0},"82":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"71":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"e":{"df":43,"docs":{"101":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.0},"116":{"tf":1.4142135623730951},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"122":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.7320508075688772},"134":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.0},"43":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"57":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.4142135623730951},"73":{"tf":1.0},"81":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"91":{"tf":1.0}}}}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"79":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"s":{"df":4,"docs":{"101":{"tf":1.0},"126":{"tf":1.0},"58":{"tf":1.0},"65":{"tf":1.0}}}}},"c":{"d":{".":{"b":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"120":{"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":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"_":{"c":{"c":{"d":{"(":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"120":{"tf":1.0}}}}},"df":0,"docs":{}}},"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":{},"i":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}}}},"df":10,"docs":{"120":{"tf":1.0},"121":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"141":{"tf":1.0},"51":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.0},"55":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":10,"docs":{"100":{"tf":1.7320508075688772},"101":{"tf":1.0},"119":{"tf":1.7320508075688772},"126":{"tf":1.7320508075688772},"131":{"tf":3.605551275463989},"27":{"tf":2.449489742783178},"62":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772},"67":{"tf":1.7320508075688772},"87":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"126":{"tf":1.4142135623730951},"67":{"tf":3.605551275463989},"87":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"'":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"136":{"tf":2.0},"29":{"tf":1.0},"85":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"45":{"tf":1.4142135623730951},"5":{"tf":1.0},"52":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":16,"docs":{"115":{"tf":1.0},"124":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"49":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"79":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"j":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"2":{"tf":1.0}}}}},"df":0,"docs":{}}}},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":9,"docs":{"107":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.0},"48":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.7320508075688772},"88":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":14,"docs":{"11":{"tf":1.0},"114":{"tf":1.0},"16":{"tf":1.4142135623730951},"29":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.4142135623730951},"41":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"6":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951}}}}}}},"n":{"df":0,"docs":{},"g":{"df":20,"docs":{"106":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"120":{"tf":1.0},"124":{"tf":1.0},"130":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"101":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"2":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"4":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"96":{"tf":1.4142135623730951},"97":{"tf":1.0},"98":{"tf":1.0}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"20":{"tf":1.4142135623730951},"32":{"tf":1.0},"5":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"16":{"tf":1.0},"45":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":11,"docs":{"118":{"tf":1.0},"120":{"tf":1.7320508075688772},"121":{"tf":1.0},"131":{"tf":1.0},"134":{"tf":1.0},"136":{"tf":1.0},"139":{"tf":1.0},"29":{"tf":1.0},"67":{"tf":2.23606797749979},"75":{"tf":1.0},"87":{"tf":2.0}}}},"df":0,"docs":{},"n":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"41":{"tf":1.0}},"f":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":4,"docs":{"1":{"tf":1.0},"142":{"tf":2.23606797749979},"2":{"tf":1.0},"3":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"i":{"c":{"df":7,"docs":{"113":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"16":{"tf":1.0},"28":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":6,"docs":{"113":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.0},"27":{"tf":1.0},"5":{"tf":1.0},"67":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"15":{"tf":1.0},"9":{"tf":1.0},"95":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"c":{"df":0,"docs":{},"l":{"df":2,"docs":{"101":{"tf":1.0},"5":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"74":{"tf":1.0},"82":{"tf":1.0}}}},"v":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"142":{"tf":3.4641016151377544}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"ϵ":{"df":0,"docs":{},"≥":{"0":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}},"≥":{"df":0,"docs":{},"ϵ":{".":{"df":0,"docs":{},"​":{"(":{"2":{".":{"3":{".":{"1":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"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":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"81":{"tf":1.4142135623730951},"92":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"16":{"tf":1.0}},"i":{"c":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"4":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"23":{"tf":1.0},"42":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"114":{"tf":1.0},"52":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"21":{"tf":1.0}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"126":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":15,"docs":{"10":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":1.0},"121":{"tf":1.0},"22":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0},"91":{"tf":1.0}},"r":{"df":4,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"49":{"tf":1.0},"95":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":14,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.7320508075688772},"127":{"tf":1.0},"134":{"tf":1.0},"140":{"tf":1.0},"22":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"df":7,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"45":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{},"u":{"df":1,"docs":{"2":{"tf":1.0}}}},"o":{"/":{"b":{"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":7,"docs":{"116":{"tf":1.0},"125":{"tf":1.7320508075688772},"131":{"tf":1.0},"142":{"tf":1.0},"25":{"tf":1.0},"82":{"tf":2.0},"85":{"tf":1.0}},"{":{"1":{"df":1,"docs":{"87":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"w":{")":{"=":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"v":{")":{"df":0,"docs":{},"−":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"w":{"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":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"45":{"tf":2.449489742783178}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"101":{"tf":1.0},"118":{"tf":1.0},"142":{"tf":1.0},"66":{"tf":1.0}}}}}}}}}}},"df":3,"docs":{"1":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":14,"docs":{"101":{"tf":1.4142135623730951},"102":{"tf":1.0},"117":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.0},"131":{"tf":1.4142135623730951},"134":{"tf":1.4142135623730951},"17":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":2.0},"87":{"tf":2.0}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"86":{"tf":5.0990195135927845}},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":1,"docs":{"71":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"117":{"tf":1.7320508075688772},"65":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"d":{"df":7,"docs":{"101":{"tf":1.4142135623730951},"114":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"16":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":16,"docs":{"113":{"tf":1.0},"120":{"tf":1.0},"135":{"tf":1.7320508075688772},"136":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"139":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"n":{"df":7,"docs":{"26":{"tf":1.7320508075688772},"32":{"tf":1.0},"34":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"6":{"tf":1.0},"91":{"tf":1.0}}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}},"df":10,"docs":{"103":{"tf":1.0},"122":{"tf":1.0},"134":{"tf":1.0},"16":{"tf":1.4142135623730951},"5":{"tf":1.0},"54":{"tf":1.0},"6":{"tf":1.0},"80":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":6,"docs":{"112":{"tf":1.0},"123":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"81":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"113":{"tf":1.0},"128":{"tf":1.0},"14":{"tf":1.4142135623730951},"32":{"tf":1.0},"79":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":7,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.4142135623730951},"79":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.0},"2":{"tf":1.0}}},"t":{"df":1,"docs":{"80":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0}}},"t":{"df":1,"docs":{"56":{"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":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"16":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951},"50":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":3,"docs":{"103":{"tf":1.0},"114":{"tf":1.0},"24":{"tf":1.0}}},"x":{"<":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"131":{"tf":3.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":20,"docs":{"100":{"tf":1.0},"112":{"tf":1.0},"14":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"22":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"37":{"tf":1.0},"4":{"tf":1.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"5":{"tf":2.0},"6":{"tf":1.0},"69":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"92":{"tf":1.4142135623730951}}}},"i":{"c":{"df":4,"docs":{"101":{"tf":1.0},"11":{"tf":1.0},"118":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"120":{"tf":1.0},"123":{"tf":1.0},"132":{"tf":1.0},"26":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"6":{"tf":1.4142135623730951},"63":{"tf":1.0},"70":{"tf":1.0},"82":{"tf":1.0},"92":{"tf":1.0}}},"s":{"df":1,"docs":{"22":{"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":2,"docs":{"4":{"tf":1.0},"5":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":14,"docs":{"117":{"tf":1.0},"120":{"tf":1.0},"126":{"tf":2.0},"28":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":2.449489742783178},"68":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.4142135623730951},"83":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"15":{"tf":1.0},"30":{"tf":1.0},"56":{"tf":1.0},"75":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"114":{"tf":1.0},"135":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.0}}}}}}},"df":58,"docs":{"101":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"109":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"120":{"tf":2.23606797749979},"121":{"tf":1.4142135623730951},"123":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"131":{"tf":2.23606797749979},"139":{"tf":1.7320508075688772},"141":{"tf":1.7320508075688772},"142":{"tf":1.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"35":{"tf":1.0},"41":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"5":{"tf":1.7320508075688772},"50":{"tf":2.0},"53":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772},"67":{"tf":2.0},"7":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":2.449489742783178},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":2.6457513110645907},"80":{"tf":2.0},"82":{"tf":2.8284271247461903},"83":{"tf":1.7320508075688772},"84":{"tf":1.0},"86":{"tf":2.23606797749979},"88":{"tf":1.0},"92":{"tf":1.7320508075688772}},"e":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"_":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"m":{"b":{"d":{"a":{"(":{"df":0,"docs":{},"x":{"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":{}}}}}},"n":{"c":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"t":{"df":16,"docs":{"116":{"tf":1.0},"127":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.0},"27":{"tf":1.0},"31":{"tf":1.0},"4":{"tf":1.4142135623730951},"41":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.4142135623730951},"51":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.0},"83":{"tf":1.0}},"u":{"df":3,"docs":{"75":{"tf":1.0},"79":{"tf":1.0},"95":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"34":{"tf":1.0},"41":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"45":{"tf":1.0},"6":{"tf":1.0},"74":{"tf":1.0},"98":{"tf":1.0}}}},"l":{"df":0,"docs":{},"u":{"d":{"df":3,"docs":{"23":{"tf":1.0},"54":{"tf":1.0},"75":{"tf":1.0}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":45,"docs":{"100":{"tf":2.0},"103":{"tf":1.4142135623730951},"105":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.7320508075688772},"115":{"tf":1.4142135623730951},"12":{"tf":1.0},"123":{"tf":1.0},"15":{"tf":2.23606797749979},"16":{"tf":2.8284271247461903},"18":{"tf":1.4142135623730951},"29":{"tf":1.0},"31":{"tf":2.0},"32":{"tf":4.47213595499958},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"38":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":2.449489742783178},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"68":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"79":{"tf":1.0},"87":{"tf":1.0},"92":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951},"99":{"tf":2.449489742783178}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":1.0},"12":{"tf":1.0}}}}}}},"u":{"c":{"df":1,"docs":{"5":{"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":15,"docs":{"113":{"tf":1.0},"120":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":2.23606797749979},"54":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"82":{"tf":1.0}}}}},"n":{"df":2,"docs":{"10":{"tf":1.0},"95":{"tf":1.0}}},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"14":{"tf":1.0},"80":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"58":{"tf":1.0},"74":{"tf":1.0}}}}},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":14,"docs":{"103":{"tf":1.0},"105":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"12":{"tf":1.0},"25":{"tf":1.4142135623730951},"30":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":3.3166247903554},"53":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":10,"docs":{"132":{"tf":1.0},"140":{"tf":1.0},"22":{"tf":1.0},"33":{"tf":1.0},"38":{"tf":1.0},"48":{"tf":1.0},"55":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"9":{"tf":1.0}}}},"r":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":18,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"103":{"tf":1.0},"113":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"14":{"tf":2.0},"18":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.0},"89":{"tf":2.6457513110645907},"90":{"tf":2.23606797749979},"91":{"tf":2.0},"92":{"tf":1.4142135623730951},"93":{"tf":2.0},"94":{"tf":1.4142135623730951},"97":{"tf":1.0},"99":{"tf":1.0}}}}},"i":{"d":{"df":30,"docs":{"101":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.4142135623730951},"114":{"tf":1.0},"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"131":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"38":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"6":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"9":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"27":{"tf":1.0},"29":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":20,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.0},"115":{"tf":1.0},"119":{"tf":1.7320508075688772},"125":{"tf":1.0},"130":{"tf":1.0},"14":{"tf":1.0},"142":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0},"37":{"tf":1.0},"57":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.7320508075688772},"77":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":18,"docs":{"10":{"tf":1.0},"107":{"tf":1.4142135623730951},"112":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"58":{"tf":1.7320508075688772},"63":{"tf":2.0},"7":{"tf":1.0},"70":{"tf":1.0},"82":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"51":{"tf":1.0},"79":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.0},"94":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":13,"docs":{"111":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0}},"t":{"df":27,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"111":{"tf":1.0},"15":{"tf":2.23606797749979},"16":{"tf":3.1622776601683795},"18":{"tf":2.23606797749979},"30":{"tf":1.0},"32":{"tf":2.23606797749979},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.7320508075688772},"40":{"tf":1.4142135623730951},"41":{"tf":2.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":1.7320508075688772},"55":{"tf":1.0},"57":{"tf":1.0},"65":{"tf":1.4142135623730951},"99":{"tf":1.0}}}}}},"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":9,"docs":{"25":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.7320508075688772},"49":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"a":{"c":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"[":{"df":0,"docs":{},"i":{"df":4,"docs":{"54":{"tf":1.7320508075688772},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"67":{"tf":1.7320508075688772}}},"x":{"df":0,"docs":{},"i":{"df":2,"docs":{"119":{"tf":1.7320508075688772},"125":{"tf":1.0}}}}},"df":4,"docs":{"54":{"tf":2.23606797749979},"62":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":54,"docs":{"1":{"tf":1.0},"100":{"tf":2.23606797749979},"101":{"tf":4.0},"102":{"tf":1.7320508075688772},"103":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"113":{"tf":2.6457513110645907},"114":{"tf":2.6457513110645907},"115":{"tf":2.23606797749979},"116":{"tf":2.0},"117":{"tf":2.0},"118":{"tf":1.7320508075688772},"119":{"tf":2.0},"120":{"tf":2.449489742783178},"121":{"tf":1.4142135623730951},"122":{"tf":2.0},"123":{"tf":3.0},"124":{"tf":1.0},"125":{"tf":1.7320508075688772},"126":{"tf":2.449489742783178},"127":{"tf":1.0},"128":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":2.0},"140":{"tf":1.7320508075688772},"141":{"tf":1.4142135623730951},"142":{"tf":1.7320508075688772},"16":{"tf":3.872983346207417},"17":{"tf":1.0},"18":{"tf":2.0},"30":{"tf":1.0},"31":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":3.3166247903554},"49":{"tf":1.7320508075688772},"50":{"tf":1.7320508075688772},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.449489742783178},"55":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"57":{"tf":2.8284271247461903},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.7320508075688772},"62":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"106":{"tf":1.0},"114":{"tf":1.0},"124":{"tf":1.0},"32":{"tf":1.4142135623730951},"42":{"tf":1.0},"5":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"x":{"df":0,"docs":{},"t":{"df":9,"docs":{"104":{"tf":1.0},"109":{"tf":1.0},"138":{"tf":1.0},"16":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"83":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"11":{"tf":1.0}}},"u":{"df":34,"docs":{"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.4142135623730951},"108":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.4142135623730951},"118":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":2.23606797749979},"135":{"tf":1.0},"138":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":2.0},"51":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"55":{"tf":1.7320508075688772},"6":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"89":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.7320508075688772},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":6,"docs":{"142":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"5":{"tf":1.0},"69":{"tf":2.449489742783178},"70":{"tf":2.23606797749979},"72":{"tf":1.4142135623730951}}}}}}},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"105":{"tf":1.0},"11":{"tf":1.0},"5":{"tf":1.0},"90":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.7320508075688772}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"1":{"tf":1.0},"2":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":12,"docs":{"103":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"5":{"tf":1.0},"50":{"tf":1.0},"67":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":12,"docs":{"119":{"tf":1.0},"121":{"tf":1.0},"126":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"40":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"75":{"tf":1.0},"91":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0}}},"t":{"df":3,"docs":{"16":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":22,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"105":{"tf":1.0},"11":{"tf":1.7320508075688772},"120":{"tf":1.0},"122":{"tf":1.0},"142":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.7320508075688772},"20":{"tf":2.449489742783178},"21":{"tf":1.0},"22":{"tf":2.0},"23":{"tf":1.7320508075688772},"29":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":2.23606797749979},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"68":{"tf":1.0}}},"s":{"df":5,"docs":{"12":{"tf":1.0},"20":{"tf":1.0},"34":{"tf":1.0},"66":{"tf":1.0},"71":{"tf":1.0}}},"t":{"df":2,"docs":{"51":{"tf":1.0},"9":{"tf":1.0}}}},"x":{"df":5,"docs":{"114":{"tf":1.0},"20":{"tf":2.23606797749979},"21":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951}}}}}},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":19,"docs":{"105":{"tf":2.0},"108":{"tf":1.0},"111":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.4142135623730951},"140":{"tf":1.0},"15":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.4142135623730951},"5":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"85":{"tf":1.0},"88":{"tf":1.0},"91":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":4,"docs":{"117":{"tf":1.0},"120":{"tf":1.4142135623730951},"142":{"tf":3.4641016151377544},"28":{"tf":1.0}}},"y":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"136":{"tf":1.0},"4":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"131":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"76":{"tf":1.7320508075688772},"77":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"48":{"tf":1.0},"51":{"tf":1.0}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":17,"docs":{"106":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"119":{"tf":1.0},"14":{"tf":1.4142135623730951},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"42":{"tf":1.4142135623730951},"5":{"tf":1.0},"74":{"tf":1.0},"77":{"tf":1.0},"82":{"tf":1.4142135623730951},"89":{"tf":1.0},"99":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"15":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"s":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"]":{")":{"*":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"v":{"]":{")":{"*":{"df":0,"docs":{},"v":{"df":0,"docs":{},"v":{".":{"df":0,"docs":{},"v":{"df":0,"docs":{},"v":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"t":{"df":6,"docs":{"113":{"tf":1.0},"121":{"tf":1.0},"21":{"tf":1.0},"26":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"b":{"df":5,"docs":{"102":{"tf":1.0},"17":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.4142135623730951},"60":{"tf":1.0}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"101":{"tf":1.0},"114":{"tf":1.7320508075688772},"123":{"tf":1.0},"7":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"126":{"tf":1.4142135623730951}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"140":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"103":{"tf":1.0},"114":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"109":{"tf":1.0},"115":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.0},"23":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}}},"p":{"[":{"df":0,"docs":{},"k":{"1":{"_":{",":{"df":0,"docs":{},"k":{"2":{"_":{",":{"df":0,"docs":{},"k":{"3":{"_":{"]":{"=":{"df":0,"docs":{},"{":{"df":0,"docs":{},"{":{"0":{"df":1,"docs":{"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":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"82":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"142":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":7,"docs":{"105":{"tf":1.0},"11":{"tf":1.0},"117":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"30":{"tf":1.0},"5":{"tf":1.0}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":3,"docs":{"22":{"tf":1.4142135623730951},"29":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"23":{"tf":1.0},"29":{"tf":1.0}}}}}}},"i":{"c":{"a":{"df":0,"docs":{},"l":{"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":1,"docs":{"87":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":10,"docs":{"131":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"21":{"tf":1.0},"30":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.4142135623730951},"78":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}}}},"u":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":21,"docs":{"11":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"31":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"79":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"g":{"df":1,"docs":{"5":{"tf":1.0}}},"r":{"df":1,"docs":{"28":{"tf":1.0}}}},"u":{"b":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"120":{"tf":1.0},"131":{"tf":2.0},"132":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"4":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":20,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":1.4142135623730951},"124":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"27":{"tf":1.0},"43":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"87":{"tf":1.0},"9":{"tf":1.7320508075688772}}}}}},"v":{"df":1,"docs":{"123":{"tf":1.0}}}}},"y":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"​":{"df":0,"docs":{},"​":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"e":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"e":{"df":0,"docs":{},"−":{"df":0,"docs":{},"i":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":0,"docs":{},"​":{"b":{"(":{"d":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"df":0,"docs":{},"e":{")":{",":{"d":{"^":{")":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"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":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"μ":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"f":{"0":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"h":{"^":{"df":0,"docs":{},"∥":{")":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"123":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"q":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"101":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{"3":{"df":2,"docs":{"45":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}}}},"d":{"(":{"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"df":0,"docs":{},"o":{"df":1,"docs":{"45":{"tf":1.0}}},"x":{"df":3,"docs":{"45":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"54":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"df":0,"docs":{},"o":{")":{",":{"df":0,"docs":{},"∇":{"d":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"n":{",":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"∇":{"2":{"d":{"(":{"df":0,"docs":{},"x":{")":{"=":{"0":{".":{"(":{"1":{"0":{".":{"1":{".":{"1":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{".":{"1":{".":{"1":{"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":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"y":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"y":{"0":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"∇":{"d":{"(":{"df":0,"docs":{},"x":{")":{"=":{"[":{"0":{"1":{"df":0,"docs":{},"​":{"]":{",":{"df":0,"docs":{},"∇":{"2":{"d":{"(":{"df":0,"docs":{},"x":{")":{"=":{"0":{".":{"(":{"8":{".":{"3":{".":{"1":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"x":{"df":0,"docs":{},"−":{"df":0,"docs":{},"o":{")":{",":{"df":0,"docs":{},"∇":{"d":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"o":{")":{"=":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"−":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"]":{",":{"df":0,"docs":{},"∇":{"2":{"d":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"o":{")":{"=":{"0":{"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":0,"docs":{}}},"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":{},"​":{",":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"2":{"df":0,"docs":{},"f":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"x":{"2":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"f":{"2":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"2":{"(":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"x":{"2":{"(":{"d":{"df":0,"docs":{},"p":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"2":{"_":{"0":{"0":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"1":{"1":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"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":{},"f":{"df":1,"docs":{"124":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"=":{"0":{"df":1,"docs":{"54":{"tf":1.0}}},"2":{"df":3,"docs":{"70":{"tf":1.0},"72":{"tf":1.0},"91":{"tf":1.0}}},"3":{"df":1,"docs":{"91":{"tf":1.0}}},"df":0,"docs":{}},"^":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"→":{"0":{"df":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}}}},"2":{"df":1,"docs":{"125":{"tf":1.4142135623730951}}},"a":{"_":{"df":0,"docs":{},"{":{"df":0,"docs":{},"j":{"df":0,"docs":{},"k":{"df":0,"docs":{},"}":{"(":{"\\":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":1,"docs":{"53":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"​":{")":{"2":{"df":0,"docs":{},"∂":{"2":{"b":{"df":0,"docs":{},"​":{"(":{"d":{"^":{"2":{",":{"d":{"^":{"2":{")":{"=":{"df":0,"docs":{},"κ":{"d":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"v":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"126":{"tf":1.0}}},"j":{"df":1,"docs":{"126":{"tf":1.0}}}}},"df":1,"docs":{"126":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":2,"docs":{"119":{"tf":4.123105625617661},"125":{"tf":2.23606797749979}}}}},"{":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":2,"docs":{"47":{"tf":1.4142135623730951},"49":{"tf":1.0}},"}":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"k":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"53":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.7320508075688772}}}}},"t":{"a":{"df":8,"docs":{"135":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}}},"b":{"c":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":2,"docs":{"117":{"tf":1.0},"67":{"tf":1.0}}}}}}},"s":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":2.23606797749979}},"e":{"d":{"[":{"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"67":{"tf":2.0}}}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"n":{"[":{"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"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":{}}}}}},"df":0,"docs":{}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.7320508075688772}}}},"df":1,"docs":{"67":{"tf":2.449489742783178}}}}}}},"df":0,"docs":{}},"v":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":2,"docs":{"117":{"tf":1.0},"67":{"tf":1.0}}}},"df":12,"docs":{"117":{"tf":1.0},"32":{"tf":1.0},"35":{"tf":2.23606797749979},"36":{"tf":2.449489742783178},"37":{"tf":2.0},"38":{"tf":3.0},"40":{"tf":1.7320508075688772},"41":{"tf":1.0},"42":{"tf":2.6457513110645907},"43":{"tf":2.23606797749979},"67":{"tf":4.47213595499958},"68":{"tf":1.0}}},"df":0,"docs":{}},"df":22,"docs":{"100":{"tf":1.0},"101":{"tf":2.449489742783178},"114":{"tf":1.4142135623730951},"119":{"tf":1.0},"125":{"tf":1.7320508075688772},"131":{"tf":1.7320508075688772},"139":{"tf":1.0},"15":{"tf":1.0},"26":{"tf":2.449489742783178},"32":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":3.4641016151377544},"57":{"tf":1.0},"62":{"tf":3.4641016151377544},"63":{"tf":2.0},"67":{"tf":3.872983346207417},"95":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.0}},"e":{"0":{"df":1,"docs":{"120":{"tf":3.0}}},"1":{"df":1,"docs":{"120":{"tf":3.0}}},"a":{"df":0,"docs":{},"l":{"df":7,"docs":{"106":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"76":{"tf":1.0},"90":{"tf":1.0}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"75":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":8,"docs":{"27":{"tf":1.0},"41":{"tf":1.7320508075688772},"43":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":2.23606797749979},"76":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"30":{"tf":1.0},"42":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":9,"docs":{"134":{"tf":1.0},"141":{"tf":1.0},"21":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"57":{"tf":1.0},"71":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":1,"docs":{"142":{"tf":1.0}},"e":{"df":0,"docs":{},"p":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"120":{"tf":1.0}}},"y":{"(":{"_":{"d":{"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"120":{"tf":1.0}}},"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"120":{"tf":1.0}}},"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"29":{"tf":1.0},"4":{"tf":1.0},"44":{"tf":1.0},"79":{"tf":1.0}}}}}},"f":{"df":16,"docs":{"117":{"tf":1.0},"118":{"tf":2.6457513110645907},"120":{"tf":1.4142135623730951},"125":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.7320508075688772},"27":{"tf":2.0},"28":{"tf":2.23606797749979},"29":{"tf":1.4142135623730951},"35":{"tf":2.23606797749979},"54":{"tf":2.0},"62":{"tf":2.0},"63":{"tf":2.8284271247461903},"67":{"tf":1.7320508075688772},"86":{"tf":3.605551275463989},"87":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":38,"docs":{"101":{"tf":1.7320508075688772},"102":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.0},"134":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":2.23606797749979},"48":{"tf":1.4142135623730951},"5":{"tf":2.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":2.0},"6":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.4142135623730951},"73":{"tf":1.0},"76":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"82":{"tf":2.0},"83":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.7320508075688772},"95":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"t":{"df":33,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.0},"115":{"tf":1.0},"134":{"tf":1.4142135623730951},"14":{"tf":1.0},"140":{"tf":1.7320508075688772},"16":{"tf":1.0},"20":{"tf":2.0},"21":{"tf":1.0},"22":{"tf":1.7320508075688772},"23":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":2.0},"59":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":2.449489742783178},"75":{"tf":1.0},"76":{"tf":1.0},"79":{"tf":1.4142135623730951},"89":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.7320508075688772}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"70":{"tf":1.0}}}}}}},"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"86":{"tf":2.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":31,"docs":{"100":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.0},"14":{"tf":1.0},"142":{"tf":1.7320508075688772},"20":{"tf":1.0},"29":{"tf":1.0},"4":{"tf":1.4142135623730951},"5":{"tf":2.0},"50":{"tf":1.0},"6":{"tf":2.0},"65":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":2.449489742783178},"71":{"tf":4.358898943540674},"72":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951},"74":{"tf":2.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":2.0},"78":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}},"df":5,"docs":{"120":{"tf":1.0},"131":{"tf":1.0},"82":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":19,"docs":{"101":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"14":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"82":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"12":{"tf":1.0}}}},"t":{"a":{"0":{"(":{"b":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"131":{"tf":3.0}}},"1":{"(":{"2":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"df":11,"docs":{"10":{"tf":1.0},"11":{"tf":2.0},"14":{"tf":1.0},"32":{"tf":1.7320508075688772},"33":{"tf":1.4142135623730951},"34":{"tf":3.0},"38":{"tf":1.0},"41":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"7":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"v":{"df":11,"docs":{"132":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"5":{"tf":1.0},"69":{"tf":1.0},"88":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"16":{"tf":1.0},"92":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":18,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"120":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"5":{"tf":1.4142135623730951},"51":{"tf":1.0},"65":{"tf":1.0},"7":{"tf":1.0},"74":{"tf":1.0},"80":{"tf":1.0},"83":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"58":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951}}}}},"t":{"df":24,"docs":{"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"114":{"tf":1.0},"119":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"129":{"tf":1.0},"130":{"tf":1.0},"27":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.4142135623730951},"75":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.4142135623730951},"85":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.0},"94":{"tf":1.0}}}},"s":{"df":2,"docs":{"41":{"tf":1.4142135623730951},"47":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":23,"docs":{"101":{"tf":2.0},"106":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.4142135623730951},"117":{"tf":1.0},"119":{"tf":1.0},"130":{"tf":1.0},"134":{"tf":1.0},"141":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.7320508075688772},"5":{"tf":2.0},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":3.1622776601683795},"75":{"tf":1.7320508075688772},"76":{"tf":2.23606797749979},"77":{"tf":2.0},"79":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":15,"docs":{"1":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.4142135623730951},"114":{"tf":1.0},"121":{"tf":1.0},"124":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"61":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"87":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"25":{"tf":1.0},"5":{"tf":1.4142135623730951},"67":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"78":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":55,"docs":{"10":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"105":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"115":{"tf":1.7320508075688772},"116":{"tf":1.0},"118":{"tf":2.0},"119":{"tf":2.0},"12":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"14":{"tf":1.0},"142":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.0},"33":{"tf":1.0},"4":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.0},"58":{"tf":1.4142135623730951},"7":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"79":{"tf":2.0},"80":{"tf":2.0},"81":{"tf":1.4142135623730951},"82":{"tf":2.0},"83":{"tf":1.4142135623730951},"85":{"tf":2.449489742783178},"86":{"tf":1.7320508075688772},"88":{"tf":1.0},"89":{"tf":2.23606797749979},"9":{"tf":1.0},"92":{"tf":2.0},"93":{"tf":1.7320508075688772},"94":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}},"s":{"c":{"df":1,"docs":{"87":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"16":{"tf":1.7320508075688772},"21":{"tf":2.0},"22":{"tf":1.4142135623730951},"34":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":13,"docs":{"101":{"tf":1.0},"11":{"tf":1.0},"22":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.0},"5":{"tf":1.7320508075688772},"70":{"tf":1.7320508075688772},"71":{"tf":1.4142135623730951},"82":{"tf":1.0},"88":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.4142135623730951}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"69":{"tf":1.0},"72":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":16,"docs":{"11":{"tf":1.0},"113":{"tf":1.0},"142":{"tf":1.0},"16":{"tf":1.0},"26":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0}}}},"r":{"df":3,"docs":{"18":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"12":{"tf":1.0}}}}},"v":{"<":{"0":{"df":1,"docs":{"87":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"(":{"[":{"df":0,"docs":{},"p":{"2":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"p":{"3":{"1":{"df":1,"docs":{"87":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"x":{"2":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"3":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"4":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"]":{")":{"df":0,"docs":{},"≡":{"(":{"df":0,"docs":{},"x":{"2":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"df":0,"docs":{},"×":{"df":0,"docs":{},"x":{"3":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"x":{"4":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"=":{"0":{"(":{"2":{"3":{".":{"3":{".":{"1":{"df":1,"docs":{"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":{}}}}}},"df":0,"docs":{}},"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":{"2":{"1":{",":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"3":{"1":{",":{"2":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"2":{"1":{",":{"2":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"3":{"1":{",":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"=":{"0":{"(":{"1":{"5":{".":{"3":{".":{"2":{"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":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{"3":{"1":{"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":{},"f":{")":{">":{"0":{"df":2,"docs":{"76":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"≤":{"0":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":1,"docs":{"76":{"tf":1.0}}},"u":{")":{"=":{"1":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"−":{"1":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"v":{")":{"=":{"1":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"−":{"1":{"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":{},"x":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"∣":{"=":{"df":0,"docs":{},"∣":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"[":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{"]":{")":{"df":0,"docs":{},"∣":{"=":{"2":{"a":{"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":{}}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"126":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":15,"docs":{"104":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"123":{"tf":1.0},"130":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"55":{"tf":1.0},"70":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":12,"docs":{"120":{"tf":1.0},"135":{"tf":1.7320508075688772},"137":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"5":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"62":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":17,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"11":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.0},"139":{"tf":1.0},"16":{"tf":1.0},"26":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"60":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"87":{"tf":1.7320508075688772}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":6,"docs":{"116":{"tf":1.0},"121":{"tf":1.0},"35":{"tf":1.0},"4":{"tf":1.0},"43":{"tf":1.0},"84":{"tf":1.0}}}}}},"i":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"16":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"f":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"x":{"^":{"df":0,"docs":{},"t":{"df":1,"docs":{"86":{"tf":1.0}}}},"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"s":{"0":{"=":{"d":{"df":0,"docs":{},"f":{"d":{"df":0,"docs":{},"s":{"/":{".":{"df":0,"docs":{},"{":{"df":0,"docs":{},"u":{"1":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"=":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"[":{"d":{"df":0,"docs":{},"f":{"d":{"df":0,"docs":{},"s":{"0":{",":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"=":{"d":{"[":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"[":{"df":0,"docs":{},"f":{"]":{",":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"82":{"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":{}},"h":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":2,"docs":{"119":{"tf":3.605551275463989},"125":{"tf":2.0}}}}}},"df":6,"docs":{"119":{"tf":3.0},"125":{"tf":1.7320508075688772},"54":{"tf":3.4641016151377544},"62":{"tf":3.4641016151377544},"63":{"tf":2.0},"67":{"tf":3.3166247903554}}}},"df":0,"docs":{}},"i":{"a":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{")":{")":{"=":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{")":{"df":0,"docs":{},"i":{"df":1,"docs":{"81":{"tf":1.0}}}},"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":{"a":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"​":{"df":0,"docs":{},"f":{"df":1,"docs":{"81":{"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":{},"n":{"df":15,"docs":{"106":{"tf":1.0},"25":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"41":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"6":{"tf":1.0},"66":{"tf":1.4142135623730951},"75":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"81":{"tf":2.6457513110645907},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"95":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"115":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"86":{"tf":2.0}},"f":{"df":0,"docs":{},"f":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":3,"docs":{"26":{"tf":1.0},"27":{"tf":1.7320508075688772},"67":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":4,"docs":{"26":{"tf":1.0},"27":{"tf":2.23606797749979},"29":{"tf":1.0},"67":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":19,"docs":{"118":{"tf":1.0},"12":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.0},"140":{"tf":1.0},"18":{"tf":1.0},"26":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.7320508075688772},"53":{"tf":1.0},"58":{"tf":1.7320508075688772},"63":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.4142135623730951},"9":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":12,"docs":{"101":{"tf":1.0},"118":{"tf":1.4142135623730951},"121":{"tf":1.0},"124":{"tf":1.0},"4":{"tf":1.0},"7":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"92":{"tf":1.0}}}}}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"92":{"tf":1.0}},"i":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"82":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}}},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∗":{")":{"df":0,"docs":{},"≥":{"0":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":12,"docs":{"104":{"tf":1.0},"132":{"tf":1.0},"29":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0},"6":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.4142135623730951},"87":{"tf":1.0},"95":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":9,"docs":{"104":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"26":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":39,"docs":{"102":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":2.23606797749979},"121":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.0},"16":{"tf":1.7320508075688772},"21":{"tf":2.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"28":{"tf":1.4142135623730951},"30":{"tf":1.0},"32":{"tf":1.7320508075688772},"34":{"tf":2.0},"35":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":2.0},"63":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":2.0},"77":{"tf":1.0},"8":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":31,"docs":{"1":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"133":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0},"5":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.7320508075688772}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"29":{"tf":1.0}}}}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":20,"docs":{"100":{"tf":2.23606797749979},"103":{"tf":1.4142135623730951},"109":{"tf":1.0},"111":{"tf":1.7320508075688772},"117":{"tf":1.7320508075688772},"15":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951},"32":{"tf":2.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":2.23606797749979},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"38":{"tf":1.0},"43":{"tf":1.0},"49":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":2.0},"98":{"tf":1.0},"99":{"tf":3.3166247903554}}}}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":5,"docs":{"101":{"tf":1.4142135623730951},"114":{"tf":1.0},"48":{"tf":1.0},"57":{"tf":1.0},"92":{"tf":1.0}}}}}}},"v":{"df":1,"docs":{"22":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"23":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":50,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"112":{"tf":2.0},"113":{"tf":1.7320508075688772},"114":{"tf":2.23606797749979},"115":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":3.0},"124":{"tf":1.4142135623730951},"127":{"tf":1.7320508075688772},"128":{"tf":1.4142135623730951},"132":{"tf":1.0},"134":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"4":{"tf":1.7320508075688772},"5":{"tf":2.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"58":{"tf":2.23606797749979},"6":{"tf":1.4142135623730951},"60":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"71":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"84":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"tf":2.0},"9":{"tf":1.4142135623730951},"90":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"93":{"tf":1.7320508075688772},"94":{"tf":1.7320508075688772},"95":{"tf":2.23606797749979},"96":{"tf":1.7320508075688772},"97":{"tf":2.449489742783178},"99":{"tf":1.7320508075688772}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":30,"docs":{"101":{"tf":1.0},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.4142135623730951},"114":{"tf":1.0},"115":{"tf":1.0},"125":{"tf":1.0},"138":{"tf":1.0},"141":{"tf":1.0},"18":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"4":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"55":{"tf":1.0},"69":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.4142135623730951},"97":{"tf":1.0},"99":{"tf":1.0}}}}}},"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"104":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":13,"docs":{"100":{"tf":1.0},"105":{"tf":1.4142135623730951},"108":{"tf":1.0},"111":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"6":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"99":{"tf":1.7320508075688772}}},"df":0,"docs":{},"y":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":3,"docs":{"102":{"tf":1.0},"17":{"tf":1.0},"57":{"tf":1.0}}}}},"t":{"2":{"_":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"120":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"n":{"c":{"df":35,"docs":{"101":{"tf":3.3166247903554},"113":{"tf":1.0},"114":{"tf":2.23606797749979},"118":{"tf":3.7416573867739413},"119":{"tf":1.7320508075688772},"120":{"tf":2.449489742783178},"121":{"tf":1.4142135623730951},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":3.7416573867739413},"138":{"tf":1.0},"139":{"tf":1.4142135623730951},"141":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"22":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":4.58257569495584},"46":{"tf":1.0},"47":{"tf":1.4142135623730951},"48":{"tf":2.6457513110645907},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":2.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"55":{"tf":2.0},"57":{"tf":1.0},"62":{"tf":2.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"120":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":8,"docs":{"106":{"tf":1.0},"112":{"tf":1.0},"130":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.0}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":6,"docs":{"101":{"tf":1.0},"11":{"tf":1.0},"20":{"tf":1.0},"91":{"tf":1.7320508075688772},"92":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951}}}}},"i":{"d":{"df":6,"docs":{"119":{"tf":1.7320508075688772},"125":{"tf":1.0},"5":{"tf":1.0},"62":{"tf":1.0},"85":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"58":{"tf":1.0},"82":{"tf":1.7320508075688772}}}}}},"j":{"df":1,"docs":{"86":{"tf":2.0}},"k":{"df":0,"docs":{},"​":{"(":{"(":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"β":{")":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"+":{"df":0,"docs":{},"β":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"+":{"1":{")":{">":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"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":{},"α":{"df":0,"docs":{},"p":{")":{">":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"+":{"df":0,"docs":{},"β":{"df":0,"docs":{},"p":{")":{"df":0,"docs":{},"≥":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"k":{"df":1,"docs":{"126":{"tf":1.0}},"​":{"df":0,"docs":{},"∂":{"b":{"df":0,"docs":{},"​":{"<":{"0":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"n":{"df":5,"docs":{"15":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"41":{"tf":1.7320508075688772},"6":{"tf":1.0}},"×":{"d":{"df":0,"docs":{},"n":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":1,"docs":{"67":{"tf":1.0}},"f":{"df":25,"docs":{"101":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":2.8284271247461903},"35":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.7320508075688772},"41":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":3.1622776601683795},"68":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.7320508075688772}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":24,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":2.6457513110645907},"106":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.4142135623730951},"128":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"20":{"tf":1.0},"5":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.7320508075688772},"76":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"85":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":4,"docs":{"14":{"tf":1.0},"27":{"tf":1.0},"67":{"tf":1.0},"81":{"tf":1.0}}}},"t":{"df":5,"docs":{"5":{"tf":1.0},"63":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0}}},"u":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"123":{"tf":1.0},"131":{"tf":2.449489742783178},"66":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":7,"docs":{"120":{"tf":1.4142135623730951},"16":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"p":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"f":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"86":{"tf":1.0}}}}},"df":1,"docs":{"86":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"f":{"=":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"[":{"d":{"df":0,"docs":{},"p":{"d":{"df":0,"docs":{},"s":{"1":{".":{"d":{"df":0,"docs":{},"s":{"d":{"df":0,"docs":{},"f":{"0":{"df":1,"docs":{"82":{"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":{}},"s":{"0":{"=":{"d":{"df":0,"docs":{},"p":{"d":{"df":0,"docs":{},"s":{"/":{".":{"df":0,"docs":{},"{":{"df":0,"docs":{},"u":{"1":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"=":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"[":{"d":{"df":0,"docs":{},"p":{"d":{"df":0,"docs":{},"s":{"0":{",":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"=":{"d":{"[":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"[":{"df":0,"docs":{},"p":{"]":{",":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"82":{"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":{"120":{"tf":2.8284271247461903}},"e":{"(":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"a":{"^":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"e":{")":{"<":{"d":{"df":1,"docs":{"124":{"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":{},"x":{")":{",":{"df":1,"docs":{"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"o":{"(":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"df":0,"docs":{},"o":{")":{"=":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"o":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":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":{"113":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":1,"docs":{"86":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"(":{"df":1,"docs":{"86":{"tf":1.0}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"x":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"_":{"0":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"x":{"_":{"2":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"134":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"34":{"tf":1.0}}},"w":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"29":{"tf":1.0},"62":{"tf":1.0},"85":{"tf":1.4142135623730951}},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"df":8,"docs":{"120":{"tf":1.0},"126":{"tf":1.0},"54":{"tf":2.23606797749979},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"67":{"tf":1.4142135623730951},"87":{"tf":1.0}}}}},"s":{"d":{"df":0,"docs":{},"f":{"0":{"=":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"[":{"d":{"df":0,"docs":{},"f":{"d":{"df":0,"docs":{},"s":{"1":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"p":{",":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"118":{"tf":1.0}},"​":{")":{"=":{"df":0,"docs":{},"⎩":{"df":0,"docs":{},"⎨":{"df":0,"docs":{},"⎧":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"p":{"df":0,"docs":{},"−":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"2":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"118":{"tf":1.0}}}}},"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":{"a":{"^":{"df":0,"docs":{},"​":{",":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"t":{"d":{"df":0,"docs":{},"x":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"d":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"v":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"v":{",":{"=":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"​":{"(":{"1":{".":{"2":{".":{"1":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":2.23606797749979},"49":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":19,"docs":{"101":{"tf":1.0},"106":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"12":{"tf":1.0},"135":{"tf":1.0},"14":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"87":{"tf":1.0},"92":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":20,"docs":{"100":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"41":{"tf":1.0},"58":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"71":{"tf":1.0},"76":{"tf":1.0},"87":{"tf":1.4142135623730951},"92":{"tf":1.0}}}}},"x":{".":{"df":0,"docs":{},"​":{"(":{"1":{"9":{".":{"3":{".":{"1":{"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":{}}},"=":{"df":0,"docs":{},"e":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"a":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ψ":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"i":{"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":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"a":{"^":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{")":{"df":0,"docs":{},"i":{"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":{}}},"df":0,"docs":{}},"∂":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ψ":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"i":{"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":{}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":21,"docs":{"122":{"tf":1.0},"127":{"tf":1.0},"142":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"31":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"57":{"tf":1.0},"6":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.4142135623730951},"76":{"tf":1.0},"83":{"tf":1.0},"91":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{}}},"}":{"(":{"d":{"_":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"×":{"d":{"df":3,"docs":{"42":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"≥":{"d":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{")":{"=":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"+":{"df":0,"docs":{},"h":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"m":{"2":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"h":{"2":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{")":{".":{"(":{"4":{".":{"1":{".":{"1":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"j":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"e":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"j":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"df":0,"docs":{},"j":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"​":{"=":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"x":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{")":{"=":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"~":{"df":0,"docs":{},"n":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"m":{"2":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"2":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{")":{".":{"df":0,"docs":{},"​":{"(":{"2":{".":{"1":{".":{"1":{"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":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"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":{},"t":{"df":0,"docs":{},"λ":{"=":{"0":{"a":{"df":0,"docs":{},"x":{"=":{"b":{"df":0,"docs":{},"​":{"(":{"2":{".":{"2":{".":{"2":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"−":{"df":0,"docs":{},"k":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"0":{",":{"a":{"df":0,"docs":{},"x":{"=":{"b":{",":{"df":0,"docs":{},"∀":{"df":0,"docs":{},"k":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"21":{"tf":3.3166247903554},"22":{"tf":2.6457513110645907}}}},"df":4,"docs":{"14":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0},"59":{"tf":1.0}},"′":{")":{"+":{"df":0,"docs":{},"h":{"2":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"d":{"^":{"df":0,"docs":{},"∂":{"d":{"df":0,"docs":{},"∂":{"b":{"df":0,"docs":{},"​":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"′":{")":{")":{"df":0,"docs":{},"∇":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"′":{")":{"=":{"0":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"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":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"′":{")":{")":{"=":{"0":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"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":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"′":{")":{"=":{"0":{",":{"(":{"7":{".":{"3":{".":{"2":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"j":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"′":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"′":{")":{"=":{"0":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"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":{},"j":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∗":{")":{"=":{"0":{",":{"df":0,"docs":{},"∀":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{"2":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"v":{"1":{"df":1,"docs":{"82":{"tf":2.0}}},"2":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"[":{"(":{"df":0,"docs":{},"i":{"df":2,"docs":{"25":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":2,"docs":{"25":{"tf":1.7320508075688772},"85":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":6,"docs":{"120":{"tf":1.4142135623730951},"131":{"tf":1.0},"136":{"tf":1.0},"14":{"tf":1.0},"54":{"tf":1.0},"87":{"tf":1.0}}}},"0":{"[":{"0":{"df":1,"docs":{"118":{"tf":2.23606797749979}}},"1":{"df":1,"docs":{"118":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":6,"docs":{"106":{"tf":1.0},"118":{"tf":3.605551275463989},"120":{"tf":2.8284271247461903},"124":{"tf":1.0},"125":{"tf":2.23606797749979},"130":{"tf":1.0}},"​":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"∩":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"n":{"df":1,"docs":{"112":{"tf":1.0}}}}}}},"1":{"[":{"0":{"df":1,"docs":{"118":{"tf":2.23606797749979}}},"1":{"df":1,"docs":{"118":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":5,"docs":{"118":{"tf":3.3166247903554},"120":{"tf":2.8284271247461903},"124":{"tf":1.0},"125":{"tf":2.0},"134":{"tf":1.7320508075688772}},"​":{"'":{"df":1,"docs":{"134":{"tf":1.0}}},",":{"df":1,"docs":{"134":{"tf":1.0}}},"<":{"df":1,"docs":{"134":{"tf":1.0}}},"df":0,"docs":{},"−":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"⋅":{"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"−":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{")":{"<":{"0":{",":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"p":{"df":0,"docs":{},"−":{"df":0,"docs":{},"e":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"2":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"118":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"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":1,"docs":{"118":{"tf":1.0}}},"1":{"df":1,"docs":{"118":{"tf":1.0}}},"df":0,"docs":{},"i":{"]":{"[":{"(":{"df":0,"docs":{},"j":{"df":1,"docs":{"117":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"27":{"tf":1.0}}},"j":{"df":1,"docs":{"27":{"tf":1.0}}}},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"86":{"tf":1.0}}},"j":{"df":1,"docs":{"86":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"86":{"tf":1.7320508075688772}}}},"_":{"df":0,"docs":{},"i":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"26":{"tf":1.7320508075688772}}}},"df":1,"docs":{"22":{"tf":1.0}}},"j":{"df":1,"docs":{"22":{"tf":1.0}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"28":{"tf":1.7320508075688772},"54":{"tf":1.0},"67":{"tf":1.0}}}}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"h":{"df":67,"docs":{"10":{"tf":1.0},"100":{"tf":1.0},"101":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"112":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":2.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"136":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"29":{"tf":2.6457513110645907},"30":{"tf":1.0},"32":{"tf":2.449489742783178},"4":{"tf":1.0},"42":{"tf":1.4142135623730951},"45":{"tf":1.0},"48":{"tf":1.4142135623730951},"5":{"tf":2.449489742783178},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":1.0},"6":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.23606797749979},"67":{"tf":2.23606797749979},"69":{"tf":1.0},"7":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.7320508075688772},"75":{"tf":1.0},"76":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.4142135623730951},"85":{"tf":2.0},"88":{"tf":2.0},"90":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"4":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"107":{"tf":1.0},"120":{"tf":1.0},"52":{"tf":1.0},"63":{"tf":1.0},"76":{"tf":1.0},"82":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"'":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"df":4,"docs":{"106":{"tf":1.0},"5":{"tf":1.0},"76":{"tf":1.0},"82":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"74":{"tf":1.0},"77":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.0},"41":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"g":{"df":27,"docs":{"108":{"tf":1.0},"112":{"tf":2.23606797749979},"113":{"tf":1.4142135623730951},"114":{"tf":3.0},"117":{"tf":2.8284271247461903},"118":{"tf":2.6457513110645907},"119":{"tf":2.449489742783178},"120":{"tf":3.605551275463989},"121":{"tf":2.0},"123":{"tf":2.23606797749979},"124":{"tf":2.449489742783178},"125":{"tf":2.449489742783178},"126":{"tf":1.0},"127":{"tf":1.7320508075688772},"133":{"tf":2.23606797749979},"134":{"tf":4.123105625617661},"138":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"141":{"tf":2.23606797749979},"25":{"tf":2.449489742783178},"27":{"tf":2.8284271247461903},"29":{"tf":1.7320508075688772},"5":{"tf":2.0},"56":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"71":{"tf":1.0},"85":{"tf":1.7320508075688772}},"e":{"'":{"df":1,"docs":{"121":{"tf":1.0}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"a":{"d":{"d":{"(":{"(":{"df":0,"docs":{},"e":{"[":{"df":0,"docs":{},"i":{"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"117":{"tf":1.0}}}},"df":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":{"117":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":23,"docs":{"106":{"tf":2.0},"107":{"tf":1.7320508075688772},"112":{"tf":1.7320508075688772},"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"117":{"tf":1.7320508075688772},"118":{"tf":3.3166247903554},"123":{"tf":1.0},"125":{"tf":1.4142135623730951},"130":{"tf":1.7320508075688772},"25":{"tf":1.4142135623730951},"27":{"tf":2.0},"28":{"tf":3.872983346207417},"29":{"tf":2.0},"35":{"tf":2.6457513110645907},"54":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.7320508075688772},"74":{"tf":1.0},"82":{"tf":2.0},"85":{"tf":2.23606797749979},"86":{"tf":1.7320508075688772},"87":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":26,"docs":{"10":{"tf":1.0},"111":{"tf":1.0},"137":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":2.23606797749979},"17":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.7320508075688772},"5":{"tf":1.7320508075688772},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"55":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.7320508075688772},"74":{"tf":1.0},"85":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":25,"docs":{"121":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.7320508075688772},"23":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"36":{"tf":1.4142135623730951},"38":{"tf":1.0},"41":{"tf":1.7320508075688772},"42":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.7320508075688772},"50":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"6":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"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":{"4":{"tf":1.0}}}}}}}}}}}},"t":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"i":{"0":{"df":1,"docs":{"126":{"tf":2.0}}},"1":{"df":1,"docs":{"126":{"tf":2.0}}},"[":{"0":{"df":4,"docs":{"117":{"tf":1.0},"119":{"tf":2.0},"120":{"tf":1.0},"125":{"tf":1.4142135623730951}}},"1":{"df":4,"docs":{"117":{"tf":1.4142135623730951},"119":{"tf":2.0},"120":{"tf":1.0},"125":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":5,"docs":{"117":{"tf":1.0},"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"125":{"tf":1.0},"29":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"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":{"22":{"tf":2.449489742783178}}}}}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"27":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":3,"docs":{"22":{"tf":1.7320508075688772},"23":{"tf":1.0},"27":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"92":{"tf":1.0}}}}}}}}},"l":{"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"101":{"tf":1.0},"24":{"tf":1.0},"4":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":45,"docs":{"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":2.6457513110645907},"108":{"tf":1.7320508075688772},"116":{"tf":1.4142135623730951},"119":{"tf":2.0},"125":{"tf":1.0},"128":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"14":{"tf":2.8284271247461903},"142":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.7320508075688772},"22":{"tf":1.0},"27":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"48":{"tf":1.7320508075688772},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":2.6457513110645907},"68":{"tf":1.4142135623730951},"69":{"tf":2.0},"71":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"73":{"tf":2.0},"74":{"tf":4.123105625617661},"75":{"tf":1.7320508075688772},"76":{"tf":2.8284271247461903},"77":{"tf":3.0},"78":{"tf":1.0},"79":{"tf":2.0},"81":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":2.0},"86":{"tf":1.0},"88":{"tf":1.0},"91":{"tf":1.0},"96":{"tf":1.0}},"o":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":7,"docs":{"116":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"132":{"tf":1.0},"24":{"tf":1.0},"29":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"105":{"tf":1.0}}},"df":36,"docs":{"103":{"tf":1.0},"104":{"tf":2.0},"105":{"tf":2.8284271247461903},"106":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"109":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.4142135623730951},"116":{"tf":1.0},"117":{"tf":2.0},"12":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":2.0},"142":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"20":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"4":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":2.0},"67":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":2.449489742783178},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"f":{"df":2,"docs":{"118":{"tf":1.4142135623730951},"125":{"tf":1.0}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":17,"docs":{"136":{"tf":1.0},"23":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":2.23606797749979},"35":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.7320508075688772},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"68":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"45":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"29":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}},"u":{"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"m":{"b":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":3,"docs":{"29":{"tf":1.0},"5":{"tf":1.0},"74":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"7":{"tf":1.0}},"i":{"df":1,"docs":{"5":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":15,"docs":{"139":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"55":{"tf":1.0},"79":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0}}}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":9,"docs":{"101":{"tf":1.0},"14":{"tf":1.0},"141":{"tf":1.0},"20":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"30":{"tf":1.4142135623730951},"45":{"tf":1.0}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"28":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0}}}}}}},"d":{"df":7,"docs":{"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"134":{"tf":1.4142135623730951},"35":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0},"84":{"tf":1.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}}}}}},"{":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"59":{"tf":2.0}}}}},"p":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"142":{"tf":1.0},"35":{"tf":1.0}}}},"i":{"df":59,"docs":{"10":{"tf":1.0},"101":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":2.6457513110645907},"121":{"tf":1.4142135623730951},"122":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":2.23606797749979},"128":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"134":{"tf":1.4142135623730951},"139":{"tf":1.0},"14":{"tf":2.6457513110645907},"141":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"20":{"tf":2.6457513110645907},"21":{"tf":3.1622776601683795},"22":{"tf":2.449489742783178},"23":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"27":{"tf":3.0},"29":{"tf":1.0},"30":{"tf":1.4142135623730951},"35":{"tf":1.7320508075688772},"48":{"tf":2.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":2.23606797749979},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"67":{"tf":2.8284271247461903},"68":{"tf":1.7320508075688772},"72":{"tf":1.0},"73":{"tf":2.23606797749979},"74":{"tf":3.4641016151377544},"75":{"tf":1.7320508075688772},"76":{"tf":3.1622776601683795},"77":{"tf":2.23606797749979},"78":{"tf":1.4142135623730951},"79":{"tf":2.0},"80":{"tf":1.0},"83":{"tf":1.0},"86":{"tf":2.6457513110645907},"88":{"tf":1.0},"99":{"tf":1.0}}}}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"c":{"df":14,"docs":{"100":{"tf":1.7320508075688772},"101":{"tf":1.0},"103":{"tf":1.0},"111":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":2.23606797749979},"55":{"tf":1.0},"67":{"tf":1.0},"77":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}}},"g":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"29":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"69":{"tf":1.0},"79":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"c":{"df":11,"docs":{"132":{"tf":1.0},"17":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"34":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0},"60":{"tf":1.0},"67":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":4,"docs":{"5":{"tf":1.0},"52":{"tf":1.0},"67":{"tf":1.0},"92":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":35,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.7320508075688772},"11":{"tf":1.0},"131":{"tf":1.4142135623730951},"134":{"tf":1.0},"136":{"tf":1.0},"16":{"tf":2.0},"18":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"36":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"88":{"tf":1.4142135623730951},"99":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"132":{"tf":1.0},"34":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"67":{"tf":1.0}}}},"i":{"df":0,"docs":{},"r":{"df":11,"docs":{"105":{"tf":1.0},"123":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.0},"86":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"69":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":10,"docs":{"106":{"tf":1.0},"108":{"tf":1.0},"130":{"tf":1.0},"26":{"tf":2.0},"33":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"42":{"tf":1.0},"66":{"tf":1.0},"79":{"tf":1.0},"81":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"16":{"tf":2.23606797749979},"48":{"tf":1.0},"87":{"tf":1.0}}}}}},"v":{"df":2,"docs":{"126":{"tf":2.0},"63":{"tf":4.123105625617661}},"h":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":18,"docs":{"103":{"tf":1.0},"15":{"tf":2.23606797749979},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"21":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.7320508075688772},"36":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.0},"71":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.0}}},"t":{"df":62,"docs":{"101":{"tf":2.23606797749979},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":2.0},"107":{"tf":1.7320508075688772},"11":{"tf":2.0},"113":{"tf":2.0},"115":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.0},"123":{"tf":1.4142135623730951},"124":{"tf":1.0},"131":{"tf":3.0},"132":{"tf":1.0},"134":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"20":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951},"27":{"tf":1.0},"32":{"tf":2.23606797749979},"33":{"tf":2.8284271247461903},"34":{"tf":1.7320508075688772},"4":{"tf":1.0},"40":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":2.449489742783178},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.0},"58":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951},"63":{"tf":2.449489742783178},"67":{"tf":1.4142135623730951},"69":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.7320508075688772},"74":{"tf":2.449489742783178},"75":{"tf":1.4142135623730951},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"82":{"tf":1.0},"85":{"tf":1.4142135623730951},"87":{"tf":3.1622776601683795},"88":{"tf":1.7320508075688772},"89":{"tf":2.8284271247461903},"9":{"tf":1.4142135623730951},"90":{"tf":1.4142135623730951},"91":{"tf":2.23606797749979},"92":{"tf":2.23606797749979},"93":{"tf":1.4142135623730951},"94":{"tf":2.0},"95":{"tf":3.0},"96":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":2.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"—":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"93":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"89":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"63":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"v":{"a":{"df":0,"docs":{},"l":{"df":10,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"131":{"tf":1.0},"40":{"tf":1.0},"49":{"tf":1.0},"57":{"tf":1.0},"87":{"tf":1.4142135623730951},"89":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}}}},"df":1,"docs":{"59":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"103":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"49":{"tf":1.0},"57":{"tf":1.0},"66":{"tf":1.0},"87":{"tf":1.0}}}}}},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":9,"docs":{"120":{"tf":1.0},"133":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":19,"docs":{"100":{"tf":1.0},"139":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"83":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"93":{"tf":1.0}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":12,"docs":{"117":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"5":{"tf":2.0},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"91":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":8,"docs":{"11":{"tf":1.7320508075688772},"120":{"tf":2.0},"121":{"tf":1.0},"22":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.0},"73":{"tf":1.0},"9":{"tf":1.0}}}}}},"t":{"a":{"df":1,"docs":{"120":{"tf":1.7320508075688772}}},"c":{"df":3,"docs":{"14":{"tf":1.0},"58":{"tf":1.0},"76":{"tf":1.0}}},"df":11,"docs":{"114":{"tf":1.0},"120":{"tf":1.0},"134":{"tf":1.0},"142":{"tf":3.0},"41":{"tf":1.0},"5":{"tf":1.0},"58":{"tf":1.0},"76":{"tf":1.4142135623730951},"79":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.7320508075688772}}},"u":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"10":{"tf":3.0},"104":{"tf":1.0},"11":{"tf":2.23606797749979},"12":{"tf":1.7320508075688772},"14":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":2.23606797749979},"35":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":2.0},"96":{"tf":1.4142135623730951},"97":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"90":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":13,"docs":{"112":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"20":{"tf":1.0},"28":{"tf":1.4142135623730951},"30":{"tf":1.0},"53":{"tf":1.0},"66":{"tf":1.0},"95":{"tf":1.7320508075688772},"96":{"tf":1.0},"99":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":16,"docs":{"102":{"tf":1.0},"11":{"tf":1.4142135623730951},"112":{"tf":1.0},"114":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"57":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":6,"docs":{"106":{"tf":1.0},"112":{"tf":1.0},"130":{"tf":1.0},"29":{"tf":1.0},"4":{"tf":1.0},"54":{"tf":1.0}}}},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"df":2,"docs":{"29":{"tf":1.0},"5":{"tf":1.0}},"u":{"df":3,"docs":{"10":{"tf":1.0},"29":{"tf":1.0},"9":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"y":{"d":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"5":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"103":{"tf":1.0}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"105":{"tf":1.4142135623730951},"114":{"tf":1.0},"118":{"tf":1.0},"121":{"tf":1.0},"134":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}}}}}},"i":{"d":{"df":2,"docs":{"40":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}},"v":{"df":3,"docs":{"69":{"tf":1.0},"7":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"53":{"tf":1.0},"54":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":9,"docs":{"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"113":{"tf":1.0},"126":{"tf":1.0},"32":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"87":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":10,"docs":{"109":{"tf":1.0},"112":{"tf":1.0},"127":{"tf":1.0},"136":{"tf":1.0},"23":{"tf":1.0},"37":{"tf":1.0},"51":{"tf":1.0},"7":{"tf":1.0},"73":{"tf":1.0},"93":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":37,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"120":{"tf":1.0},"126":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.4142135623730951},"32":{"tf":2.449489742783178},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"38":{"tf":1.7320508075688772},"41":{"tf":1.0},"42":{"tf":1.7320508075688772},"45":{"tf":2.0},"5":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":2.23606797749979},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"74":{"tf":1.4142135623730951},"76":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.4142135623730951},"85":{"tf":1.0},"87":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"20":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"34":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"l":{"df":2,"docs":{"12":{"tf":1.0},"5":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"t":{"df":5,"docs":{"123":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"63":{"tf":1.0},"76":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":3,"docs":{"16":{"tf":1.0},"27":{"tf":1.0},"75":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"24":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":8,"docs":{"10":{"tf":1.0},"116":{"tf":1.0},"122":{"tf":1.0},"125":{"tf":1.0},"16":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":1.0},"5":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":8,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"27":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.0},"74":{"tf":1.0},"83":{"tf":1.0},"91":{"tf":1.4142135623730951}}}}},"h":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"41":{"tf":1.0},"74":{"tf":1.0}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"104":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"21":{"tf":1.7320508075688772},"29":{"tf":1.0},"30":{"tf":1.0},"48":{"tf":1.0},"67":{"tf":1.0},"77":{"tf":1.0},"91":{"tf":1.4142135623730951}}}}},"p":{"a":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"131":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"16":{"tf":1.0},"18":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":6,"docs":{"114":{"tf":1.0},"121":{"tf":1.0},"22":{"tf":1.0},"50":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"105":{"tf":1.0},"29":{"tf":1.0},"74":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}}}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"106":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0}}}},"n":{"df":2,"docs":{"34":{"tf":1.0},"88":{"tf":1.0}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"58":{"tf":1.4142135623730951},"78":{"tf":1.0},"8":{"tf":2.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"115":{"tf":1.0},"124":{"tf":1.0},"58":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"40":{"tf":1.0}}}},"r":{"df":22,"docs":{"104":{"tf":1.0},"108":{"tf":1.0},"12":{"tf":1.0},"127":{"tf":1.0},"132":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"4":{"tf":1.7320508075688772},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"89":{"tf":1.0}}},"s":{"df":1,"docs":{"29":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.0}}},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":33,"docs":{"105":{"tf":2.0},"113":{"tf":1.0},"118":{"tf":3.0},"121":{"tf":1.4142135623730951},"123":{"tf":1.0},"125":{"tf":1.7320508075688772},"129":{"tf":1.0},"134":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"22":{"tf":1.0},"27":{"tf":1.4142135623730951},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"38":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"49":{"tf":1.0},"58":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.7320508075688772},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"79":{"tf":1.0},"82":{"tf":2.0},"85":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.7320508075688772},"91":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"105":{"tf":1.4142135623730951},"118":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"45":{"tf":1.4142135623730951},"5":{"tf":1.7320508075688772},"6":{"tf":1.0},"61":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"132":{"tf":1.0},"61":{"tf":1.0}}},"t":{"df":3,"docs":{"49":{"tf":1.0},"5":{"tf":1.0},"71":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"n":{"df":6,"docs":{"106":{"tf":1.0},"14":{"tf":1.0},"52":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}}}}},"r":{"a":{"df":4,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"122":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"67":{"tf":1.0}}}},"u":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}}},"}":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"∈":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"a":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"df":0,"docs":{},"ψ":{"df":1,"docs":{"107":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"f":{"\"":{"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":{},"{":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"}":{".":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"j":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"(":{"df":0,"docs":{},"x":{")":{":":{"df":0,"docs":{},"ω":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"91":{"tf":1.0}}},"df":0,"docs":{}}}}},"=":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"+":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"20":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"x":{")":{"d":{"df":0,"docs":{},"x":{"=":{"0":{"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":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"95":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ϕ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"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":{}},"df":0,"docs":{},"n":{"df":1,"docs":{"107":{"tf":1.0}}}}},"^":{"df":0,"docs":{},"i":{"df":2,"docs":{"11":{"tf":1.4142135623730951},"59":{"tf":1.0}}},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"11":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":8,"docs":{"14":{"tf":2.0},"20":{"tf":1.0},"59":{"tf":1.0},"85":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"96":{"tf":1.0}}},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"f":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"∥":{")":{"=":{"1":{"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"∈":{"[":{"0":{",":{"1":{"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{")":{"=":{"1":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"∈":{"[":{"0":{",":{"1":{"df":1,"docs":{"57":{"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":{},"ω":{"0":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"×":{"d":{"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":{},"r":{"d":{"df":0,"docs":{},"×":{"d":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"df":1,"docs":{"73":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"=":{"0":{"df":1,"docs":{"74":{"tf":1.0}}},"4":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"−":{"df":0,"docs":{},"i":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"f":{"2":{"df":0,"docs":{},"​":{"+":{"2":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"j":{"df":0,"docs":{},"−":{"1":{")":{"2":{".":{"(":{"1":{"3":{".":{"1":{".":{"1":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":1,"docs":{"74":{"tf":1.0}}}},"r":{"df":0,"docs":{},"f":{"df":2,"docs":{"74":{"tf":1.0},"80":{"tf":1.0}}}}},"^":{"(":{"df":0,"docs":{},"σ":{")":{"=":{"4":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"i":{"=":{"1":{"df":0,"docs":{},"∑":{"d":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"1":{")":{"2":{"+":{"2":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"i":{"=":{"1":{"df":0,"docs":{},"∏":{"d":{"df":0,"docs":{},"​":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"1":{")":{"2":{"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":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"f":{"\"":{"df":0,"docs":{},"f":{"df":1,"docs":{"29":{"tf":1.4142135623730951}}},"v":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"/":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":1,"docs":{"131":{"tf":1.0}}}}},"0":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"126":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"h":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"′":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"y":{")":{"=":{"df":0,"docs":{},"f":{"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"h":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"1":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{")":{"=":{"df":0,"docs":{},"​":{"1":{"df":0,"docs":{},"∗":{"df":0,"docs":{},"∗":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∗":{"0":{"df":0,"docs":{},"∗":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∗":{"df":0,"docs":{},"∗":{"0":{"df":1,"docs":{"81":{"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":{},"v":{"_":{"df":0,"docs":{},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"126":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"126":{"tf":1.0},"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":1,"docs":{"58":{"tf":1.4142135623730951}},"​":{"(":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{")":{"/":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"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":{},"v":{"df":0,"docs":{},"​":{")":{"=":{"0":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{")":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"−":{"df":0,"docs":{},"f":{"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{")":{")":{"/":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"2":{"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":{}}}},"3":{"(":{"df":0,"docs":{},"k":{"df":0,"docs":{},"−":{"1":{")":{"+":{"df":0,"docs":{},"l":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"p":{"3":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"−":{"1":{")":{"+":{"df":0,"docs":{},"j":{"df":1,"docs":{"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":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"=":{"[":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{"]":{"[":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"−":{"1":{".":{"(":{"1":{"5":{".":{"1":{".":{"1":{"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":{},"r":{"df":1,"docs":{"74":{"tf":1.0}}},"u":{".":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"[":{"df":0,"docs":{},"v":{"df":1,"docs":{"82":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"[":{"df":0,"docs":{},"v":{"df":1,"docs":{"82":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"σ":{"df":0,"docs":{},"v":{"df":2,"docs":{"77":{"tf":1.0},"80":{"tf":1.0}},"t":{"df":1,"docs":{"75":{"tf":1.0}}}}}},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":1,"docs":{"107":{"tf":1.0}}}}}}},"^":{"df":0,"docs":{},"n":{"df":2,"docs":{"7":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"126":{"tf":1.0},"63":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"m":{"df":1,"docs":{"59":{"tf":1.7320508075688772}}},"u":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"a":{"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"40":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0}},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"16":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"88":{"tf":1.0}}}}}},"t":{"df":5,"docs":{"53":{"tf":1.0},"58":{"tf":1.0},"81":{"tf":1.0},"87":{"tf":1.0},"95":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"41":{"tf":1.0},"66":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"117":{"tf":1.4142135623730951},"51":{"tf":1.0},"66":{"tf":1.0}}},"s":{"df":4,"docs":{"120":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"67":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"r":{"df":3,"docs":{"11":{"tf":1.0},"18":{"tf":1.0},"66":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"117":{"tf":1.0},"50":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"120":{"tf":1.0},"139":{"tf":1.0},"22":{"tf":1.0}}}}}}},"df":31,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":1.0},"123":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"29":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"71":{"tf":2.449489742783178},"72":{"tf":1.0},"73":{"tf":2.23606797749979},"74":{"tf":3.0},"75":{"tf":2.6457513110645907},"76":{"tf":2.449489742783178},"77":{"tf":2.23606797749979},"78":{"tf":1.4142135623730951},"79":{"tf":2.6457513110645907},"80":{"tf":1.7320508075688772},"81":{"tf":1.7320508075688772},"82":{"tf":2.23606797749979},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":2.0},"86":{"tf":2.6457513110645907},"88":{"tf":1.0},"9":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":8,"docs":{"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"36":{"tf":1.0},"43":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.4142135623730951},"83":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"16":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.4142135623730951},"77":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"w":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}},"m":{"df":14,"docs":{"103":{"tf":1.0},"105":{"tf":2.0},"107":{"tf":1.4142135623730951},"111":{"tf":1.0},"12":{"tf":1.7320508075688772},"121":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":2.8284271247461903},"90":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}}},"n":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"142":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":1,"docs":{"23":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"113":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":15,"docs":{"105":{"tf":1.4142135623730951},"107":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.0},"5":{"tf":1.4142135623730951},"55":{"tf":1.0},"6":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"88":{"tf":1.0},"91":{"tf":1.7320508075688772},"92":{"tf":1.7320508075688772},"94":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":30,"docs":{"10":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"120":{"tf":1.4142135623730951},"126":{"tf":1.7320508075688772},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"20":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"45":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"5":{"tf":2.8284271247461903},"52":{"tf":1.4142135623730951},"53":{"tf":2.449489742783178},"54":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951},"63":{"tf":2.23606797749979},"66":{"tf":1.0},"67":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"9":{"tf":1.0},"95":{"tf":1.4142135623730951}}}}},"j":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ϕ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"=":{"1":{",":{"df":0,"docs":{},"…":{",":{"d":{"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":{}}},"l":{"df":0,"docs":{},"e":{"df":2,"docs":{"29":{"tf":1.4142135623730951},"30":{"tf":1.0}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":1,"docs":{"29":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"113":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.0},"120":{"tf":1.7320508075688772},"121":{"tf":1.4142135623730951},"132":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.7320508075688772},"52":{"tf":1.0},"53":{"tf":2.0},"54":{"tf":2.0},"55":{"tf":1.0},"76":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":2.449489742783178}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":18,"docs":{"101":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.4142135623730951},"42":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0},"81":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.0},"96":{"tf":1.0}}}},"d":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":9,"docs":{"11":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"136":{"tf":1.0},"21":{"tf":1.4142135623730951},"43":{"tf":1.0},"53":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"84":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"116":{"tf":1.0}}}},"t":{"df":24,"docs":{"103":{"tf":1.0},"104":{"tf":1.7320508075688772},"105":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"109":{"tf":1.0},"111":{"tf":1.0},"116":{"tf":1.0},"12":{"tf":1.4142135623730951},"142":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.4142135623730951},"67":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"96":{"tf":1.0},"97":{"tf":1.0}}}},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":42,"docs":{"107":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.4142135623730951},"120":{"tf":2.23606797749979},"124":{"tf":1.0},"131":{"tf":1.0},"139":{"tf":1.0},"142":{"tf":1.0},"22":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"4":{"tf":1.0},"42":{"tf":2.449489742783178},"49":{"tf":1.0},"5":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":2.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.4142135623730951},"97":{"tf":1.0},"99":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.0}}}}}}},"t":{"df":2,"docs":{"104":{"tf":1.0},"17":{"tf":1.0}}},"x":{"df":16,"docs":{"122":{"tf":1.0},"124":{"tf":1.0},"15":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":3.3166247903554},"60":{"tf":1.4142135623730951},"66":{"tf":1.0},"7":{"tf":1.0},"76":{"tf":1.0}}}},"k":{"df":1,"docs":{"57":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"t":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}}}},"−":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"t":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{")":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{")":{",":{"(":{"9":{".":{"1":{".":{"2":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"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":{},"w":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"142":{"tf":1.0},"69":{"tf":1.0}}}},"x":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"29":{"tf":1.0}}}},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"[":{"0":{"]":{")":{":":{".":{"6":{"df":0,"docs":{},"f":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"]":{")":{":":{".":{"6":{"df":0,"docs":{},"f":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":2,"docs":{"54":{"tf":1.0},"66":{"tf":1.0}}}},"df":0,"docs":{},"w":{"df":3,"docs":{"70":{"tf":1.0},"72":{"tf":1.4142135623730951},"90":{"tf":1.0}}}}},"n":{"=":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":2,"docs":{"76":{"tf":1.4142135623730951},"77":{"tf":1.0}}},"o":{"c":{"df":0,"docs":{},"u":{"df":9,"docs":{"104":{"tf":1.0},"122":{"tf":1.0},"16":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"50":{"tf":1.0},"67":{"tf":1.0}},"s":{"df":8,"docs":{"109":{"tf":1.0},"12":{"tf":1.0},"139":{"tf":1.0},"36":{"tf":1.0},"70":{"tf":1.4142135623730951},"77":{"tf":1.0},"8":{"tf":1.0},"94":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"116":{"tf":1.0},"122":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":39,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"11":{"tf":1.4142135623730951},"115":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"120":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.4142135623730951},"36":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.4142135623730951},"85":{"tf":1.7320508075688772},"86":{"tf":1.4142135623730951},"91":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"49":{"tf":1.0}}}},"c":{"df":56,"docs":{"100":{"tf":2.6457513110645907},"101":{"tf":3.0},"102":{"tf":1.7320508075688772},"103":{"tf":2.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.7320508075688772},"112":{"tf":1.7320508075688772},"113":{"tf":1.0},"114":{"tf":1.7320508075688772},"115":{"tf":1.7320508075688772},"117":{"tf":1.0},"118":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":2.449489742783178},"124":{"tf":1.0},"127":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"14":{"tf":3.7416573867739413},"16":{"tf":2.23606797749979},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"27":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":2.449489742783178},"49":{"tf":1.7320508075688772},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":2.0},"57":{"tf":2.6457513110645907},"58":{"tf":3.4641016151377544},"6":{"tf":1.4142135623730951},"60":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"84":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":3.3166247903554},"92":{"tf":1.4142135623730951},"94":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":2.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"​":{"(":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":1,"docs":{"91":{"tf":1.0}},"​":{")":{"=":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"∂":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{")":{")":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"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":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"29":{"tf":1.0}}}}},"m":{"'":{"df":1,"docs":{"92":{"tf":1.0}}},"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"41":{"tf":1.0}}}},"df":44,"docs":{"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"103":{"tf":1.7320508075688772},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"11":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.7320508075688772},"114":{"tf":1.4142135623730951},"115":{"tf":1.7320508075688772},"116":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.4142135623730951},"126":{"tf":1.0},"128":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"4":{"tf":1.0},"42":{"tf":1.0},"5":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":2.6457513110645907},"9":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":3.605551275463989},"93":{"tf":2.23606797749979},"94":{"tf":1.7320508075688772},"95":{"tf":2.8284271247461903},"96":{"tf":1.0},"97":{"tf":2.0},"98":{"tf":1.0},"99":{"tf":2.8284271247461903}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":5,"docs":{"58":{"tf":1.0},"8":{"tf":1.0},"82":{"tf":2.23606797749979},"85":{"tf":1.0},"96":{"tf":1.0}}},"df":19,"docs":{"103":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"27":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"4":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"5":{"tf":1.0},"58":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.4142135623730951},"89":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}}}},"—":{"a":{"df":1,"docs":{"94":{"tf":1.0}}},"df":0,"docs":{}},"→":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"115":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"115":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"115":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}}},"df":1,"docs":{"29":{"tf":1.0}}},"u":{"df":0,"docs":{},"n":{"df":6,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"114":{"tf":1.0},"118":{"tf":1.0},"22":{"tf":1.0},"42":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.0},"43":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"5":{"tf":1.0},"7":{"tf":1.0},"88":{"tf":1.0}}}},"df":10,"docs":{"116":{"tf":1.0},"122":{"tf":1.0},"131":{"tf":1.7320508075688772},"24":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}},"r":{")":{"=":{"df":0,"docs":{},"ψ":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"21":{"tf":1.0},"82":{"tf":1.4142135623730951}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.7320508075688772}}}}},"{":{"1":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"14":{"tf":1.4142135623730951}},"}":{"\\":{"df":0,"docs":{},"|":{"df":0,"docs":{},"x":{"df":1,"docs":{"26":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"d":{"df":2,"docs":{"7":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"v":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"x":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":7,"docs":{"117":{"tf":1.0},"29":{"tf":1.7320508075688772},"35":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.7320508075688772}},"r":{"df":1,"docs":{"35":{"tf":1.0}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":16,"docs":{"103":{"tf":1.0},"122":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"24":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0},"79":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":17,"docs":{"101":{"tf":1.0},"114":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"82":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0}}}}},"df":18,"docs":{"0":{"tf":1.0},"100":{"tf":1.0},"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"116":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"132":{"tf":1.0},"142":{"tf":1.0},"18":{"tf":1.0},"51":{"tf":1.4142135623730951},"53":{"tf":2.0},"71":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.4142135623730951}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":38,"docs":{"102":{"tf":2.6457513110645907},"103":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"115":{"tf":1.7320508075688772},"116":{"tf":1.4142135623730951},"117":{"tf":1.0},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"122":{"tf":2.6457513110645907},"123":{"tf":3.605551275463989},"124":{"tf":2.0},"125":{"tf":1.7320508075688772},"126":{"tf":3.1622776601683795},"127":{"tf":2.6457513110645907},"128":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"140":{"tf":1.7320508075688772},"141":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":4.123105625617661},"18":{"tf":1.4142135623730951},"30":{"tf":1.0},"31":{"tf":1.0},"43":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":2.0},"57":{"tf":3.0},"58":{"tf":4.0},"59":{"tf":2.23606797749979},"60":{"tf":2.6457513110645907},"61":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":3.605551275463989},"64":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"97":{"tf":1.0},"98":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"126":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"116":{"tf":1.0},"121":{"tf":1.0},"62":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"t":{"=":{"df":0,"docs":{},"f":{"df":0,"docs":{},"−":{"1":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"j":{"df":0,"docs":{},"≡":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{")":{"=":{"1":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":1,"docs":{"74":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{},"x":{"df":1,"docs":{"58":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"114":{"tf":1.0},"122":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"82":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"16":{"tf":1.0}}},"df":58,"docs":{"100":{"tf":1.0},"101":{"tf":2.6457513110645907},"102":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":2.6457513110645907},"107":{"tf":1.4142135623730951},"108":{"tf":1.7320508075688772},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":2.23606797749979},"117":{"tf":1.4142135623730951},"118":{"tf":1.7320508075688772},"119":{"tf":2.0},"121":{"tf":1.7320508075688772},"123":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951},"129":{"tf":2.0},"134":{"tf":2.23606797749979},"141":{"tf":1.7320508075688772},"16":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":2.0},"26":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":2.449489742783178},"47":{"tf":1.0},"48":{"tf":2.0},"49":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"71":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":3.3166247903554},"75":{"tf":1.7320508075688772},"76":{"tf":2.23606797749979},"77":{"tf":2.23606797749979},"78":{"tf":1.0},"79":{"tf":2.0},"82":{"tf":1.0},"83":{"tf":1.0},"87":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"92":{"tf":2.0},"93":{"tf":1.4142135623730951},"95":{"tf":4.242640687119285},"97":{"tf":2.23606797749979}}}}}}},"d":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"7":{"tf":1.0},"78":{"tf":1.0},"89":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":13,"docs":{"122":{"tf":1.0},"134":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.0},"34":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"77":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"7":{"tf":1.0},"80":{"tf":1.0}}}}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"1":{"tf":1.0},"29":{"tf":1.0},"55":{"tf":1.0},"67":{"tf":1.0},"95":{"tf":1.0}}}}}},"∂":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"81":{"tf":1.0}}}},"df":0,"docs":{}}}}},"p":{"df":4,"docs":{"79":{"tf":1.7320508075688772},"82":{"tf":1.7320508075688772},"83":{"tf":1.0},"86":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"f":{")":{")":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"​":{"=":{"(":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{")":{")":{"df":0,"docs":{},"k":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"​":{"df":0,"docs":{},"v":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"v":{"df":0,"docs":{},"j":{"df":0,"docs":{},"l":{"df":1,"docs":{"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":{}},"σ":{")":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"s":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{")":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"∂":{"df":1,"docs":{"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":{},"f":{")":{"=":{"df":0,"docs":{},"μ":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"−":{"df":0,"docs":{},"f":{"df":0,"docs":{},"−":{"df":0,"docs":{},"t":{")":{"+":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"j":{")":{"df":0,"docs":{},"f":{"df":0,"docs":{},"−":{"df":0,"docs":{},"t":{"df":1,"docs":{"74":{"tf":1.0}}}}}},"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":{},"p":{"^":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"80":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"∈":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"×":{"d":{"df":3,"docs":{"72":{"tf":1.0},"74":{"tf":1.4142135623730951},"76":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"−":{"df":0,"docs":{},"f":{"df":0,"docs":{},"−":{"df":0,"docs":{},"t":{"=":{"0":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"⋅":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"f":{"d":{"df":0,"docs":{},"x":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"g":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"f":{"(":{"2":{")":{"+":{"df":0,"docs":{},"f":{"df":0,"docs":{},"′":{"(":{"2":{")":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"2":{")":{"+":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"f":{"df":0,"docs":{},"′":{"df":0,"docs":{},"′":{"(":{"2":{")":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"2":{")":{"2":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":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":{"20":{"tf":1.4142135623730951},"95":{"tf":1.0}}}},"[":{"0":{"df":1,"docs":{"118":{"tf":1.0}}},"1":{"df":1,"docs":{"118":{"tf":1.0}}},"2":{"df":1,"docs":{"118":{"tf":1.0}}},"3":{"df":1,"docs":{"118":{"tf":1.0}}},"4":{"df":1,"docs":{"118":{"tf":1.0}}},"5":{"df":1,"docs":{"118":{"tf":1.0}}},"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"[":{"df":0,"docs":{},"i":{"]":{"[":{"0":{"df":1,"docs":{"27":{"tf":1.0}}},"1":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{},"j":{"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"0":{"df":1,"docs":{"126":{"tf":1.0}}},"1":{"df":1,"docs":{"126":{"tf":1.0}}},"[":{"0":{"df":1,"docs":{"119":{"tf":1.0}}},"1":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"]":{"[":{"1":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"26":{"tf":1.0},"35":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0}}},"x":{"df":0,"docs":{},"i":{"df":2,"docs":{"119":{"tf":1.0},"126":{"tf":1.0}}}}},"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"27":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"a":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"86":{"tf":1.0}}}},"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"p":{"[":{"2":{":":{"4":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"118":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"v":{"df":1,"docs":{"126":{"tf":2.0}}}},"df":0,"docs":{}}}}},"a":{"df":1,"docs":{"69":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"17":{"tf":1.0},"29":{"tf":1.0},"63":{"tf":1.0}}}},"m":{"df":0,"docs":{},"m":{"a":{"_":{"df":0,"docs":{},"k":{"df":1,"docs":{"16":{"tf":2.6457513110645907}}},"{":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"49":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"—":{"a":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"139":{"tf":1.0},"29":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"113":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":13,"docs":{"118":{"tf":1.4142135623730951},"14":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"86":{"tf":1.4142135623730951},"89":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"1":{".":{"0":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":31,"docs":{"101":{"tf":1.4142135623730951},"105":{"tf":1.0},"11":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":1.4142135623730951},"12":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"25":{"tf":2.23606797749979},"30":{"tf":1.0},"37":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"45":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"82":{"tf":1.0},"85":{"tf":1.4142135623730951},"92":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.0}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"101":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"142":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":3,"docs":{"104":{"tf":1.0},"14":{"tf":1.0},"5":{"tf":1.4142135623730951}},"i":{"df":9,"docs":{"12":{"tf":1.4142135623730951},"128":{"tf":1.0},"140":{"tf":1.0},"25":{"tf":1.4142135623730951},"45":{"tf":2.23606797749979},"5":{"tf":2.8284271247461903},"6":{"tf":1.0},"7":{"tf":1.0},"92":{"tf":1.4142135623730951}}}}}}}},"q":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}}},"t":{"df":1,"docs":{"134":{"tf":1.0}},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"c":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"i":{"c":{"(":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"131":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"d":{"(":{"b":{"df":1,"docs":{"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":{}}}}},"i":{"df":1,"docs":{"42":{"tf":1.0}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":2,"docs":{"1":{"tf":1.0},"2":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":11,"docs":{"106":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.0},"16":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.0},"82":{"tf":1.4142135623730951},"92":{"tf":1.0},"96":{"tf":1.0}},"n":{"df":23,"docs":{"10":{"tf":1.0},"103":{"tf":1.0},"11":{"tf":1.4142135623730951},"113":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"136":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"66":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0},"82":{"tf":1.4142135623730951},"9":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}}}}},"l":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":11,"docs":{"113":{"tf":1.0},"115":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"27":{"tf":2.0},"30":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"32":{"tf":1.0},"4":{"tf":1.0}}}},"df":1,"docs":{"92":{"tf":1.0}},"e":{"df":2,"docs":{"142":{"tf":1.0},"76":{"tf":1.0}}},"n":{"df":0,"docs":{},"z":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"z":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}}},"df":0,"docs":{}}},"o":{"d":{"df":2,"docs":{"22":{"tf":1.0},"92":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":7,"docs":{"104":{"tf":1.0},"70":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.4142135623730951},"91":{"tf":1.0},"93":{"tf":1.0},"98":{"tf":1.0}}}}}}},"r":{"a":{"d":{"(":{"df":0,"docs":{},"p":{"0":{"df":1,"docs":{"118":{"tf":1.0}}},"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"v":{"df":1,"docs":{"63":{"tf":1.0}}},"x":{"df":7,"docs":{"26":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"86":{"tf":1.0}}}},"df":1,"docs":{"26":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":45,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"117":{"tf":1.0},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.7320508075688772},"131":{"tf":1.0},"132":{"tf":1.0},"134":{"tf":1.7320508075688772},"139":{"tf":1.0},"14":{"tf":1.0},"141":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.7320508075688772},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":2.23606797749979},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"71":{"tf":3.0},"72":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":2.0},"88":{"tf":1.4142135623730951}}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"10":{"tf":1.0},"34":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"69":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"c":{"df":7,"docs":{"128":{"tf":1.0},"20":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"69":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"79":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"p":{"df":1,"docs":{"4":{"tf":1.0}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"14":{"tf":1.7320508075688772},"35":{"tf":1.7320508075688772},"89":{"tf":1.0}},"i":{"df":8,"docs":{"14":{"tf":1.7320508075688772},"18":{"tf":1.0},"35":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0},"91":{"tf":1.0}}},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"35":{"tf":1.0}}}},"v":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"5":{"tf":1.0}}}}},"i":{"d":{"df":7,"docs":{"105":{"tf":1.0},"12":{"tf":1.0},"136":{"tf":1.7320508075688772},"17":{"tf":1.0},"45":{"tf":2.8284271247461903},"5":{"tf":3.4641016151377544},"55":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"n":{"[":{"0":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"117":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951}}},"o":{"[":{"1":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"117":{"tf":1.0},"62":{"tf":1.0}}}},"df":12,"docs":{"117":{"tf":1.4142135623730951},"120":{"tf":2.0},"126":{"tf":1.4142135623730951},"15":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":2.6457513110645907},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"67":{"tf":1.0},"7":{"tf":1.0},"87":{"tf":1.4142135623730951}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"37":{"tf":1.0},"6":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"w":{"df":2,"docs":{"120":{"tf":1.0},"9":{"tf":1.0}}}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":19,"docs":{"11":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"131":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"59":{"tf":1.0}}}}},"i":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}}}},"h":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.0},"35":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"=":{"0":{".":{"0":{"1":{"df":2,"docs":{"52":{"tf":1.0},"54":{"tf":1.0}}},"2":{"df":2,"docs":{"29":{"tf":1.0},"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"[":{"df":0,"docs":{},"h":{"b":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"]":{",":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"=":{"[":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"]":{",":{"df":0,"docs":{},"g":{"=":{"[":{"df":0,"docs":{},"g":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"33":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":1,"docs":{"118":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":0,"docs":{},"}":{"_":{"0":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"^":{"2":{"df":1,"docs":{"49":{"tf":1.0}}},"=":{"df":0,"docs":{},"h":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{},"i":{"=":{"(":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"v":{"/":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"−":{"1":{"df":2,"docs":{"123":{"tf":1.0},"58":{"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":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"27":{"tf":2.0}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"a":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.0},"45":{"tf":1.0},"69":{"tf":1.0}}}},"l":{"df":0,"docs":{},"f":{"df":5,"docs":{"117":{"tf":1.4142135623730951},"45":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"62":{"tf":1.0},"67":{"tf":1.0}}},"t":{"df":1,"docs":{"10":{"tf":1.0}}},"v":{"df":1,"docs":{"21":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"115":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"n":{"d":{"df":4,"docs":{"16":{"tf":1.0},"34":{"tf":1.0},"92":{"tf":2.0},"95":{"tf":1.0}},"l":{"df":16,"docs":{"101":{"tf":1.0},"117":{"tf":1.4142135623730951},"12":{"tf":1.0},"141":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.0},"36":{"tf":1.0},"5":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"6":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":2.0}}}},"o":{"df":1,"docs":{"142":{"tf":1.0}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"16":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"74":{"tf":1.0},"77":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":5,"docs":{"121":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.4142135623730951},"139":{"tf":1.0},"141":{"tf":1.0}}}},"t":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"m":{"b":{"d":{"a":{"df":1,"docs":{"22":{"tf":1.0}},"}":{"_":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"d":{"df":3,"docs":{"48":{"tf":2.0},"49":{"tf":2.0},"52":{"tf":1.0}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":6,"docs":{"28":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0}}}},"​":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"]":{"[":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"]":{"=":{"[":{"df":0,"docs":{},"−":{"df":0,"docs":{},"g":{"0":{"df":0,"docs":{},"​":{"]":{".":{"(":{"5":{".":{"1":{".":{"3":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":15,"docs":{"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"14":{"tf":2.0},"26":{"tf":1.0},"28":{"tf":4.795831523312719},"29":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":2.8284271247461903},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"67":{"tf":3.0}},"e":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"78":{"tf":1.0},"87":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"p":{"df":7,"docs":{"104":{"tf":1.0},"135":{"tf":1.0},"18":{"tf":1.4142135623730951},"27":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"66":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"63":{"tf":1.0}}}}}},"n":{"c":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"33":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":58,"docs":{"100":{"tf":1.0},"101":{"tf":1.7320508075688772},"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"107":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"118":{"tf":1.0},"119":{"tf":2.23606797749979},"120":{"tf":1.0},"123":{"tf":2.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.7320508075688772},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.0},"6":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"85":{"tf":1.4142135623730951},"87":{"tf":1.7320508075688772},"89":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"p":{"0":{"df":1,"docs":{"118":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":1,"docs":{"63":{"tf":1.0}}},"x":{"df":6,"docs":{"26":{"tf":1.0},"27":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"86":{"tf":1.0}}}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"v":{"[":{"df":0,"docs":{},"r":{"df":1,"docs":{"126":{"tf":1.0}}}},"df":1,"docs":{"126":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"26":{"tf":1.4142135623730951}},"i":{"a":{"df":0,"docs":{},"n":{"df":30,"docs":{"114":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.7320508075688772},"131":{"tf":1.4142135623730951},"139":{"tf":1.0},"22":{"tf":1.7320508075688772},"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.7320508075688772},"27":{"tf":2.23606797749979},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.0},"41":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.4142135623730951},"58":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"67":{"tf":1.7320508075688772},"86":{"tf":2.0},"88":{"tf":1.0}}}},"df":0,"docs":{}}}}},"h":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"126":{"tf":1.4142135623730951},"63":{"tf":3.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":4,"docs":{"121":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.4142135623730951},"141":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"h":{"df":10,"docs":{"12":{"tf":1.0},"133":{"tf":1.0},"16":{"tf":1.0},"24":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"21":{"tf":1.0},"45":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"76":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"113":{"tf":1.0},"18":{"tf":1.0}},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"102":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.0}}}},"t":{"df":2,"docs":{"52":{"tf":1.0},"53":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":9,"docs":{"119":{"tf":1.0},"134":{"tf":1.0},"21":{"tf":1.0},"34":{"tf":1.0},"49":{"tf":1.4142135623730951},"75":{"tf":1.0},"82":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"92":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"'":{"df":2,"docs":{"27":{"tf":1.0},"79":{"tf":1.0}}},"a":{"df":0,"docs":{},"n":{"df":12,"docs":{"142":{"tf":1.0},"20":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.4142135623730951},"86":{"tf":1.0},"88":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"25":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0}}}}}}}},"w":{"df":1,"docs":{"142":{"tf":1.0}}}},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"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":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":8,"docs":{"116":{"tf":1.0},"122":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"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":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"b":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"−":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"33":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"−":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{",":{"(":{"5":{".":{"2":{".":{"3":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{}},"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":{},"​":{"]":{"[":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"]":{"=":{"[":{"df":0,"docs":{},"−":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"0":{"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":{}}}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"68":{"tf":1.0},"79":{"tf":1.7320508075688772},"83":{"tf":1.0},"88":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"∈":{"[":{"0":{",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"(":{"0":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{},"x":{"df":2,"docs":{"114":{"tf":1.0},"134":{"tf":1.0}}}},"+":{"1":{"df":1,"docs":{"29":{"tf":1.7320508075688772}}},"df":0,"docs":{}},",":{"df":0,"docs":{},"j":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}},".":{"df":4,"docs":{"107":{"tf":1.0},"139":{"tf":1.0},"74":{"tf":1.0},"96":{"tf":1.0}}},"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"j":{"2":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}}}}},"=":{"0":{",":{"1":{",":{"2":{",":{".":{".":{".":{",":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"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":{},"i":{"^":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"95":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"j":{"df":1,"docs":{"75":{"tf":1.0}}}},"\\":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{}},"^":{"=":{"1":{",":{"2":{",":{"df":0,"docs":{},"…":{",":{"d":{"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":{}},"b":{"[":{"0":{"df":1,"docs":{"86":{"tf":3.4641016151377544}}},"1":{"df":1,"docs":{"86":{"tf":3.4641016151377544}}},"df":0,"docs":{},"i":{"df":2,"docs":{"85":{"tf":1.0},"86":{"tf":2.23606797749979}}}},"df":2,"docs":{"85":{"tf":1.0},"86":{"tf":2.449489742783178}}},"d":{"=":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"[":{"2":{"df":1,"docs":{"82":{"tf":1.0}}},"3":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":4,"docs":{"101":{"tf":1.0},"125":{"tf":1.0},"136":{"tf":1.0},"80":{"tf":1.0}},"l":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":7,"docs":{"32":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"80":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"16":{"tf":1.0}},"i":{"df":8,"docs":{"108":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"136":{"tf":1.0},"26":{"tf":1.0},"35":{"tf":1.0},"41":{"tf":1.0},"67":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"111":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"76":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}}}}}},"i":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}},"j":{"=":{"1":{"1":{",":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"=":{"2":{"2":{",":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"=":{"3":{"3":{"df":1,"docs":{"81":{"tf":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":{"81":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"81":{"tf":1.0},"86":{"tf":1.0}},"v":{"[":{"0":{"]":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":2,"docs":{"62":{"tf":1.0},"63":{"tf":1.0}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":3,"docs":{"119":{"tf":1.0},"126":{"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":{},"i":{"df":2,"docs":{"26":{"tf":1.0},"54":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"86":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"28":{"tf":1.0}}},"1":{"]":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":2,"docs":{"62":{"tf":1.0},"63":{"tf":1.0}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"j":{"df":3,"docs":{"119":{"tf":1.0},"126":{"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":{},"i":{"df":2,"docs":{"26":{"tf":1.0},"54":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"86":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"28":{"tf":1.0}}},"2":{"]":{"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"26":{"tf":1.0},"54":{"tf":1.4142135623730951}},"n":{"d":{"df":1,"docs":{"86":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":5,"docs":{"119":{"tf":1.0},"126":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"28":{"tf":1.0}}}},"m":{"df":1,"docs":{"28":{"tf":1.4142135623730951}},"s":{"[":{"2":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":8,"docs":{"26":{"tf":1.7320508075688772},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"54":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951}}},"​":{"=":{"1":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"λ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∗":{")":{"=":{"0":{".":{"df":0,"docs":{},"​":{"(":{"7":{".":{"3":{".":{"1":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}}}},"k":{"df":1,"docs":{"81":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":16,"docs":{"10":{"tf":1.4142135623730951},"114":{"tf":1.0},"20":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0}}}}}}}},"m":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"5":{"tf":1.4142135623730951},"67":{"tf":1.0},"87":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"36":{"tf":1.0}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"15":{"tf":1.0}}}}},"p":{"a":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0},"41":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}},"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":43,"docs":{"104":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.7320508075688772},"116":{"tf":1.7320508075688772},"117":{"tf":1.4142135623730951},"118":{"tf":2.23606797749979},"119":{"tf":2.23606797749979},"120":{"tf":2.449489742783178},"121":{"tf":1.7320508075688772},"122":{"tf":2.0},"123":{"tf":1.0},"125":{"tf":2.0},"126":{"tf":2.8284271247461903},"127":{"tf":1.4142135623730951},"131":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"28":{"tf":2.0},"29":{"tf":2.23606797749979},"30":{"tf":1.4142135623730951},"32":{"tf":1.0},"35":{"tf":2.449489742783178},"5":{"tf":1.0},"54":{"tf":2.23606797749979},"61":{"tf":1.4142135623730951},"62":{"tf":2.6457513110645907},"63":{"tf":2.6457513110645907},"64":{"tf":1.0},"67":{"tf":3.605551275463989},"79":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.7320508075688772},"86":{"tf":2.23606797749979},"87":{"tf":1.7320508075688772},"88":{"tf":1.0}}}}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":22,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.7320508075688772},"12":{"tf":1.0},"122":{"tf":1.4142135623730951},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.4142135623730951},"141":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":2.23606797749979},"35":{"tf":1.4142135623730951},"58":{"tf":2.449489742783178},"59":{"tf":1.7320508075688772},"60":{"tf":1.7320508075688772},"63":{"tf":2.0},"64":{"tf":1.4142135623730951},"79":{"tf":1.0},"83":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":9,"docs":{"10":{"tf":1.0},"129":{"tf":1.0},"20":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"9":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":23,"docs":{"11":{"tf":1.0},"118":{"tf":2.23606797749979},"120":{"tf":2.0},"123":{"tf":1.0},"127":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"27":{"tf":2.23606797749979},"28":{"tf":2.8284271247461903},"29":{"tf":2.449489742783178},"30":{"tf":1.0},"35":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.4142135623730951},"6":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"67":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"86":{"tf":1.7320508075688772}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"71":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"40":{"tf":1.0},"41":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":3,"docs":{"1":{"tf":1.0},"11":{"tf":1.0},"120":{"tf":1.0}}}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"105":{"tf":1.0}}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"52":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}}}}}}}},"c":{"df":0,"docs":{},"i":{"d":{"df":12,"docs":{"106":{"tf":1.4142135623730951},"107":{"tf":1.0},"112":{"tf":2.0},"113":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.4142135623730951},"130":{"tf":1.0},"134":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"62":{"tf":1.0},"63":{"tf":1.0}}}},"u":{"d":{"df":14,"docs":{"100":{"tf":1.0},"106":{"tf":1.0},"118":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.4142135623730951},"31":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"58":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"99":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":1,"docs":{"27":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"74":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":11,"docs":{"123":{"tf":1.0},"127":{"tf":1.0},"132":{"tf":1.0},"27":{"tf":1.4142135623730951},"36":{"tf":1.0},"47":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"67":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":11,"docs":{"105":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"118":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"41":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"71":{"tf":1.0}}}},"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":30,"docs":{"14":{"tf":1.4142135623730951},"142":{"tf":1.7320508075688772},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"28":{"tf":1.7320508075688772},"30":{"tf":1.0},"32":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"35":{"tf":1.0},"36":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"91":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"21":{"tf":1.0}}}}},"d":{"df":1,"docs":{"86":{"tf":1.0}},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"112":{"tf":1.0},"41":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}}},"x":{"df":12,"docs":{"107":{"tf":1.0},"117":{"tf":1.7320508075688772},"119":{"tf":1.0},"121":{"tf":1.0},"126":{"tf":1.0},"26":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"71":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.4142135623730951}}}},"i":{"c":{"df":19,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"117":{"tf":1.4142135623730951},"124":{"tf":1.0},"136":{"tf":1.4142135623730951},"16":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.4142135623730951},"35":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":2.23606797749979},"72":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"u":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}}},"q":{"df":0,"docs":{},"u":{"df":5,"docs":{"16":{"tf":2.0},"18":{"tf":1.0},"30":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":6,"docs":{"128":{"tf":1.0},"14":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":2.449489742783178},"29":{"tf":1.0},"66":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}},"y":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.0},"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"26":{"tf":1.0}}}},"v":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.0},"35":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"f":{"df":2,"docs":{"28":{"tf":1.7320508075688772},"67":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"16":{"tf":1.0},"34":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"101":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"76":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"42":{"tf":1.0},"95":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":6,"docs":{"101":{"tf":1.0},"113":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}}}}}}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":3,"docs":{"14":{"tf":1.0},"17":{"tf":1.0},"29":{"tf":1.0}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":7,"docs":{"124":{"tf":2.0},"125":{"tf":1.0},"33":{"tf":1.0},"5":{"tf":1.4142135623730951},"67":{"tf":1.0},"85":{"tf":1.0},"98":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"53":{"tf":1.0},"54":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"4":{"tf":1.0},"50":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"df":3,"docs":{"54":{"tf":1.0},"62":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"29":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":29,"docs":{"11":{"tf":1.7320508075688772},"117":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":2.6457513110645907},"30":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"4":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":2.449489742783178},"7":{"tf":1.4142135623730951},"70":{"tf":1.7320508075688772},"71":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"64":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"126":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"114":{"tf":1.0},"124":{"tf":1.4142135623730951},"58":{"tf":1.0},"74":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":9,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"108":{"tf":1.0},"118":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.0},"91":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":6,"docs":{"120":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0},"37":{"tf":1.0},"41":{"tf":1.0},"70":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"27":{"tf":1.0},"58":{"tf":1.0}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"12":{"tf":1.4142135623730951},"131":{"tf":1.0},"29":{"tf":1.0}}}},"df":0,"docs":{},"n":{"c":{"df":9,"docs":{"25":{"tf":1.0},"29":{"tf":1.0},"38":{"tf":1.0},"45":{"tf":1.0},"6":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"d":{"df":5,"docs":{"121":{"tf":1.0},"29":{"tf":1.0},"53":{"tf":1.4142135623730951},"84":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"53":{"tf":1.0},"55":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":71,"docs":{"10":{"tf":1.7320508075688772},"100":{"tf":1.0},"101":{"tf":2.6457513110645907},"103":{"tf":1.0},"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":2.6457513110645907},"111":{"tf":1.0},"112":{"tf":2.449489742783178},"113":{"tf":2.449489742783178},"114":{"tf":1.4142135623730951},"115":{"tf":2.449489742783178},"117":{"tf":1.0},"12":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":2.0},"124":{"tf":1.7320508075688772},"127":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"134":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":2.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"29":{"tf":1.7320508075688772},"30":{"tf":1.0},"32":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"5":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"56":{"tf":1.0},"58":{"tf":2.8284271247461903},"6":{"tf":1.0},"60":{"tf":2.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"7":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951},"77":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":1.4142135623730951},"83":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":2.0},"92":{"tf":2.23606797749979},"93":{"tf":2.0},"95":{"tf":2.0},"96":{"tf":1.0},"97":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}}}},"n":{"d":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":4,"docs":{"12":{"tf":1.0},"135":{"tf":1.0},"15":{"tf":1.0},"79":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"71":{"tf":1.0}}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":7,"docs":{"117":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"25":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"1":{"tf":1.0},"115":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"105":{"tf":1.0}}}}}}}}}},"f":{"a":{"c":{"df":6,"docs":{"114":{"tf":1.0},"118":{"tf":1.0},"126":{"tf":1.0},"56":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"111":{"tf":1.0},"128":{"tf":1.0},"16":{"tf":1.7320508075688772},"45":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.0}}},"1":{"df":1,"docs":{"86":{"tf":1.0}}},"2":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"86":{"tf":2.8284271247461903}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":7,"docs":{"107":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"48":{"tf":1.0},"86":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":3,"docs":{"71":{"tf":1.0},"79":{"tf":1.0},"91":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":25,"docs":{"100":{"tf":2.23606797749979},"101":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":1.0},"127":{"tf":1.0},"133":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.7320508075688772},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"67":{"tf":1.0},"68":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"87":{"tf":1.7320508075688772},"88":{"tf":1.4142135623730951}}}}}}},"o":{"df":0,"docs":{},"l":{"df":7,"docs":{"105":{"tf":1.7320508075688772},"108":{"tf":1.0},"21":{"tf":1.0},"45":{"tf":2.23606797749979},"55":{"tf":1.0},"95":{"tf":2.8284271247461903},"97":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"48":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":7,"docs":{"121":{"tf":1.0},"136":{"tf":1.4142135623730951},"142":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":3,"docs":{"11":{"tf":1.0},"7":{"tf":1.4142135623730951},"96":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"41":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"c":{"a":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"16":{"tf":1.0},"31":{"tf":1.0},"45":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"16":{"tf":1.0}}}}},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":34,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"11":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"18":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"31":{"tf":1.0},"4":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"50":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"74":{"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.4142135623730951},"84":{"tf":1.0},"94":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.0}},"t":{"df":3,"docs":{"24":{"tf":1.0},"50":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":13,"docs":{"130":{"tf":1.0},"133":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"34":{"tf":1.0},"4":{"tf":1.0},"53":{"tf":1.4142135623730951},"66":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951},"77":{"tf":1.0}}}}}},"v":{"0":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}},"1":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}},"2":{"_":{"0":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}},"1":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"29":{"tf":1.0},"5":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"20":{"tf":1.4142135623730951},"74":{"tf":2.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":19,"docs":{"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"116":{"tf":1.4142135623730951},"117":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"142":{"tf":1.0},"68":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"76":{"tf":1.7320508075688772},"77":{"tf":1.4142135623730951},"83":{"tf":1.0},"84":{"tf":1.7320508075688772},"85":{"tf":1.0},"87":{"tf":2.449489742783178},"88":{"tf":1.7320508075688772}}},"t":{"df":7,"docs":{"142":{"tf":1.4142135623730951},"22":{"tf":1.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.0},"76":{"tf":1.7320508075688772},"77":{"tf":1.0},"82":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":29,"docs":{"107":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"140":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.7320508075688772},"22":{"tf":1.0},"23":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.4142135623730951},"41":{"tf":1.0},"5":{"tf":1.7320508075688772},"50":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}}}}}}},"p":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951}}}},"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"35":{"tf":1.0}}}},"df":1,"docs":{"28":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"x":{"df":4,"docs":{"28":{"tf":2.0},"35":{"tf":1.0},"54":{"tf":1.0},"67":{"tf":1.0}}}},"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}},"c":{"df":18,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"122":{"tf":1.0},"134":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.7320508075688772},"51":{"tf":1.7320508075688772},"52":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":2.0},"64":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}},"df":2,"docs":{"35":{"tf":1.4142135623730951},"53":{"tf":2.0}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"45":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"v":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"82":{"tf":1.0}}}},"s":{"_":{"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"35":{"tf":1.4142135623730951},"67":{"tf":1.0}},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":2,"docs":{"35":{"tf":1.0},"67":{"tf":1.0}}},"j":{"df":2,"docs":{"35":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":3,"docs":{"35":{"tf":2.0},"63":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"55":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":7,"docs":{"74":{"tf":2.0},"75":{"tf":1.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"82":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"u":{"df":16,"docs":{"118":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.4142135623730951},"134":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"23":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":2.449489742783178},"55":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}}}}},"t":{"'":{"df":14,"docs":{"100":{"tf":1.0},"11":{"tf":1.7320508075688772},"116":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"37":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"6":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"78":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":19,"docs":{"11":{"tf":2.0},"120":{"tf":1.7320508075688772},"121":{"tf":1.0},"122":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"21":{"tf":1.7320508075688772},"28":{"tf":1.7320508075688772},"29":{"tf":1.0},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.8284271247461903},"54":{"tf":1.4142135623730951},"59":{"tf":2.8284271247461903},"60":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":5,"docs":{"134":{"tf":1.0},"16":{"tf":1.0},"30":{"tf":1.0},"53":{"tf":1.0},"92":{"tf":1.0}}}}}}},"​":{"+":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"→":{"0":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}}}}},"=":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":2,"docs":{"75":{"tf":1.0},"77":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"95":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"σ":{"df":0,"docs":{},"j":{"df":1,"docs":{"82":{"tf":1.0}}}},"​":{"+":{"df":0,"docs":{},"ψ":{"^":{",":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"→":{"0":{"df":1,"docs":{"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":{},"j":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"→":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"j":{"df":1,"docs":{"82":{"tf":1.0}}}}},"∂":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"2":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"−":{"a":{"df":0,"docs":{},"t":{"(":{"a":{"a":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"−":{"1":{"a":{")":{"df":0,"docs":{},"h":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"=":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"−":{"a":{"df":0,"docs":{},"t":{"(":{"a":{"a":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"−":{"1":{"a":{")":{"(":{"df":0,"docs":{},"−":{"df":0,"docs":{},"g":{")":{",":{"(":{"6":{".":{"2":{".":{"2":{"df":1,"docs":{"40":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":{},"h":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"=":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"−":{"a":{"df":0,"docs":{},"t":{"a":{")":{"(":{"df":0,"docs":{},"−":{"df":0,"docs":{},"g":{")":{".":{"(":{"5":{".":{"2":{".":{"2":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"j":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"=":{"1":{"df":2,"docs":{"89":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"t":{")":{"=":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"+":{"1":{"df":1,"docs":{"29":{"tf":1.7320508075688772}}},"df":0,"docs":{}},".":{"(":{"7":{".":{"2":{".":{"1":{"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":{}},"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"p":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"=":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{")":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ψ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"79":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"<":{"0":{"df":1,"docs":{"71":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"=":{"0":{"df":1,"docs":{"71":{"tf":1.0}}},"1":{"df":2,"docs":{"71":{"tf":1.4142135623730951},"74":{"tf":1.0}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"∏":{"df":0,"docs":{},"i":{"=":{"1":{"d":{"df":0,"docs":{},"​":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"σ":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"σ":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"…":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"σ":{"d":{"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":{}}}},">":{"1":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":7,"docs":{"32":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"41":{"tf":1.0},"71":{"tf":1.7320508075688772},"72":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}}},"df":11,"docs":{"117":{"tf":1.0},"134":{"tf":1.4142135623730951},"25":{"tf":3.7416573867739413},"29":{"tf":2.0},"35":{"tf":1.7320508075688772},"47":{"tf":1.0},"53":{"tf":1.7320508075688772},"67":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772},"85":{"tf":3.605551275463989},"86":{"tf":3.4641016151377544}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"j":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}}},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":5,"docs":{"1":{"tf":1.0},"142":{"tf":2.449489742783178},"2":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.7320508075688772}}}}}}}},"k":{"1":{"df":1,"docs":{"82":{"tf":1.0}}},"2":{",":{"df":0,"docs":{},"k":{"1":{",":{"0":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"3":{",":{"df":0,"docs":{},"k":{"2":{"df":0,"docs":{},"}":{",":{"df":0,"docs":{},"{":{"df":0,"docs":{},"k":{"3":{",":{"0":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"=":{"1":{"df":0,"docs":{},"e":{"3":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}}},"2":{"df":0,"docs":{},"e":{"4":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"q":{"df":1,"docs":{"82":{"tf":1.0}}}}}},"∣":{"df":0,"docs":{},"r":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"r":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"θ":{"=":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"r":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"27":{"tf":1.7320508075688772}}}},"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"a":{"df":7,"docs":{"119":{"tf":1.7320508075688772},"125":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":2.0},"62":{"tf":2.0},"63":{"tf":1.0},"67":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":7,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"32":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"142":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}},"df":14,"docs":{"123":{"tf":1.0},"124":{"tf":1.0},"16":{"tf":1.7320508075688772},"27":{"tf":2.23606797749979},"28":{"tf":3.872983346207417},"29":{"tf":2.23606797749979},"35":{"tf":2.6457513110645907},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"57":{"tf":2.0},"63":{"tf":1.0},"66":{"tf":2.0},"67":{"tf":2.8284271247461903},"82":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":8,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"114":{"tf":1.0},"124":{"tf":1.0},"63":{"tf":1.4142135623730951},"76":{"tf":1.0},"85":{"tf":1.0},"98":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"26":{"tf":1.0}}}},"y":{"df":15,"docs":{"120":{"tf":1.0},"124":{"tf":1.0},"16":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.4142135623730951},"6":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0},"80":{"tf":1.0}}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"142":{"tf":1.0}}},"n":{"d":{"df":2,"docs":{"134":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":6,"docs":{"107":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}},"r":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":3,"docs":{"79":{"tf":2.449489742783178},"80":{"tf":1.0},"83":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":3,"docs":{"107":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"t":{"df":7,"docs":{"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"32":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"41":{"tf":1.0},"49":{"tf":1.7320508075688772},"50":{"tf":1.0}}}},"m":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}},"n":{"df":2,"docs":{"58":{"tf":1.0},"63":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"w":{"df":12,"docs":{"107":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":1.0},"21":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"49":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"81":{"tf":1.4142135623730951},"9":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":13,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"7":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0}}}}},"​":{"=":{"2":{"1":{"df":0,"docs":{},"​":{"a":{"a":{"^":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"−":{"df":0,"docs":{},"∂":{"d":{"df":0,"docs":{},"∂":{"b":{"(":{"d":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"e":{")":{",":{"d":{"df":1,"docs":{"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{},"h":{"df":0,"docs":{},"n":{"df":7,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"32":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0}}}}},"​":{"(":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"ϵ":{")":{"=":{"0":{".":{"df":0,"docs":{},"​":{"(":{"2":{".":{"3":{".":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"b":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"∥":{"df":0,"docs":{},"−":{"df":0,"docs":{},"w":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"∥":{"=":{"df":0,"docs":{},"−":{"df":0,"docs":{},"w":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"b":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}}}},"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":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"(":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"λ":{")":{"=":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"+":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"+":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":1,"docs":{"32":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"2":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"df":0,"docs":{}},"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":1,"docs":{"27":{"tf":2.23606797749979}}}},"df":7,"docs":{"27":{"tf":2.0},"28":{"tf":3.872983346207417},"29":{"tf":1.7320508075688772},"35":{"tf":2.6457513110645907},"54":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.4142135623730951}}},"a":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"27":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"p":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772}}},"x":{"[":{"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"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":{}}}}}},"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"16":{"tf":1.0},"5":{"tf":1.0},"77":{"tf":1.0}}}},"df":2,"docs":{"27":{"tf":1.0},"28":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":4,"docs":{"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"32":{"tf":1.0},"40":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"n":{"df":5,"docs":{"115":{"tf":1.0},"32":{"tf":1.0},"70":{"tf":1.4142135623730951},"90":{"tf":1.4142135623730951},"93":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"m":{"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"27":{"tf":1.4142135623730951},"86":{"tf":1.7320508075688772}}}},"b":{"d":{"a":{"_":{"1":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}}},"n":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":9,"docs":{"125":{"tf":1.0},"15":{"tf":1.0},"22":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"27":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":4.47213595499958}},"e":{"df":3,"docs":{"74":{"tf":1.7320508075688772},"77":{"tf":1.0},"85":{"tf":1.4142135623730951}}}},"n":{"d":{"df":1,"docs":{"20":{"tf":1.0}}},"df":1,"docs":{"142":{"tf":1.0}},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}},"u":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"4":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":31,"docs":{"101":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.4142135623730951},"126":{"tf":1.0},"142":{"tf":1.4142135623730951},"17":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"76":{"tf":1.7320508075688772},"82":{"tf":1.0},"87":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"135":{"tf":1.0},"14":{"tf":1.0},"141":{"tf":1.0},"51":{"tf":1.0},"63":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":6,"docs":{"122":{"tf":1.0},"123":{"tf":2.0},"54":{"tf":1.0},"58":{"tf":1.0},"77":{"tf":1.0},"81":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"11":{"tf":1.0},"121":{"tf":1.0},"15":{"tf":1.0},"22":{"tf":1.0},"4":{"tf":1.4142135623730951},"89":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"82":{"tf":1.0}}}}}},"w":{"df":13,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"27":{"tf":1.0},"6":{"tf":1.7320508075688772},"69":{"tf":1.0},"7":{"tf":1.0},"79":{"tf":1.0},"89":{"tf":1.7320508075688772},"9":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.0}},"s":{"df":0,"docs":{},"—":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"89":{"tf":1.0}}}}}}}},"y":{"df":3,"docs":{"37":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"16":{"tf":1.0},"32":{"tf":1.0},"48":{"tf":2.0},"54":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"f":{")":{"=":{"df":0,"docs":{},"ψ":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"(":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"120":{"tf":2.0},"16":{"tf":1.0},"27":{"tf":1.4142135623730951},"53":{"tf":1.0}},"e":{"a":{"d":{"df":22,"docs":{"11":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.4142135623730951},"21":{"tf":1.0},"29":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.4142135623730951},"40":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.4142135623730951},"82":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":4,"docs":{"4":{"tf":1.0},"61":{"tf":1.0},"85":{"tf":1.0},"98":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":39,"docs":{"109":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"12":{"tf":1.0},"121":{"tf":1.4142135623730951},"122":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"4":{"tf":1.4142135623730951},"44":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.7320508075688772},"83":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":3,"docs":{"21":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.0}}}}}}},"df":15,"docs":{"10":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"29":{"tf":1.0},"33":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"45":{"tf":1.0},"5":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}}}},"i":{"df":1,"docs":{"142":{"tf":1.0}}},"n":{"(":{"d":{"b":{"c":{"df":1,"docs":{"67":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"117":{"tf":1.0},"27":{"tf":2.449489742783178},"29":{"tf":1.4142135623730951},"85":{"tf":2.23606797749979},"86":{"tf":2.449489742783178},"87":{"tf":1.0}},"l":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"u":{"_":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"m":{"b":{"d":{"a":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"126":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"v":{"df":1,"docs":{"63":{"tf":2.0}}},"x":{"df":11,"docs":{"117":{"tf":1.0},"26":{"tf":2.6457513110645907},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.7320508075688772},"35":{"tf":2.23606797749979},"54":{"tf":3.0},"62":{"tf":2.23606797749979},"63":{"tf":1.4142135623730951},"67":{"tf":2.8284271247461903},"86":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":6,"docs":{"112":{"tf":2.0},"25":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"7":{"tf":1.0},"91":{"tf":1.0}}}}}},"q":{"df":3,"docs":{"32":{"tf":1.0},"45":{"tf":1.4142135623730951},"49":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"114":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0}}}},"t":{"'":{"df":11,"docs":{"101":{"tf":1.0},"112":{"tf":1.0},"125":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.4142135623730951},"82":{"tf":1.0},"92":{"tf":1.0}}},"df":1,"docs":{"89":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":4,"docs":{"18":{"tf":1.0},"24":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.7320508075688772}}},"r":{"a":{"df":0,"docs":{},"g":{"df":6,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0}}}},"df":0,"docs":{}}}},"w":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"25":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":9,"docs":{"1":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":1.0},"134":{"tf":1.0},"142":{"tf":2.6457513110645907},"2":{"tf":1.0},"42":{"tf":1.4142135623730951},"45":{"tf":1.0},"58":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"45":{"tf":1.0},"5":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"df":0,"docs":{}},"t":{"df":14,"docs":{"10":{"tf":1.0},"101":{"tf":1.4142135623730951},"117":{"tf":1.0},"16":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"54":{"tf":1.0},"67":{"tf":1.4142135623730951},"82":{"tf":1.7320508075688772},"97":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"e":{"1":{"df":2,"docs":{"118":{"tf":1.4142135623730951},"125":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"r":{"df":41,"docs":{"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":2.6457513110645907},"106":{"tf":1.0},"107":{"tf":2.0},"108":{"tf":2.23606797749979},"109":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"112":{"tf":1.0},"114":{"tf":1.4142135623730951},"116":{"tf":1.0},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":1.7320508075688772},"131":{"tf":1.0},"134":{"tf":1.0},"15":{"tf":1.7320508075688772},"18":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":2.0},"34":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.4142135623730951},"40":{"tf":1.0},"41":{"tf":1.7320508075688772},"43":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0},"6":{"tf":1.0},"74":{"tf":2.8284271247461903},"75":{"tf":1.7320508075688772},"76":{"tf":2.0},"77":{"tf":2.0},"85":{"tf":1.7320508075688772},"87":{"tf":1.0},"88":{"tf":1.0},"99":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"11":{"tf":1.0},"41":{"tf":1.0},"88":{"tf":1.0}}}}}},"df":40,"docs":{"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":2.0},"118":{"tf":1.4142135623730951},"12":{"tf":1.0},"120":{"tf":1.7320508075688772},"121":{"tf":1.0},"125":{"tf":1.0},"132":{"tf":1.0},"134":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":3.0},"23":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"30":{"tf":1.0},"32":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"38":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"45":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":3.605551275463989},"54":{"tf":2.23606797749979},"55":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.4142135623730951},"71":{"tf":1.0},"76":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":2.0},"88":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"k":{"df":5,"docs":{"12":{"tf":1.0},"4":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"96":{"tf":1.0}}},"​":{"(":{"df":0,"docs":{},"f":{")":{"=":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"ϵ":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"f":{"2":{"df":0,"docs":{},"​":{"+":{"2":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"2":{"(":{"df":0,"docs":{},"ϵ":{")":{".":{"(":{"1":{"3":{".":{"1":{".":{"4":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":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":{"74":{"tf":1.0}}}},"df":0,"docs":{}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"(":{"b":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"117":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"1":{"tf":1.0},"26":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"​":{"=":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"×":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"86":{"tf":2.449489742783178}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"j":{"df":1,"docs":{"86":{"tf":2.0}}}},"o":{"a":{"d":{"df":1,"docs":{"139":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"[":{"0":{":":{"2":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{":":{"4":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{":":{"6":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"119":{"tf":1.0},"67":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"119":{"tf":1.0}}}},"r":{"df":3,"docs":{"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0}}},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"86":{"tf":1.0}}}}},"df":5,"docs":{"119":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0},"86":{"tf":1.0}}}}}}},"df":22,"docs":{"106":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":2.449489742783178},"27":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":2.449489742783178},"57":{"tf":1.7320508075688772},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"73":{"tf":1.7320508075688772},"74":{"tf":1.4142135623730951},"77":{"tf":1.0},"92":{"tf":1.0}}},"t":{"df":10,"docs":{"105":{"tf":1.0},"134":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"5":{"tf":1.0},"61":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"118":{"tf":1.0}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":1,"docs":{"48":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"85":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}},"o":{"df":0,"docs":{},"k":{"df":3,"docs":{"113":{"tf":1.0},"125":{"tf":1.0},"76":{"tf":1.0}}},"p":{"df":6,"docs":{"136":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"112":{"tf":1.0},"113":{"tf":1.0}}}},"t":{"df":2,"docs":{"76":{"tf":1.0},"92":{"tf":1.0}}},"w":{"df":1,"docs":{"66":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"63":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":6,"docs":{"106":{"tf":1.4142135623730951},"130":{"tf":1.0},"6":{"tf":1.4142135623730951},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0}}}}},"y":{"df":1,"docs":{"62":{"tf":1.0}}}},"m":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"26":{"tf":1.0}},"n":{"+":{"1":{"df":0,"docs":{},"−":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"+":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{")":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"2":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"+":{"1":{")":{"=":{"0":{".":{"(":{"1":{".":{"5":{".":{"2":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"96":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":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":{"57":{"tf":1.0}}},"[":{"0":{"df":1,"docs":{"86":{"tf":2.0}}},"1":{"df":1,"docs":{"86":{"tf":2.0}}},"2":{"df":1,"docs":{"86":{"tf":2.0}}},"3":{"df":1,"docs":{"86":{"tf":2.0}}},"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":2,"docs":{"26":{"tf":1.7320508075688772},"35":{"tf":1.4142135623730951}}}},"\\":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"b":{"df":0,"docs":{},"{":{"df":0,"docs":{},"r":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"d":{"df":0,"docs":{},"n":{"\\":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"6":{"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":{},"q":{"df":1,"docs":{"15":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"15":{"tf":1.0},"32":{"tf":1.0}}}}}}},"_":{"1":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"a":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"e":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"t":{"(":{"a":{")":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"4":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"m":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"=":{"0":{"(":{"a":{"df":0,"docs":{},"":{"=":{"b":{"df":1,"docs":{"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":{}},"df":0,"docs":{}}},"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":{},"∈":{"df":0,"docs":{},"v":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"d":{"df":0,"docs":{},"x":{",":{"(":{"1":{"9":{".":{"2":{".":{"5":{"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":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}},"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"δ":{"a":{"b":{"df":0,"docs":{},"​":{"c":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"a":{"c":{"df":1,"docs":{"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"∑":{"c":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"a":{"c":{"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":{},"e":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"d":{"df":0,"docs":{},"x":{",":{"(":{"1":{"9":{".":{"2":{".":{"2":{"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":1,"docs":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"∫":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"d":{"df":0,"docs":{},"x":{"(":{"1":{"7":{".":{"1":{".":{"2":{"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":{}},".":{"(":{"1":{"9":{".":{"2":{".":{"1":{"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":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"101":{"tf":1.0},"56":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"e":{"df":2,"docs":{"34":{"tf":1.0},"54":{"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":14,"docs":{"120":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.0},"57":{"tf":2.0},"58":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"141":{"tf":1.0},"4":{"tf":1.0},"66":{"tf":1.0}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":21,"docs":{"10":{"tf":1.0},"100":{"tf":1.0},"101":{"tf":1.0},"132":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0}}}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"d":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"27":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":32,"docs":{"0":{"tf":1.0},"105":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.4142135623730951},"119":{"tf":1.0},"124":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"16":{"tf":2.0},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.4142135623730951},"4":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.7320508075688772},"66":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.4142135623730951},"87":{"tf":1.0},"92":{"tf":1.4142135623730951}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":7,"docs":{"135":{"tf":1.0},"139":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":10,"docs":{"11":{"tf":1.0},"29":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"79":{"tf":1.0}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"31":{"tf":1.0},"33":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"15":{"tf":1.0},"29":{"tf":1.0},"45":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0}}}}}},"p":{"df":5,"docs":{"100":{"tf":1.0},"70":{"tf":3.0},"71":{"tf":2.23606797749979},"72":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951}},"l":{"df":1,"docs":{"79":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"131":{"tf":1.0}}}}},"k":{"df":4,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"(":{"b":{"df":0,"docs":{},"ϵ":{"df":0,"docs":{},"t":{"df":1,"docs":{"90":{"tf":1.0}},"​":{")":{"=":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"(":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":1,"docs":{"90":{"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":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"89":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":31,"docs":{"10":{"tf":1.0},"106":{"tf":2.23606797749979},"108":{"tf":1.4142135623730951},"11":{"tf":1.0},"130":{"tf":2.23606797749979},"132":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"27":{"tf":2.0},"29":{"tf":3.0},"30":{"tf":1.0},"35":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":2.0},"6":{"tf":2.23606797749979},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.7320508075688772},"9":{"tf":1.4142135623730951},"90":{"tf":3.1622776601683795},"93":{"tf":1.4142135623730951},"95":{"tf":2.449489742783178},"96":{"tf":1.0},"97":{"tf":1.0}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}},"y":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.0},"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"27":{"tf":1.0}}}},"v":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.0},"35":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":5,"docs":{"101":{"tf":1.0},"14":{"tf":1.0},"48":{"tf":1.0},"57":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"'":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"—":{"df":0,"docs":{},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"69":{"tf":1.0}}}}}}}}}}},"df":27,"docs":{"101":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"12":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"142":{"tf":1.7320508075688772},"17":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.4142135623730951},"69":{"tf":1.7320508075688772},"70":{"tf":4.0},"71":{"tf":3.1622776601683795},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.7320508075688772},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":3.0},"80":{"tf":1.7320508075688772},"83":{"tf":1.4142135623730951},"88":{"tf":1.0},"90":{"tf":2.0},"91":{"tf":2.23606797749979},"92":{"tf":1.0},"93":{"tf":1.0}}}}},"h":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"(":{"df":6,"docs":{"119":{"tf":1.7320508075688772},"125":{"tf":1.0},"54":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":1.4142135623730951}},"j":{"df":1,"docs":{"86":{"tf":1.0}}},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"s":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":1,"docs":{"125":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"2":{"_":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"d":{"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"120":{"tf":1.0}}},"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":{"b":{"df":0,"docs":{},"{":{"df":0,"docs":{},"r":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"m":{"\\":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"df":1,"docs":{"15":{"tf":1.4142135623730951}}},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"a":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}},"c":{"df":2,"docs":{"45":{"tf":1.4142135623730951},"5":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}},"n":{"df":1,"docs":{"45":{"tf":1.0}}},"p":{"df":1,"docs":{"54":{"tf":1.4142135623730951}},"}":{"_":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"}":{"_":{"0":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}},"x":{"df":3,"docs":{"45":{"tf":1.0},"47":{"tf":1.0},"54":{"tf":1.0}},"}":{"_":{"0":{"df":1,"docs":{"52":{"tf":1.7320508075688772}}},"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}},"{":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":1,"docs":{"45":{"tf":1.0}}}},"df":0,"docs":{}},"j":{"df":0,"docs":{},"k":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}}},"z":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":4,"docs":{"120":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"86":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":10,"docs":{"14":{"tf":1.0},"34":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"79":{"tf":1.0}},"i":{"c":{"a":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"c":{"df":9,"docs":{"131":{"tf":1.0},"22":{"tf":1.7320508075688772},"23":{"tf":1.0},"28":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.7320508075688772},"75":{"tf":1.0},"82":{"tf":1.7320508075688772}},"i":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":31,"docs":{"10":{"tf":1.0},"106":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"11":{"tf":1.0},"130":{"tf":2.0},"132":{"tf":1.0},"15":{"tf":1.7320508075688772},"20":{"tf":1.0},"22":{"tf":3.1622776601683795},"23":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":2.23606797749979},"32":{"tf":2.8284271247461903},"33":{"tf":2.0},"37":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":2.449489742783178},"42":{"tf":2.0},"6":{"tf":2.23606797749979},"63":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":2.6457513110645907},"72":{"tf":1.0},"74":{"tf":2.449489742783178},"75":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"82":{"tf":2.8284271247461903},"85":{"tf":1.4142135623730951},"9":{"tf":1.0},"95":{"tf":2.23606797749979}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"x":{"(":{"0":{"df":1,"docs":{"27":{"tf":1.0}}},"a":{"1":{"df":0,"docs":{},"​":{",":{"a":{"2":{"df":0,"docs":{},"​":{",":{".":{".":{".":{",":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"≈":{"(":{"a":{"1":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"+":{"a":{"2":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"…":{"+":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"p":{"1":{"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":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":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"_":{"df":1,"docs":{"120":{"tf":1.4142135623730951}},"p":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"120":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}},"df":4,"docs":{"114":{"tf":1.7320508075688772},"123":{"tf":1.0},"134":{"tf":1.4142135623730951},"32":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"102":{"tf":1.0},"17":{"tf":1.0},"57":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"22":{"tf":1.0},"54":{"tf":1.0}}}}}},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":1,"docs":{"32":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}},"d":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":21,"docs":{"14":{"tf":1.4142135623730951},"142":{"tf":2.23606797749979},"15":{"tf":1.7320508075688772},"26":{"tf":2.0},"28":{"tf":3.872983346207417},"29":{"tf":1.7320508075688772},"32":{"tf":1.7320508075688772},"33":{"tf":1.4142135623730951},"35":{"tf":3.3166247903554},"40":{"tf":1.4142135623730951},"41":{"tf":1.7320508075688772},"52":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"6":{"tf":1.7320508075688772},"63":{"tf":1.0},"66":{"tf":3.1622776601683795},"67":{"tf":2.23606797749979},"86":{"tf":1.0},"9":{"tf":1.0},"95":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"n":{"df":18,"docs":{"106":{"tf":1.0},"122":{"tf":1.0},"134":{"tf":1.0},"140":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"70":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"77":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.7320508075688772},"87":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"119":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":12,"docs":{"119":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"5":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":2.0},"74":{"tf":1.4142135623730951},"79":{"tf":1.0},"90":{"tf":1.0},"94":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":13,"docs":{"111":{"tf":1.0},"115":{"tf":1.4142135623730951},"142":{"tf":1.0},"4":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.7320508075688772},"74":{"tf":1.0},"83":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"34":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"26":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"38":{"tf":1.0},"42":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"55":{"tf":1.0},"71":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"df":20,"docs":{"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"128":{"tf":1.0},"133":{"tf":1.7320508075688772},"134":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"25":{"tf":2.8284271247461903},"27":{"tf":1.7320508075688772},"29":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"5":{"tf":3.3166247903554},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.0},"92":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":3,"docs":{"15":{"tf":1.0},"36":{"tf":1.0},"66":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"d":{"'":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":62,"docs":{"10":{"tf":2.0},"103":{"tf":1.4142135623730951},"105":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":3.1622776601683795},"111":{"tf":1.0},"12":{"tf":2.449489742783178},"120":{"tf":1.4142135623730951},"121":{"tf":1.4142135623730951},"128":{"tf":1.0},"134":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"142":{"tf":1.7320508075688772},"15":{"tf":1.4142135623730951},"16":{"tf":3.872983346207417},"17":{"tf":1.7320508075688772},"18":{"tf":2.449489742783178},"20":{"tf":2.449489742783178},"21":{"tf":2.8284271247461903},"22":{"tf":3.3166247903554},"23":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.7320508075688772},"33":{"tf":1.0},"34":{"tf":2.0},"36":{"tf":1.4142135623730951},"37":{"tf":1.0},"38":{"tf":1.0},"4":{"tf":1.0},"40":{"tf":1.7320508075688772},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"5":{"tf":3.7416573867739413},"50":{"tf":1.0},"51":{"tf":1.7320508075688772},"52":{"tf":1.7320508075688772},"53":{"tf":2.449489742783178},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"6":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"68":{"tf":1.4142135623730951},"7":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":1.4142135623730951},"82":{"tf":1.0},"89":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772},"90":{"tf":2.0},"92":{"tf":1.0},"93":{"tf":1.0}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":4,"docs":{"115":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"79":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.0}}}}},"df":0,"docs":{}}}},"g":{"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"df":0,"docs":{},"z":{"df":1,"docs":{"14":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"h":{"df":1,"docs":{"14":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"56":{"tf":1.0},"69":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"d":{"d":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.0},"5":{"tf":1.4142135623730951},"52":{"tf":1.0},"63":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.4142135623730951}},"n":{"(":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":4,"docs":{"54":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}}}}},"b":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"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":1,"docs":{"120":{"tf":1.0}},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"1":{"tf":1.0},"142":{"tf":2.0},"2":{"tf":1.0},"3":{"tf":1.0}}}}}},"df":3,"docs":{"101":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"32":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"a":{"df":1,"docs":{"51":{"tf":1.0}}},"df":15,"docs":{"101":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"55":{"tf":1.0},"59":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":15,"docs":{"101":{"tf":1.0},"120":{"tf":1.4142135623730951},"131":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"27":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"74":{"tf":1.4142135623730951},"87":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{",":{"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":{},"e":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"+":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"20":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"16":{"tf":1.0},"7":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":2,"docs":{"51":{"tf":1.0},"55":{"tf":1.0}}}}},"​":{"=":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"×":{"[":{"0":{"df":0,"docs":{},"​":{"1":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"1":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"k":{"df":1,"docs":{"66":{"tf":1.0}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"106":{"tf":1.0}}}}}},"o":{"d":{"df":1,"docs":{"15":{"tf":1.0}},"e":{"df":2,"docs":{"74":{"tf":1.0},"77":{"tf":1.0}},"l":{"df":42,"docs":{"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"107":{"tf":1.0},"113":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":2.6457513110645907},"17":{"tf":3.0},"18":{"tf":2.23606797749979},"20":{"tf":1.4142135623730951},"27":{"tf":1.0},"31":{"tf":1.0},"4":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":2.0},"5":{"tf":1.7320508075688772},"51":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":2.23606797749979},"68":{"tf":1.0},"69":{"tf":1.7320508075688772},"7":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":3.0},"75":{"tf":1.0},"76":{"tf":2.0},"77":{"tf":2.23606797749979},"79":{"tf":2.0},"80":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"84":{"tf":1.7320508075688772},"85":{"tf":1.0},"88":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"5":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"f":{"df":5,"docs":{"16":{"tf":1.0},"27":{"tf":1.4142135623730951},"34":{"tf":1.0},"5":{"tf":1.4142135623730951},"53":{"tf":1.0}},"i":{"df":11,"docs":{"11":{"tf":1.0},"131":{"tf":1.0},"21":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.0},"42":{"tf":1.0},"62":{"tf":1.4142135623730951},"67":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":5,"docs":{"101":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":2,"docs":{"102":{"tf":1.0},"141":{"tf":1.0}},"i":{"df":3,"docs":{"134":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.4142135623730951}}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"12":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":12,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"63":{"tf":1.0},"89":{"tf":1.7320508075688772},"91":{"tf":2.0},"92":{"tf":2.0},"93":{"tf":1.7320508075688772},"94":{"tf":1.4142135623730951},"97":{"tf":1.0},"99":{"tf":1.0}},"—":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"93":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"5":{"tf":1.0},"93":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"120":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":38,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"11":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.0},"126":{"tf":1.0},"135":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"141":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"23":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"34":{"tf":1.0},"37":{"tf":1.0},"4":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.7320508075688772},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.4142135623730951},"99":{"tf":1.0}},"o":{"df":0,"docs":{},"v":{"df":3,"docs":{"10":{"tf":1.0},"18":{"tf":1.0},"75":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":20,"docs":{"10":{"tf":1.4142135623730951},"15":{"tf":1.0},"17":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"38":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.449489742783178},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"58":{"tf":1.0},"6":{"tf":1.4142135623730951},"60":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":2.449489742783178},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"91":{"tf":1.0}}}},"v":{"df":1,"docs":{"4":{"tf":1.0}}}}},"v":{"df":1,"docs":{"120":{"tf":2.0}},"e":{"df":21,"docs":{"120":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"18":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.0},"50":{"tf":1.4142135623730951},"57":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.4142135623730951},"70":{"tf":1.7320508075688772},"71":{"tf":1.0},"87":{"tf":1.4142135623730951},"95":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":9,"docs":{"131":{"tf":1.0},"17":{"tf":1.4142135623730951},"29":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"45":{"tf":1.0},"6":{"tf":1.4142135623730951},"67":{"tf":1.0},"87":{"tf":1.0}}}}}}}}},"p":{"df":0,"docs":{},"m":{"df":5,"docs":{"12":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":2.23606797749979}}}},"u":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}}},"_":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"m":{"b":{"d":{"a":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"63":{"tf":2.6457513110645907}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"[":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"125":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"126":{"tf":1.7320508075688772}}}},"df":1,"docs":{"125":{"tf":1.0}}}}}}},"df":2,"docs":{"63":{"tf":2.6457513110645907},"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"125":{"tf":1.4142135623730951},"126":{"tf":2.449489742783178},"85":{"tf":1.0}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"113":{"tf":1.0},"120":{"tf":1.0},"43":{"tf":1.0},"87":{"tf":1.0}}}},"d":{"df":1,"docs":{"69":{"tf":1.0}}},"df":4,"docs":{"117":{"tf":1.0},"125":{"tf":1.0},"63":{"tf":2.8284271247461903},"86":{"tf":4.58257569495584}},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"58":{"tf":1.0}},"p":{"df":0,"docs":{},"l":{"df":6,"docs":{"101":{"tf":1.0},"114":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.0},"69":{"tf":1.0}},"i":{"df":11,"docs":{"101":{"tf":1.0},"112":{"tf":1.0},"134":{"tf":1.0},"141":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"40":{"tf":1.0},"42":{"tf":1.7320508075688772},"74":{"tf":1.0}}}}}}}},"s":{"c":{"df":0,"docs":{},"l":{"df":2,"docs":{"69":{"tf":1.0},"74":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"95":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}}},"×":{"d":{"df":0,"docs":{},"n":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"42":{"tf":1.0}}}}},"n":{"(":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"134":{"tf":1.0}}},"df":0,"docs":{}},"x":{")":{"=":{"df":0,"docs":{},"{":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∥":{"<":{"df":0,"docs":{},"r":{"df":1,"docs":{"101":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},",":{"df":0,"docs":{},"t":{")":{"=":{"0":{".":{"df":0,"docs":{},"​":{"(":{"1":{"8":{".":{"4":{".":{"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":{}},"df":0,"docs":{}}},"df":1,"docs":{"103":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.0}}}},"df":5,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"91":{"tf":1.0}}}},"+":{"1":{"df":6,"docs":{"10":{"tf":1.0},"104":{"tf":1.0},"123":{"tf":1.0},"66":{"tf":1.0},"76":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"i":{"df":3,"docs":{"62":{"tf":2.0},"63":{"tf":1.0},"67":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"/":{"a":{"df":1,"docs":{"142":{"tf":3.4641016151377544}}},"df":0,"docs":{}},"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"95":{"tf":1.0}}},"β":{",":{"df":0,"docs":{},"γ":{")":{"+":{"df":0,"docs":{},"n":{"2":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"β":{",":{"df":0,"docs":{},"γ":{")":{"+":{"df":0,"docs":{},"n":{"3":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"β":{",":{"df":0,"docs":{},"γ":{")":{"=":{"1":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":0,"docs":{},"−":{"df":0,"docs":{},"β":{"df":0,"docs":{},"−":{"df":0,"docs":{},"γ":{",":{"df":0,"docs":{},"n":{"2":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"β":{",":{"df":0,"docs":{},"γ":{")":{"=":{"df":0,"docs":{},"β":{",":{"df":0,"docs":{},"n":{"3":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"2":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"95":{"tf":1.0}}}},"df":0,"docs":{}}},"3":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"95":{"tf":1.0}}}},"df":0,"docs":{}}},"=":{"(":{"0":{",":{"df":0,"docs":{},"−":{"1":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{",":{"1":{",":{"2":{",":{"\\":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{}},"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":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}}},"df":0,"docs":{}}},"\\":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}},"^":{"=":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"−":{"df":0,"docs":{},"n":{"df":0,"docs":{},"x":{"df":1,"docs":{"62":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"+":{"1":{")":{"*":{"(":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"+":{"1":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"29":{"tf":2.449489742783178}}},"df":0,"docs":{}},"df":7,"docs":{"117":{"tf":2.0},"25":{"tf":4.58257569495584},"29":{"tf":3.1622776601683795},"35":{"tf":1.7320508075688772},"54":{"tf":1.0},"67":{"tf":1.7320508075688772},"85":{"tf":3.7416573867739413}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"a":{"^":{"2":{"df":3,"docs":{"21":{"tf":2.0},"22":{"tf":2.8284271247461903},"26":{"tf":1.0}}},"df":0,"docs":{}},"df":7,"docs":{"11":{"tf":1.0},"14":{"tf":1.7320508075688772},"16":{"tf":1.0},"21":{"tf":2.449489742783178},"22":{"tf":1.0},"26":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":4,"docs":{"104":{"tf":1.0},"106":{"tf":1.4142135623730951},"112":{"tf":1.0},"113":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":3,"docs":{"115":{"tf":1.0},"21":{"tf":1.0},"75":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"_":{"c":{"c":{"d":{"(":{"_":{"df":0,"docs":{},"p":{"df":1,"docs":{"120":{"tf":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":{"120":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"1":{"tf":1.0},"27":{"tf":1.4142135623730951},"5":{"tf":1.0},"71":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"37":{"tf":1.0}}}}},"​":{"(":{"df":0,"docs":{},"x":{")":{":":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"df":1,"docs":{"95":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"b":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}},"d":{"df":3,"docs":{"104":{"tf":1.0},"95":{"tf":1.7320508075688772},"97":{"tf":1.4142135623730951}}},"df":28,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"11":{"tf":1.0},"117":{"tf":1.4142135623730951},"124":{"tf":2.0},"125":{"tf":2.6457513110645907},"126":{"tf":2.6457513110645907},"127":{"tf":1.0},"22":{"tf":1.7320508075688772},"25":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":2.8284271247461903},"63":{"tf":3.0},"67":{"tf":2.8284271247461903},"7":{"tf":1.7320508075688772},"70":{"tf":1.0},"87":{"tf":1.0},"9":{"tf":1.7320508075688772},"91":{"tf":1.7320508075688772},"94":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"99":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"i":{"df":5,"docs":{"136":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"23":{"tf":1.0},"53":{"tf":1.0},"71":{"tf":1.0}}}},"df":1,"docs":{"42":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"120":{"tf":1.0},"126":{"tf":1.0},"82":{"tf":1.7320508075688772}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"100":{"tf":1.0},"141":{"tf":1.0},"15":{"tf":1.0},"29":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"75":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"105":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"41":{"tf":1.0},"6":{"tf":1.0}}}}}}},"df":1,"docs":{"29":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":7,"docs":{"11":{"tf":1.0},"133":{"tf":1.0},"14":{"tf":1.0},"5":{"tf":1.0},"55":{"tf":1.0},"79":{"tf":1.0},"85":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"d":{"df":41,"docs":{"101":{"tf":1.4142135623730951},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"111":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.4142135623730951},"53":{"tf":1.0},"55":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"g":{"df":16,"docs":{"101":{"tf":1.0},"131":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"27":{"tf":1.7320508075688772},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"55":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.4142135623730951},"82":{"tf":1.0},"87":{"tf":1.0}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"101":{"tf":1.0},"113":{"tf":1.4142135623730951},"134":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"df":12,"docs":{"142":{"tf":1.0},"20":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.4142135623730951},"86":{"tf":1.0},"88":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"86":{"tf":1.7320508075688772},"87":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}},"q":{"df":2,"docs":{"16":{"tf":1.0},"21":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"136":{"tf":1.0}}}},"t":{"df":1,"docs":{"91":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}}}}},"u":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":6,"docs":{"100":{"tf":1.7320508075688772},"103":{"tf":1.4142135623730951},"109":{"tf":1.0},"112":{"tf":2.6457513110645907},"113":{"tf":1.0},"99":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"r":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.0},"53":{"tf":1.0}}}}},"w":{"df":7,"docs":{"10":{"tf":1.0},"117":{"tf":1.4142135623730951},"21":{"tf":1.7320508075688772},"41":{"tf":1.7320508075688772},"53":{"tf":1.0},"66":{"tf":1.0},"87":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":15,"docs":{"10":{"tf":1.0},"11":{"tf":2.6457513110645907},"12":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":2.449489742783178},"21":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"27":{"tf":1.0},"6":{"tf":1.7320508075688772},"69":{"tf":1.0},"7":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.0}}},"df":14,"docs":{"142":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"28":{"tf":1.4142135623730951},"32":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":2.0},"67":{"tf":1.0}}}}}},"x":{"df":0,"docs":{},"t":{"df":34,"docs":{"101":{"tf":1.4142135623730951},"103":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"118":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"134":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"77":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":1.0},"9":{"tf":1.4142135623730951},"93":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.4142135623730951}}}}},"h":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"f":{")":{"=":{"2":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{")":{"df":0,"docs":{},"−":{"d":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"j":{")":{"+":{"2":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"2":{"(":{"df":0,"docs":{},"j":{")":{".":{"(":{"1":{"3":{".":{"1":{".":{"2":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{},"h":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{")":{"=":{"2":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"i":{"=":{"1":{"df":0,"docs":{},"∑":{"d":{"df":0,"docs":{},"​":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"d":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"j":{")":{"+":{"2":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"2":{"(":{"df":0,"docs":{},"j":{"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":2,"docs":{"74":{"tf":1.0},"76":{"tf":1.0}}},"σ":{")":{"=":{"2":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"∑":{"d":{"df":0,"docs":{},"​":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"d":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"j":{")":{"+":{"2":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"2":{"(":{"df":0,"docs":{},"j":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"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":7,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"119":{"tf":1.0},"126":{"tf":1.0},"27":{"tf":1.4142135623730951},"42":{"tf":2.0},"67":{"tf":1.4142135623730951}},"t":{"df":1,"docs":{"42":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"′":{"df":0,"docs":{},"​":{")":{"=":{"0":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"=":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"=":{"1":{"[":{"1":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"​":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{",":{"(":{"6":{".":{"3":{".":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}}}}}},"df":0,"docs":{}}},"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":{},"​":{"=":{"0":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"95":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"j":{"df":4,"docs":{"119":{"tf":1.4142135623730951},"126":{"tf":1.0},"27":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}}},"k":{"df":1,"docs":{"57":{"tf":1.4142135623730951}},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"57":{"tf":1.0}}}},"=":{"0":{",":{"(":{"9":{".":{"1":{".":{"1":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"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":1,"docs":{"123":{"tf":1.0}}},"o":{"d":{"a":{"df":0,"docs":{},"l":{"df":16,"docs":{"101":{"tf":1.0},"107":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"125":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"47":{"tf":1.0},"54":{"tf":1.0},"60":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":47,"docs":{"105":{"tf":1.4142135623730951},"106":{"tf":2.0},"107":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":2.0},"113":{"tf":1.4142135623730951},"117":{"tf":3.0},"118":{"tf":1.4142135623730951},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"130":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"134":{"tf":2.0},"15":{"tf":1.4142135623730951},"22":{"tf":2.0},"23":{"tf":1.0},"25":{"tf":2.0},"29":{"tf":2.8284271247461903},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":3.605551275463989},"33":{"tf":2.23606797749979},"34":{"tf":3.0},"35":{"tf":2.0},"36":{"tf":1.4142135623730951},"38":{"tf":2.0},"42":{"tf":3.0},"43":{"tf":1.0},"45":{"tf":1.7320508075688772},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"5":{"tf":2.6457513110645907},"53":{"tf":1.7320508075688772},"54":{"tf":2.6457513110645907},"57":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":3.1622776601683795},"67":{"tf":3.4641016151377544},"68":{"tf":1.7320508075688772},"7":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}},"df":37,"docs":{"100":{"tf":1.7320508075688772},"101":{"tf":1.4142135623730951},"114":{"tf":1.7320508075688772},"117":{"tf":1.0},"121":{"tf":1.7320508075688772},"123":{"tf":1.0},"125":{"tf":1.0},"131":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"27":{"tf":1.0},"34":{"tf":1.4142135623730951},"40":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":2.0},"47":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.0},"67":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.7320508075688772},"84":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":2.23606797749979},"88":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"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":{"43":{"tf":1.0}}}}}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":12,"docs":{"107":{"tf":1.4142135623730951},"11":{"tf":1.7320508075688772},"113":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"142":{"tf":1.0},"15":{"tf":1.4142135623730951},"20":{"tf":2.0},"58":{"tf":1.0},"59":{"tf":1.0},"74":{"tf":1.0},"77":{"tf":1.0}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"101":{"tf":1.4142135623730951},"44":{"tf":1.0}}}}}}},"h":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"102":{"tf":1.4142135623730951},"123":{"tf":1.0},"17":{"tf":1.0},"57":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"124":{"tf":1.0}}}}}}},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":4,"docs":{"101":{"tf":1.4142135623730951},"105":{"tf":1.0},"106":{"tf":1.0},"26":{"tf":2.0}}}}}}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":25,"docs":{"100":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"109":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.7320508075688772},"122":{"tf":1.0},"123":{"tf":2.6457513110645907},"124":{"tf":2.23606797749979},"125":{"tf":2.0},"127":{"tf":1.4142135623730951},"32":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":2.23606797749979},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"67":{"tf":1.4142135623730951},"82":{"tf":1.0},"91":{"tf":1.4142135623730951}}}},"df":2,"docs":{"114":{"tf":1.4142135623730951},"4":{"tf":1.0}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":11,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"17":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":5,"docs":{"71":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":22,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"106":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.7320508075688772},"86":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0}}}},"w":{"df":31,"docs":{"113":{"tf":1.4142135623730951},"116":{"tf":1.0},"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"132":{"tf":1.4142135623730951},"134":{"tf":1.4142135623730951},"140":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"28":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"57":{"tf":1.0},"6":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"7":{"tf":1.0},"78":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":2.449489742783178},"87":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0}}}},"p":{".":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":1,"docs":{"120":{"tf":1.0}},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":1,"docs":{"117":{"tf":1.0}},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"v":{"[":{"2":{"df":5,"docs":{"119":{"tf":1.0},"126":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{}}}},"x":{"df":2,"docs":{"117":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"(":{"[":{"0":{".":{"0":{"df":9,"docs":{"117":{"tf":2.0},"118":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"67":{"tf":2.6457513110645907},"86":{"tf":1.0}}},"1":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"0":{"0":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"[":{"0":{".":{"0":{"df":11,"docs":{"118":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"_":{"d":{"df":0,"docs":{},"x":{"_":{"2":{"df":1,"docs":{"86":{"tf":1.0}}},"4":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":1,"docs":{"117":{"tf":1.0}}},"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"(":{"d":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"118":{"tf":2.449489742783178},"125":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"2":{"df":3,"docs":{"126":{"tf":2.0},"27":{"tf":1.0},"63":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}}},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"[":{"df":0,"docs":{},"p":{"2":{"1":{"df":1,"docs":{"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"x":{"2":{"1":{"df":1,"docs":{"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"b":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"u":{"df":1,"docs":{"86":{"tf":1.0}}},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"86":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"t":{"b":{"df":1,"docs":{"85":{"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":{},"r":{"df":0,"docs":{},"m":{"(":{"d":{"df":0,"docs":{},"p":{"df":1,"docs":{"120":{"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":0,"docs":{},"n":{"df":2,"docs":{"117":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"n":{"df":1,"docs":{"125":{"tf":1.0}}},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"126":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"v":{"d":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"v":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"27":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":4,"docs":{"126":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"67":{"tf":1.0}}},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"126":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"(":{"[":{"2":{"df":1,"docs":{"118":{"tf":1.0}}},"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"[":{"0":{":":{"2":{"df":1,"docs":{"118":{"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":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"f":{")":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}}}},"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":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"f":{")":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"b":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"t":{")":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"v":{"df":1,"docs":{"126":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"v":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"63":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"v":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":13,"docs":{"118":{"tf":1.7320508075688772},"120":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0},"86":{"tf":1.0}}},"u":{"=":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"[":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"[":{"df":0,"docs":{},"v":{"df":0,"docs":{},"u":{",":{"df":0,"docs":{},"v":{"df":0,"docs":{},"u":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"117":{"tf":1.0},"85":{"tf":2.23606797749979}},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"74":{"tf":1.7320508075688772},"77":{"tf":1.4142135623730951}}}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":16,"docs":{"120":{"tf":1.0},"135":{"tf":1.4142135623730951},"141":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.0},"5":{"tf":1.4142135623730951},"54":{"tf":1.0},"57":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}}}},"df":2,"docs":{"117":{"tf":1.0},"29":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":14,"docs":{"10":{"tf":1.0},"118":{"tf":2.0},"12":{"tf":1.0},"120":{"tf":1.7320508075688772},"121":{"tf":1.4142135623730951},"131":{"tf":1.0},"29":{"tf":1.0},"4":{"tf":1.0},"66":{"tf":1.4142135623730951},"71":{"tf":1.0},"87":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}}}},"p":{"df":0,"docs":{},"i":{"df":13,"docs":{"118":{"tf":1.7320508075688772},"120":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"35":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"67":{"tf":1.0},"86":{"tf":1.0}}},"y":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"df":2,"docs":{"27":{"tf":1.0},"28":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"v":{"=":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"[":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"[":{"df":0,"docs":{},"v":{"df":0,"docs":{},"v":{",":{"df":0,"docs":{},"v":{"df":0,"docs":{},"v":{"df":1,"docs":{"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":{},"x":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{")":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{")":{".":{"(":{"2":{"0":{".":{"1":{".":{"1":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":1,"docs":{"99":{"tf":1.0}}},"df":0,"docs":{}}},"∪":{"df":0,"docs":{},"γ":{"d":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ω":{"0":{"df":1,"docs":{"99":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"o":{"(":{"df":0,"docs":{},"n":{"^":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"+":{"3":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"j":{"df":1,"docs":{"29":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"t":{"'":{"df":2,"docs":{"5":{"tf":1.0},"50":{"tf":1.0}}},"df":21,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":2.23606797749979},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"45":{"tf":1.4142135623730951},"49":{"tf":1.0},"5":{"tf":2.0},"50":{"tf":2.23606797749979},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0}},"’":{"df":1,"docs":{"5":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":8,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"126":{"tf":1.0},"56":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"77":{"tf":1.0},"81":{"tf":1.0}}}}},"t":{"a":{"c":{"df":0,"docs":{},"l":{"df":14,"docs":{"101":{"tf":1.4142135623730951},"113":{"tf":2.0},"114":{"tf":1.0},"15":{"tf":1.0},"44":{"tf":1.4142135623730951},"47":{"tf":2.23606797749979},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":2.449489742783178},"53":{"tf":2.23606797749979},"55":{"tf":1.4142135623730951},"64":{"tf":1.0},"66":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":26,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.0},"118":{"tf":1.4142135623730951},"120":{"tf":1.0},"121":{"tf":1.4142135623730951},"123":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"134":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.7320508075688772},"42":{"tf":2.23606797749979},"52":{"tf":1.0},"53":{"tf":2.0},"57":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":1.0},"74":{"tf":1.0},"87":{"tf":1.7320508075688772},"91":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"96":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"32":{"tf":1.0},"70":{"tf":1.0}}}},"r":{"df":9,"docs":{"101":{"tf":1.0},"117":{"tf":1.0},"131":{"tf":1.0},"16":{"tf":1.0},"53":{"tf":1.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0}},"r":{"df":1,"docs":{"101":{"tf":1.0}}}}}},"df":0,"docs":{}},"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":5,"docs":{"113":{"tf":1.0},"62":{"tf":3.0},"63":{"tf":2.0},"67":{"tf":2.0},"87":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"12":{"tf":1.0},"18":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"[":{"0":{"df":1,"docs":{"29":{"tf":1.0}}},"1":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"117":{"tf":1.0},"29":{"tf":1.0}}}}}}},"l":{"d":{"df":2,"docs":{"82":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"130":{"tf":1.0},"134":{"tf":1.0},"92":{"tf":1.0},"98":{"tf":1.0}}}}},"n":{"c":{"df":10,"docs":{"100":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"41":{"tf":1.0},"54":{"tf":1.0},"85":{"tf":1.0}}},"df":25,"docs":{"105":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"120":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.4142135623730951},"45":{"tf":1.0},"5":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"6":{"tf":1.0},"63":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.4142135623730951},"87":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"o":{"df":17,"docs":{"117":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"134":{"tf":1.0},"16":{"tf":1.4142135623730951},"22":{"tf":1.0},"23":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":1.7320508075688772},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.4142135623730951},"87":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"41":{"tf":1.0}}},"r":{"df":15,"docs":{"101":{"tf":1.4142135623730951},"114":{"tf":2.0},"122":{"tf":1.0},"123":{"tf":1.4142135623730951},"132":{"tf":1.0},"134":{"tf":1.4142135623730951},"27":{"tf":1.0},"29":{"tf":1.0},"42":{"tf":1.0},"5":{"tf":2.0},"58":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.0},"91":{"tf":1.0}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"17":{"tf":1.0},"71":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"29":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"a":{"df":1,"docs":{"53":{"tf":1.0}}},"df":52,"docs":{"101":{"tf":1.7320508075688772},"102":{"tf":1.0},"103":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.0},"122":{"tf":1.4142135623730951},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.7320508075688772},"13":{"tf":1.0},"134":{"tf":1.4142135623730951},"14":{"tf":2.23606797749979},"140":{"tf":1.0},"141":{"tf":1.0},"15":{"tf":2.0},"16":{"tf":2.23606797749979},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.7320508075688772},"24":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"32":{"tf":2.23606797749979},"34":{"tf":1.7320508075688772},"36":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.8284271247461903},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.7320508075688772},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"tf":1.0},"99":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"49":{"tf":1.0},"53":{"tf":1.4142135623730951}}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"119":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"45":{"tf":1.0},"58":{"tf":1.0},"6":{"tf":1.0},"76":{"tf":1.0},"94":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":5,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"137":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"20":{"tf":1.0},"57":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":14,"docs":{"100":{"tf":1.0},"120":{"tf":1.0},"16":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"34":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.4142135623730951},"58":{"tf":1.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.0},"92":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":8,"docs":{"102":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"41":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"95":{"tf":2.23606797749979},"97":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"41":{"tf":1.0},"42":{"tf":1.4142135623730951}}}}}}}}}},"s":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{"'":{"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":{"29":{"tf":1.0}}}}}}}}},"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":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"'":{"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":{"29":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"142":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"29":{"tf":1.0}}}}},"df":1,"docs":{"25":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"5":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"22":{"tf":1.0},"75":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":4,"docs":{"17":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.0}}}}},"df":5,"docs":{"121":{"tf":1.0},"22":{"tf":1.4142135623730951},"33":{"tf":1.0},"81":{"tf":1.0},"95":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"14":{"tf":1.0},"20":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"79":{"tf":1.0},"89":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":6,"docs":{"101":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"91":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"121":{"tf":1.0},"21":{"tf":1.0}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":21,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"112":{"tf":1.7320508075688772},"12":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.0},"17":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"89":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"l":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"100":{"tf":1.4142135623730951},"114":{"tf":1.7320508075688772},"120":{"tf":1.7320508075688772},"121":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":1,"docs":{"51":{"tf":1.0}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"0":{"tf":1.0},"4":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.0}}}}}}}}}}}},"−":{"3":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"(":{"df":0,"docs":{},"f":{")":{"=":{"df":0,"docs":{},"k":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ψ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"f":{")":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"81":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}},"p":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"q":{"df":0,"docs":{},"q":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"q":{")":{"df":0,"docs":{},"q":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"u":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"σ":{")":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"=":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"^":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"80":{"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":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"k":{")":{"df":0,"docs":{},"q":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"81":{"tf":1.4142135623730951}},"r":{")":{"=":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"f":{")":{"df":0,"docs":{},"r":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"f":{")":{"=":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"x":{")":{"=":{"df":0,"docs":{},"e":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"g":{",":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"−":{"df":0,"docs":{},"m":{"df":0,"docs":{},"g":{",":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"∇":{"2":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{")":{"=":{"0":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"a":{"^":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":1,"docs":{"107":{"tf":1.0}}}}},"df":3,"docs":{"14":{"tf":1.4142135623730951},"25":{"tf":1.0},"27":{"tf":1.0}}},"σ":{")":{"=":{"df":0,"docs":{},"p":{"df":1,"docs":{"81":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"⋅":{",":{"df":0,"docs":{},"t":{")":{":":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"×":{"d":{"df":1,"docs":{"91":{"tf":1.0}}},"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":2,"docs":{"131":{"tf":1.0},"82":{"tf":1.4142135623730951}}}}},"0":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"1":{"df":2,"docs":{"114":{"tf":1.0},"118":{"tf":2.23606797749979}}},"2":{"1":{"df":1,"docs":{"87":{"tf":1.0}}},"df":0,"docs":{}},"3":{"1":{"df":1,"docs":{"87":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"=":{"(":{"0":{".":{"5":{",":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{")":{"+":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{")":{"+":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{")":{"(":{"3":{".":{"3":{".":{"1":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{"df":0,"docs":{},"v":{"0":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"[":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"k":{")":{":":{"df":0,"docs":{},"δ":{"(":{"df":0,"docs":{},"k":{")":{"]":{"df":0,"docs":{},"q":{"df":0,"docs":{},"t":{"=":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"k":{")":{":":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"f":{"df":0,"docs":{},"q":{")":{"]":{"df":0,"docs":{},"q":{"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":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"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":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"[":{"df":0,"docs":{},"v":{"df":1,"docs":{"82":{"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":{},"∂":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{")":{":":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"f":{"df":0,"docs":{},"v":{")":{"]":{"df":0,"docs":{},"v":{"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":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"x":{"df":1,"docs":{"21":{"tf":1.0}}},"∂":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}},"∂":{"df":0,"docs":{},"ψ":{"df":0,"docs":{},"​":{".":{"(":{"1":{"4":{".":{"1":{".":{"1":{"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":{}}}}}}},">":{"0":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"[":{"0":{"df":2,"docs":{"118":{"tf":2.0},"86":{"tf":2.0}}},"1":{"df":2,"docs":{"118":{"tf":2.0},"86":{"tf":2.0}}},"df":0,"docs":{},"e":{"[":{"df":0,"docs":{},"i":{"]":{"[":{"0":{"df":1,"docs":{"87":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"87":{"tf":1.0}}},"2":{"df":1,"docs":{"87":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"[":{"0":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"]":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"[":{"1":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"67":{"tf":1.0}}},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}}}},"^":{"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"μ":{"(":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"1":{"df":0,"docs":{},"​":{")":{"+":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"j":{")":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"1":{"df":1,"docs":{"80":{"tf":1.0}}},"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":{"21":{"tf":1.4142135623730951}}}},"_":{"b":{"(":{"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"df":0,"docs":{},"x":{"df":2,"docs":{"48":{"tf":2.0},"52":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":2,"docs":{"62":{"tf":1.7320508075688772},"67":{"tf":1.7320508075688772}}}},"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"81":{"tf":1.0}}}},"i":{"df":0,"docs":{},"r":{"df":21,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"120":{"tf":2.8284271247461903},"121":{"tf":1.4142135623730951},"123":{"tf":2.0},"124":{"tf":2.23606797749979},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.7320508075688772},"133":{"tf":1.7320508075688772},"135":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":2.0},"141":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"z":{"df":0,"docs":{},"z":{"df":0,"docs":{},"o":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}}},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"120":{"tf":1.0},"134":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":13,"docs":{"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"112":{"tf":1.0},"132":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"48":{"tf":1.0},"5":{"tf":1.0},"74":{"tf":2.449489742783178},"77":{"tf":1.0},"82":{"tf":1.0},"85":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"125":{"tf":1.4142135623730951},"45":{"tf":2.0},"76":{"tf":1.0},"82":{"tf":1.0}}}},"r":{"df":2,"docs":{"5":{"tf":1.4142135623730951},"82":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"82":{"tf":1.0}}}}}}},"t":{"df":8,"docs":{"100":{"tf":1.0},"139":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"58":{"tf":1.0},"92":{"tf":1.7320508075688772},"93":{"tf":1.0},"99":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"125":{"tf":2.449489742783178},"4":{"tf":1.0},"82":{"tf":1.0}}}},"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"l":{"df":9,"docs":{"10":{"tf":1.0},"105":{"tf":1.7320508075688772},"118":{"tf":1.0},"5":{"tf":1.4142135623730951},"52":{"tf":2.23606797749979},"53":{"tf":1.0},"57":{"tf":1.7320508075688772},"66":{"tf":1.0},"70":{"tf":2.0}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"37":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":12,"docs":{"131":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"79":{"tf":1.4142135623730951},"83":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"t":{"df":3,"docs":{"105":{"tf":2.0},"136":{"tf":1.0},"33":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":11,"docs":{"117":{"tf":1.0},"125":{"tf":1.0},"35":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"71":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"15":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.0},"55":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"85":{"tf":1.4142135623730951}}}}}}}},"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"d":{"df":0,"docs":{},"∂":{"b":{"df":0,"docs":{},"​":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{")":{"df":0,"docs":{},"∇":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"(":{"7":{".":{"2":{".":{"4":{"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":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"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":1,"docs":{"113":{"tf":1.4142135623730951}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"4":{"tf":1.7320508075688772}}}},"df":24,"docs":{"107":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"118":{"tf":2.0},"120":{"tf":2.449489742783178},"124":{"tf":1.0},"125":{"tf":2.0},"131":{"tf":1.0},"21":{"tf":2.0},"22":{"tf":3.3166247903554},"28":{"tf":2.0},"53":{"tf":2.449489742783178},"54":{"tf":1.7320508075688772},"62":{"tf":1.0},"67":{"tf":1.4142135623730951},"79":{"tf":2.8284271247461903},"80":{"tf":2.449489742783178},"81":{"tf":1.4142135623730951},"82":{"tf":2.449489742783178},"83":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":1.0},"91":{"tf":1.0},"94":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"119":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"125":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}},"x":{"[":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":2,"docs":{"119":{"tf":1.7320508075688772},"125":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":3,"docs":{"120":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0}},"n":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"16":{"tf":1.0},"60":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":4,"docs":{"65":{"tf":1.0},"66":{"tf":3.0},"67":{"tf":2.0},"68":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":5,"docs":{"100":{"tf":1.0},"133":{"tf":1.0},"16":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.0}}}}}},"r":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"df":19,"docs":{"102":{"tf":1.4142135623730951},"105":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"134":{"tf":1.0},"29":{"tf":1.0},"42":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"67":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"114":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":16,"docs":{"115":{"tf":1.4142135623730951},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"131":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.0},"87":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"70":{"tf":1.0}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"l":{"2":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"l":{"2":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"1":{")":{"2":{",":{"(":{"4":{".":{"3":{".":{"1":{"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":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":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":{"27":{"tf":1.0}}}},"=":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"ψ":{"(":{"df":0,"docs":{},"f":{")":{"d":{"df":0,"docs":{},"x":{"df":1,"docs":{"73":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"f":{"df":2,"docs":{"123":{"tf":1.0},"58":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"k":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"f":{"0":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"h":{"^":{"df":0,"docs":{},"∥":{")":{",":{"(":{"9":{".":{"2":{".":{"1":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"−":{"df":0,"docs":{},"k":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"t":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"f":{"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{")":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{")":{",":{"(":{"9":{".":{"2":{".":{"3":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":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":{"123":{"tf":1.0}}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"137":{"tf":1.0},"139":{"tf":1.4142135623730951},"141":{"tf":1.0},"29":{"tf":1.0}}}},"t":{"=":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"{":{"df":0,"docs":{},"t":{"1":{"[":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{",":{"df":0,"docs":{},"s":{"3":{"]":{",":{"df":0,"docs":{},"t":{"2":{"[":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{",":{"df":0,"docs":{},"s":{"3":{"]":{",":{"df":0,"docs":{},"t":{"3":{"[":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{",":{"df":0,"docs":{},"s":{"3":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{"2":{"[":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{"df":1,"docs":{"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":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":4,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"69":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.0},"50":{"tf":1.0}}}}}}}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"df":21,"docs":{"0":{"tf":1.0},"111":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"4":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":2.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951},"66":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":2,"docs":{"131":{"tf":1.0},"87":{"tf":1.0}},"e":{"c":{"df":2,"docs":{"118":{"tf":1.0},"55":{"tf":1.0}},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":8,"docs":{"105":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"109":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"121":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"j":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"p":{"df":0,"docs":{},"j":{"df":2,"docs":{"131":{"tf":1.0},"87":{"tf":1.0}}}}}}}},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"79":{"tf":1.0}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"j":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"a":{"df":6,"docs":{"107":{"tf":1.0},"79":{"tf":2.0},"80":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.0}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"31":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"l":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"29":{"tf":1.0},"4":{"tf":1.0},"58":{"tf":1.0}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"32":{"tf":1.0},"42":{"tf":1.0},"47":{"tf":1.0},"54":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"e":{"df":8,"docs":{"134":{"tf":1.0},"16":{"tf":1.0},"32":{"tf":1.4142135623730951},"36":{"tf":1.0},"38":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"53":{"tf":1.0},"71":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"52":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":4,"docs":{"16":{"tf":1.0},"31":{"tf":1.0},"68":{"tf":1.0},"83":{"tf":1.0}}}},"df":1,"docs":{"118":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"20":{"tf":1.0},"48":{"tf":1.0}}}},"u":{"df":1,"docs":{"134":{"tf":1.0}},"g":{"df":2,"docs":{"49":{"tf":1.0},"95":{"tf":1.0}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"p":{"df":0,"docs":{},"−":{"df":0,"docs":{},"∇":{"2":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{")":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"f":{"df":0,"docs":{},"​":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"v":{"df":0,"docs":{},"≥":{"0":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"n":{"df":2,"docs":{"52":{"tf":1.0},"53":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"121":{"tf":1.0}}},"(":{"df":0,"docs":{},"e":{"0":{"df":2,"docs":{"118":{"tf":1.4142135623730951},"125":{"tf":1.0}}},"1":{"df":2,"docs":{"118":{"tf":1.4142135623730951},"125":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":2,"docs":{"118":{"tf":2.449489742783178},"125":{"tf":1.7320508075688772}}}},"df":59,"docs":{"101":{"tf":2.8284271247461903},"102":{"tf":1.0},"105":{"tf":1.7320508075688772},"108":{"tf":1.0},"113":{"tf":2.6457513110645907},"114":{"tf":3.0},"117":{"tf":1.7320508075688772},"118":{"tf":3.7416573867739413},"119":{"tf":2.449489742783178},"12":{"tf":2.0},"120":{"tf":3.4641016151377544},"121":{"tf":2.0},"122":{"tf":1.0},"123":{"tf":2.8284271247461903},"124":{"tf":2.23606797749979},"125":{"tf":2.6457513110645907},"126":{"tf":1.0},"127":{"tf":2.0},"129":{"tf":1.0},"133":{"tf":2.0},"134":{"tf":3.7416573867739413},"136":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.7320508075688772},"140":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":3.605551275463989},"54":{"tf":1.0},"57":{"tf":1.7320508075688772},"58":{"tf":1.0},"59":{"tf":3.0},"6":{"tf":2.0},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"68":{"tf":1.0},"7":{"tf":1.7320508075688772},"70":{"tf":3.605551275463989},"71":{"tf":2.6457513110645907},"72":{"tf":1.0},"73":{"tf":1.7320508075688772},"77":{"tf":1.0},"91":{"tf":1.7320508075688772},"94":{"tf":1.0},"95":{"tf":2.8284271247461903},"96":{"tf":1.0},"97":{"tf":1.7320508075688772}},"e":{"d":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"118":{"tf":1.0},"125":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"118":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"118":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":3,"docs":{"117":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"l":{"a":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"v":{"d":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":4,"docs":{"74":{"tf":1.0},"75":{"tf":2.8284271247461903},"76":{"tf":1.4142135623730951},"77":{"tf":1.0}}}},"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"114":{"tf":1.0},"123":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":3,"docs":{"21":{"tf":1.0},"27":{"tf":1.0},"76":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"114":{"tf":1.0},"16":{"tf":1.0}}},"i":{"df":0,"docs":{},"t":{"df":41,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"11":{"tf":1.4142135623730951},"114":{"tf":1.0},"117":{"tf":1.7320508075688772},"12":{"tf":1.0},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"125":{"tf":1.0},"131":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"32":{"tf":2.449489742783178},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.7320508075688772},"6":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":2.6457513110645907},"69":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":2.23606797749979},"84":{"tf":1.0},"87":{"tf":1.7320508075688772},"95":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"40":{"tf":1.0},"7":{"tf":1.0}}}}},"i":{"b":{"df":0,"docs":{},"l":{"df":10,"docs":{"114":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":57,"docs":{"101":{"tf":2.449489742783178},"107":{"tf":1.0},"11":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":2.0},"115":{"tf":1.0},"119":{"tf":1.4142135623730951},"12":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":2.23606797749979},"126":{"tf":1.0},"127":{"tf":1.7320508075688772},"131":{"tf":1.0},"134":{"tf":1.7320508075688772},"137":{"tf":1.0},"139":{"tf":1.0},"14":{"tf":2.449489742783178},"142":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"20":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"27":{"tf":2.6457513110645907},"28":{"tf":1.7320508075688772},"29":{"tf":1.0},"30":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"34":{"tf":2.0},"35":{"tf":1.0},"36":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":2.449489742783178},"50":{"tf":2.0},"51":{"tf":1.7320508075688772},"52":{"tf":2.0},"53":{"tf":1.7320508075688772},"54":{"tf":2.23606797749979},"55":{"tf":1.7320508075688772},"58":{"tf":2.23606797749979},"64":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.7320508075688772},"74":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.0},"99":{"tf":1.0}}}}}}},"w":{"(":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"1":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"118":{"tf":1.0}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":24,"docs":{"127":{"tf":1.0},"131":{"tf":1.0},"134":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"4":{"tf":1.0},"41":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0},"69":{"tf":1.0},"83":{"tf":1.0},"87":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":9,"docs":{"105":{"tf":1.4142135623730951},"12":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"32":{"tf":1.0},"5":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"7":{"tf":1.0},"99":{"tf":1.0}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"45":{"tf":1.4142135623730951},"64":{"tf":1.0},"85":{"tf":1.4142135623730951}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0}}}}}}}}},"i":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"12":{"tf":1.0},"141":{"tf":1.0},"28":{"tf":1.0},"6":{"tf":1.7320508075688772},"63":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"30":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"12":{"tf":1.0},"68":{"tf":1.0},"79":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"29":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":12,"docs":{"100":{"tf":1.0},"111":{"tf":1.4142135623730951},"15":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"99":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"20":{"tf":1.0},"41":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":10,"docs":{"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"5":{"tf":1.0},"72":{"tf":1.0},"79":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0}}}},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"10":{"tf":1.0}}}},"t":{"df":1,"docs":{"67":{"tf":1.0}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"79":{"tf":1.0},"83":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"69":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":17,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.0},"114":{"tf":1.0},"133":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"76":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":10,"docs":{"35":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0},"60":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0}},"s":{"df":5,"docs":{"120":{"tf":1.0},"38":{"tf":1.0},"7":{"tf":1.0},"88":{"tf":1.0},"91":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":2.23606797749979}}},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"140":{"tf":1.0},"16":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"91":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":6,"docs":{"12":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"50":{"tf":1.0},"70":{"tf":1.0},"83":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"120":{"tf":1.0},"135":{"tf":1.4142135623730951},"136":{"tf":2.449489742783178},"137":{"tf":1.0},"139":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951}}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":6,"docs":{"142":{"tf":1.0},"17":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0}},"l":{"df":8,"docs":{"101":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"6":{"tf":1.0},"65":{"tf":1.0},"83":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"(":{"'":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":1.0},"67":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"u":{"df":2,"docs":{"28":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"28":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"29":{"tf":1.0},"5":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"27":{"tf":1.0}},"i":{"df":1,"docs":{"120":{"tf":1.0}}}}}},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"'":{"df":1,"docs":{"16":{"tf":1.0}}},"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}},"df":31,"docs":{"10":{"tf":1.0},"100":{"tf":1.7320508075688772},"103":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"120":{"tf":1.0},"134":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":2.23606797749979},"16":{"tf":4.47213595499958},"18":{"tf":2.0},"20":{"tf":2.0},"22":{"tf":1.0},"28":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"4":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.23606797749979},"58":{"tf":1.0},"70":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"99":{"tf":2.0}}}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"42":{"tf":1.0},"43":{"tf":1.0}}}}},"df":3,"docs":{"65":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":19,"docs":{"11":{"tf":1.0},"132":{"tf":1.0},"139":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.0},"66":{"tf":1.4142135623730951},"7":{"tf":1.0},"73":{"tf":1.0},"80":{"tf":1.0},"83":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":4,"docs":{"52":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"95":{"tf":1.4142135623730951}},"t":{"df":7,"docs":{"41":{"tf":1.0},"63":{"tf":1.0},"82":{"tf":1.4142135623730951},"86":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"29":{"tf":1.0},"4":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"10":{"tf":1.0},"121":{"tf":1.0},"29":{"tf":1.0},"65":{"tf":1.0},"7":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}}}},"h":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":24,"docs":{"116":{"tf":1.0},"122":{"tf":1.0},"125":{"tf":1.0},"134":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.0},"22":{"tf":2.6457513110645907},"23":{"tf":1.4142135623730951},"24":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"35":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.4142135623730951},"84":{"tf":1.0},"86":{"tf":1.0}},"e":{"d":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"35":{"tf":1.0},"67":{"tf":1.0}}}},"df":2,"docs":{"28":{"tf":1.0},"35":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"16":{"tf":1.0},"5":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":2,"docs":{"120":{"tf":1.0},"121":{"tf":1.0}}}},"o":{"df":0,"docs":{},"f":{"df":2,"docs":{"80":{"tf":1.0},"81":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"111":{"tf":1.0},"29":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":11,"docs":{"102":{"tf":1.0},"14":{"tf":1.0},"27":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"80":{"tf":1.0},"82":{"tf":1.4142135623730951},"85":{"tf":1.0},"95":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"120":{"tf":1.0}}}},"s":{"df":1,"docs":{"134":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"36":{"tf":1.0}},"n":{"df":1,"docs":{"81":{"tf":1.0}}}},"i":{"d":{"df":31,"docs":{"10":{"tf":1.0},"101":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"14":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"63":{"tf":1.0},"76":{"tf":1.4142135623730951},"8":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}},"x":{"df":0,"docs":{},"i":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":2.0}},"m":{"df":2,"docs":{"16":{"tf":1.0},"49":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"137":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.0}}},"1":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":3,"docs":{"15":{"tf":1.0},"29":{"tf":1.0},"76":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"71":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"49":{"tf":1.0},"50":{"tf":1.0}}}},"t":{"df":3,"docs":{"10":{"tf":1.0},"105":{"tf":1.0},"15":{"tf":1.0}}}},"y":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.7320508075688772}},"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":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"r":{"a":{"df":0,"docs":{},"w":{".":{"a":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"29":{"tf":1.0},"62":{"tf":1.0},"85":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"29":{"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":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"h":{"df":1,"docs":{"29":{"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":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"3":{"df":2,"docs":{"24":{"tf":1.0},"29":{"tf":1.0}}},"df":8,"docs":{"116":{"tf":1.4142135623730951},"122":{"tf":1.0},"24":{"tf":1.7320508075688772},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0}}}}}}},"}":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"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":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"q":{"(":{"df":0,"docs":{},"⋅":{",":{"df":0,"docs":{},"t":{")":{":":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"92":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"92":{"tf":1.0}}}},"df":0,"docs":{}}},"=":{"df":0,"docs":{},"v":{"df":1,"docs":{"82":{"tf":1.0}}}},"_":{"1":{"df":1,"docs":{"22":{"tf":1.0}}},"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"n":{"df":1,"docs":{"22":{"tf":1.0}}}},"a":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"95":{"tf":1.0}},"​":{"=":{"df":0,"docs":{},"q":{"a":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":1,"docs":{"95":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"{":{"1":{",":{"0":{",":{"df":0,"docs":{},"​":{"a":{"=":{"a":{"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":5,"docs":{"22":{"tf":2.23606797749979},"82":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":2.0},"97":{"tf":1.0}},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"=":{"1":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"94":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"a":{"d":{"df":1,"docs":{"26":{"tf":1.7320508075688772}},"r":{"a":{"df":0,"docs":{},"t":{"df":13,"docs":{"120":{"tf":1.0},"131":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.7320508075688772},"32":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"87":{"tf":1.7320508075688772},"88":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"113":{"tf":2.23606797749979},"114":{"tf":1.0},"115":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.4142135623730951},"27":{"tf":1.0},"95":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}},"i":{"df":2,"docs":{"58":{"tf":1.0},"59":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":6,"docs":{"5":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"91":{"tf":1.0}}}},"t":{"df":1,"docs":{"70":{"tf":1.0}},"i":{"df":7,"docs":{"12":{"tf":1.0},"67":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"117":{"tf":1.0},"45":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"21":{"tf":1.0}}}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"18":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"121":{"tf":1.0},"4":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":2,"docs":{"140":{"tf":1.0},"29":{"tf":1.0}}}}}},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"=":{"df":0,"docs":{},"ϵ":{"df":0,"docs":{},"→":{"+":{"0":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∫":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"d":{"df":0,"docs":{},"x":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"(":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"​":{"(":{"1":{"6":{".":{"1":{".":{"4":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"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":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"∂":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"v":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"+":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"a":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"df":0,"docs":{},"∀":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"ω":{"0":{"df":1,"docs":{"99":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{},"ϵ":{"df":0,"docs":{},"→":{"+":{"0":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∫":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"j":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"d":{"df":0,"docs":{},"x":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"(":{"b":{"df":0,"docs":{},"ϵ":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"​":{",":{"(":{"1":{"6":{".":{"1":{".":{"3":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"j":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"v":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"+":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"g":{"df":0,"docs":{},"​":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}}},"df":1,"docs":{"90":{"tf":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":{"90":{"tf":1.0}}}},"df":0,"docs":{}}},".":{"(":{"1":{"3":{".":{"1":{".":{"3":{"df":1,"docs":{"74":{"tf":1.0}}},"5":{"df":1,"docs":{"74":{"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":{},"​":{",":{"df":0,"docs":{},"r":{"2":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"r":{"3":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"=":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"θ":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"θ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"θ":{"c":{"df":0,"docs":{},"o":{"df":1,"docs":{"82":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"(":{"(":{"1":{"df":0,"docs":{},"−":{"c":{")":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"+":{"c":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"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":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"θ":{")":{"df":0,"docs":{},"k":{"+":{"(":{"1":{"df":0,"docs":{},"−":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"θ":{")":{")":{"df":0,"docs":{},"k":{"2":{",":{"(":{"1":{"4":{".":{"3":{".":{"1":{"df":1,"docs":{"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":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":1,"docs":{"82":{"tf":1.0}},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.0}}}}}},">":{"0":{"df":2,"docs":{"45":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}},"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":4,"docs":{"101":{"tf":1.0},"45":{"tf":1.4142135623730951},"5":{"tf":1.0},"90":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"106":{"tf":1.0}}},"n":{"df":0,"docs":{},"g":{"df":6,"docs":{"11":{"tf":1.0},"37":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"69":{"tf":1.0},"98":{"tf":1.0}},"e":{"(":{"0":{"df":15,"docs":{"117":{"tf":1.4142135623730951},"119":{"tf":2.0},"126":{"tf":2.6457513110645907},"25":{"tf":2.8284271247461903},"26":{"tf":2.0},"27":{"tf":2.8284271247461903},"29":{"tf":2.0},"35":{"tf":1.7320508075688772},"54":{"tf":2.0},"62":{"tf":2.449489742783178},"63":{"tf":2.449489742783178},"67":{"tf":3.872983346207417},"85":{"tf":1.7320508075688772},"86":{"tf":3.7416573867739413},"87":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":6,"docs":{"102":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0}}},"i":{"df":0,"docs":{},"o":{"df":6,"docs":{"117":{"tf":1.0},"118":{"tf":2.449489742783178},"125":{"tf":2.449489742783178},"71":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.4142135623730951}}}}}},"b":{"c":{",":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.4142135623730951}},"​":{"=":{"df":0,"docs":{},"h":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"^":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"+":{"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":{}},"d":{"df":0,"docs":{},"×":{"d":{"df":2,"docs":{"71":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{}}},"df":23,"docs":{"101":{"tf":1.4142135623730951},"119":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"125":{"tf":1.7320508075688772},"126":{"tf":4.0},"127":{"tf":1.0},"130":{"tf":1.0},"142":{"tf":1.0},"27":{"tf":2.449489742783178},"45":{"tf":1.4142135623730951},"5":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.7320508075688772},"86":{"tf":1.4142135623730951},"89":{"tf":1.0},"94":{"tf":1.0}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"11":{"tf":1.0},"120":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"94":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"115":{"tf":1.0},"4":{"tf":2.0}}}},"i":{"df":1,"docs":{"63":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"131":{"tf":1.7320508075688772}}},"3":{"df":1,"docs":{"131":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":14,"docs":{"131":{"tf":1.4142135623730951},"16":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"69":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"77":{"tf":1.0},"83":{"tf":1.0},"87":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":4,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"32":{"tf":1.0},"52":{"tf":1.0}}},"t":{"df":3,"docs":{"17":{"tf":1.4142135623730951},"72":{"tf":1.0},"78":{"tf":1.0}}}},"z":{"df":3,"docs":{"63":{"tf":1.0},"81":{"tf":1.0},"87":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"33":{"tf":1.0},"58":{"tf":1.0}}}},"m":{"df":1,"docs":{"7":{"tf":1.0}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.4142135623730951},"76":{"tf":1.0}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":9,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"113":{"tf":1.0},"124":{"tf":1.0},"130":{"tf":1.0},"53":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":2,"docs":{"11":{"tf":1.4142135623730951},"41":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"75":{"tf":1.0},"82":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"r":{"d":{"df":2,"docs":{"5":{"tf":1.4142135623730951},"67":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":2,"docs":{"41":{"tf":1.0},"82":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":11,"docs":{"113":{"tf":1.0},"121":{"tf":1.0},"131":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.0},"139":{"tf":1.0},"16":{"tf":1.0},"26":{"tf":1.0},"49":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0}},"t":{"df":3,"docs":{"18":{"tf":1.0},"21":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"5":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"100":{"tf":1.0},"107":{"tf":1.0},"115":{"tf":1.0},"14":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"7":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"89":{"tf":1.4142135623730951},"9":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":3,"docs":{"20":{"tf":1.0},"38":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.0},"93":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"71":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"18":{"tf":1.0},"89":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"41":{"tf":1.0},"75":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"29":{"tf":1.0}}}}}}},"g":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"26":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.0},"90":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"16":{"tf":1.0}}},"df":7,"docs":{"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":2.0},"134":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}}},"l":{"_":{"df":0,"docs":{},"v":{"df":1,"docs":{"126":{"tf":1.7320508075688772}}}},"a":{"df":0,"docs":{},"t":{"df":7,"docs":{"47":{"tf":1.0},"57":{"tf":1.7320508075688772},"71":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"84":{"tf":1.0},"96":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":11,"docs":{"102":{"tf":1.0},"16":{"tf":1.0},"27":{"tf":1.0},"51":{"tf":1.0},"71":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":2.23606797749979},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0}}}}}}}}}},"x":{"df":1,"docs":{"92":{"tf":1.0}}}},"df":13,"docs":{"102":{"tf":1.0},"114":{"tf":1.4142135623730951},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.7320508075688772},"58":{"tf":2.23606797749979},"79":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{},"v":{"df":2,"docs":{"70":{"tf":1.0},"91":{"tf":1.0}}}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":3,"docs":{"141":{"tf":1.0},"69":{"tf":1.0},"79":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":24,"docs":{"10":{"tf":1.0},"101":{"tf":1.7320508075688772},"124":{"tf":1.0},"127":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"22":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0},"99":{"tf":1.0}}}},"r":{"df":0,"docs":{},"k":{"df":34,"docs":{"100":{"tf":1.0},"101":{"tf":2.0},"105":{"tf":1.0},"107":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"118":{"tf":1.0},"124":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"41":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"v":{"df":2,"docs":{"120":{"tf":1.0},"91":{"tf":1.0}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"29":{"tf":1.0},"5":{"tf":1.0},"85":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"66":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"a":{"c":{"df":2,"docs":{"112":{"tf":1.0},"57":{"tf":1.0}}},"df":0,"docs":{}},"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":{"1":{"tf":1.4142135623730951},"24":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":38,"docs":{"10":{"tf":1.0},"100":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"130":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.4142135623730951},"140":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"25":{"tf":1.7320508075688772},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"38":{"tf":1.0},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.7320508075688772},"49":{"tf":1.0},"5":{"tf":2.6457513110645907},"6":{"tf":2.0},"66":{"tf":1.0},"7":{"tf":1.7320508075688772},"70":{"tf":2.0},"71":{"tf":1.7320508075688772},"75":{"tf":1.0},"85":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"92":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":8,"docs":{"105":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.0},"45":{"tf":1.4142135623730951},"5":{"tf":2.8284271247461903},"6":{"tf":1.0},"92":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":4,"docs":{"101":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"r":{"df":22,"docs":{"101":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"120":{"tf":1.0},"128":{"tf":1.0},"131":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"68":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"92":{"tf":1.7320508075688772}}}}}},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"119":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"4":{"tf":1.0},"76":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"38":{"tf":1.0},"92":{"tf":1.0}}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{"df":3,"docs":{"28":{"tf":1.0},"35":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"35":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951}}}},"df":2,"docs":{"28":{"tf":1.0},"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"d":{"df":0,"docs":{},"u":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"74":{"tf":1.4142135623730951},"76":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":9,"docs":{"101":{"tf":1.0},"105":{"tf":1.4142135623730951},"11":{"tf":1.0},"111":{"tf":1.0},"12":{"tf":1.0},"133":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"[":{"1":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"v":{"df":4,"docs":{"11":{"tf":1.0},"15":{"tf":1.0},"49":{"tf":1.0},"63":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"49":{"tf":1.0},"5":{"tf":1.0},"79":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":33,"docs":{"10":{"tf":1.0},"102":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"123":{"tf":1.4142135623730951},"126":{"tf":1.0},"14":{"tf":1.4142135623730951},"32":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"6":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.4142135623730951},"80":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"85":{"tf":1.7320508075688772},"88":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"69":{"tf":1.0},"79":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":4,"docs":{"14":{"tf":1.0},"48":{"tf":1.0},"51":{"tf":1.0},"70":{"tf":1.0}}}}}},"t":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"32":{"tf":1.0},"85":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"126":{"tf":1.4142135623730951},"18":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"58":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.0}}},"1":{"df":1,"docs":{"86":{"tf":1.0}}},"2":{"df":1,"docs":{"86":{"tf":1.0}}},"3":{"df":1,"docs":{"86":{"tf":1.0}}},"4":{"df":1,"docs":{"86":{"tf":1.0}}},"5":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":33,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"113":{"tf":1.4142135623730951},"12":{"tf":1.0},"120":{"tf":1.0},"126":{"tf":1.0},"130":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.7320508075688772},"33":{"tf":1.0},"34":{"tf":1.7320508075688772},"36":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.449489742783178},"58":{"tf":1.0},"59":{"tf":1.0},"6":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"82":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"91":{"tf":1.0},"95":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"77":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"136":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":17,"docs":{"117":{"tf":1.0},"118":{"tf":3.3166247903554},"120":{"tf":2.449489742783178},"125":{"tf":1.0},"131":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.7320508075688772},"27":{"tf":2.0},"28":{"tf":2.23606797749979},"29":{"tf":1.0},"35":{"tf":2.23606797749979},"54":{"tf":2.0},"62":{"tf":2.0},"63":{"tf":3.1622776601683795},"67":{"tf":2.0},"86":{"tf":3.605551275463989},"87":{"tf":2.0}}}}}},"v":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"43":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"115":{"tf":1.0},"33":{"tf":1.0},"49":{"tf":1.0},"77":{"tf":1.0},"92":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"75":{"tf":1.0}}}}}}}}}},"h":{"df":1,"docs":{"34":{"tf":1.4142135623730951}},"o":{"df":2,"docs":{"117":{"tf":1.0},"29":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"df":17,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"52":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0},"74":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}},"i":{"d":{"df":7,"docs":{"14":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.7320508075688772},"76":{"tf":1.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"103":{"tf":1.0},"53":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"85":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"50":{"tf":1.0}}},"k":{"df":1,"docs":{"51":{"tf":1.0}}}}},"n":{"=":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":0,"docs":{},"−":{"df":0,"docs":{},"r":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"f":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"=":{"df":0,"docs":{},"r":{"df":0,"docs":{},"−":{"1":{"a":{"df":0,"docs":{},"n":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{")":{"=":{"1":{".":{"(":{"1":{"3":{".":{"3":{".":{"1":{"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":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{},"n":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"t":{"df":2,"docs":{"76":{"tf":1.0},"77":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":1,"docs":{"76":{"tf":2.0}}},"o":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":9,"docs":{"12":{"tf":1.0},"142":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"45":{"tf":1.0},"51":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"120":{"tf":1.0},"14":{"tf":1.0},"82":{"tf":1.4142135623730951},"87":{"tf":1.0}}}}}}}},"d":{"df":1,"docs":{"66":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":6,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"68":{"tf":1.0},"83":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"142":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":9,"docs":{"11":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.0},"131":{"tf":1.4142135623730951},"27":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"84":{"tf":1.0},"87":{"tf":1.7320508075688772}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":14,"docs":{"126":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"57":{"tf":1.0},"6":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.7320508075688772},"72":{"tf":1.0},"74":{"tf":3.605551275463989},"75":{"tf":2.0},"76":{"tf":2.23606797749979},"77":{"tf":2.0},"79":{"tf":1.0},"80":{"tf":2.23606797749979},"82":{"tf":3.4641016151377544}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"22":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"n":{"d":{"df":2,"docs":{"118":{"tf":1.0},"4":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":2,"docs":{"115":{"tf":1.0},"4":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"43":{"tf":1.0}}}}}},"w":{"df":10,"docs":{"26":{"tf":1.7320508075688772},"28":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":2.0},"34":{"tf":1.0},"42":{"tf":1.7320508075688772},"91":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0}}}},"s":{"df":2,"docs":{"75":{"tf":1.0},"86":{"tf":1.4142135623730951}}},"u":{"b":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":20,"docs":{"10":{"tf":1.0},"104":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"115":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.0},"30":{"tf":1.0},"48":{"tf":1.0},"58":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.7320508075688772},"88":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}},"n":{"df":5,"docs":{"121":{"tf":1.0},"126":{"tf":1.0},"29":{"tf":2.23606797749979},"59":{"tf":1.0},"67":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"142":{"tf":1.0}}}}}}},"​":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}},"→":{"0":{"df":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"f":{"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{")":{",":{"(":{"1":{"8":{".":{"4":{".":{"2":{"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":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"123":{"tf":1.0}}}},"df":0,"docs":{}}},")":{"=":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"f":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"f":{"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"k":{"df":1,"docs":{"57":{"tf":1.0}},"​":{")":{"=":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"k":{"df":1,"docs":{"57":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"1":{"df":1,"docs":{"82":{"tf":1.0}}},"2":{"df":1,"docs":{"82":{"tf":1.0}}},"3":{"df":1,"docs":{"82":{"tf":1.0}}},"=":{"1":{"df":1,"docs":{"119":{"tf":1.0}}},"[":{"1":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"0":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"d":{"/":{"d":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{"df":1,"docs":{"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":{}}},"df":0,"docs":{},"v":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{",":{"df":0,"docs":{},"s":{"3":{",":{"df":0,"docs":{},"u":{"1":{",":{"df":0,"docs":{},"u":{"2":{",":{"df":0,"docs":{},"u":{"3":{",":{"df":0,"docs":{},"v":{"1":{",":{"df":0,"docs":{},"v":{"2":{",":{"df":0,"docs":{},"v":{"3":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":1,"docs":{"86":{"tf":2.449489742783178}}},"1":{"df":1,"docs":{"86":{"tf":3.4641016151377544}}},"df":0,"docs":{}},"\\":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"0":{",":{"1":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":2,"docs":{"131":{"tf":1.4142135623730951},"87":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"131":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":20,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"107":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"126":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"14":{"tf":1.4142135623730951},"140":{"tf":1.0},"32":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"5":{"tf":1.0},"63":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"90":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":12,"docs":{"105":{"tf":1.0},"12":{"tf":1.7320508075688772},"128":{"tf":1.0},"14":{"tf":1.0},"25":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":2.6457513110645907},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"95":{"tf":3.1622776601683795},"96":{"tf":1.0},"97":{"tf":1.4142135623730951}}}}},"n":{"d":{"df":2,"docs":{"14":{"tf":1.0},"69":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"11":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":16,"docs":{"105":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"65":{"tf":1.0},"67":{"tf":2.0},"68":{"tf":1.0},"74":{"tf":1.4142135623730951},"90":{"tf":1.0},"93":{"tf":1.0}}}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":11,"docs":{"102":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.7320508075688772},"124":{"tf":1.0},"131":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":2.0},"54":{"tf":1.0},"57":{"tf":1.0},"75":{"tf":1.0},"87":{"tf":2.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":25,"docs":{"11":{"tf":1.0},"132":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"20":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"5":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"92":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":10,"docs":{"117":{"tf":1.7320508075688772},"121":{"tf":1.0},"126":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"87":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":9,"docs":{"23":{"tf":1.0},"29":{"tf":1.4142135623730951},"45":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"142":{"tf":2.0},"79":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}},"y":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"28":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"(":{"2":{"5":{"5":{"df":1,"docs":{"29":{"tf":1.0}}},"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":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"[":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"o":{"[":{"0":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"[":{"0":{"df":2,"docs":{"29":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"1":{"df":2,"docs":{"29":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"85":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"29":{"tf":1.0}},"i":{"df":1,"docs":{"29":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"29":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}}}},"df":16,"docs":{"112":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":2.6457513110645907},"125":{"tf":1.4142135623730951},"21":{"tf":1.0},"29":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"54":{"tf":2.0},"62":{"tf":2.0},"63":{"tf":1.4142135623730951},"67":{"tf":2.0},"7":{"tf":1.0},"75":{"tf":1.0},"86":{"tf":3.4641016151377544}},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{"df":3,"docs":{"28":{"tf":1.7320508075688772},"35":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":35,"docs":{"113":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":2.8284271247461903},"121":{"tf":1.7320508075688772},"131":{"tf":1.0},"132":{"tf":1.0},"137":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":3.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"29":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"32":{"tf":2.0},"34":{"tf":1.7320508075688772},"35":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":2.0},"52":{"tf":1.7320508075688772},"53":{"tf":3.1622776601683795},"54":{"tf":2.449489742783178},"55":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.4142135623730951},"67":{"tf":1.0},"76":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":2.23606797749979},"88":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":17,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"134":{"tf":1.0},"20":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"7":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.0},"94":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":25,"docs":{"107":{"tf":1.7320508075688772},"108":{"tf":1.0},"116":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"132":{"tf":1.4142135623730951},"141":{"tf":1.0},"24":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.0},"4":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"61":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":24,"docs":{"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"21":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.4142135623730951},"63":{"tf":1.0},"74":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.4142135623730951},"95":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.4142135623730951}},"m":{"df":1,"docs":{"29":{"tf":1.0}}},"n":{"df":4,"docs":{"15":{"tf":1.0},"5":{"tf":1.0},"71":{"tf":1.0},"81":{"tf":1.0}}}},"g":{"+":{"1":{")":{"df":0,"docs":{},"∗":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"117":{"tf":1.4142135623730951}}}},"2":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":9,"docs":{"113":{"tf":1.4142135623730951},"117":{"tf":1.0},"118":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":2.0},"85":{"tf":1.0},"90":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"113":{"tf":1.0},"134":{"tf":1.0},"15":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0}}}},"df":0,"docs":{}},"f":{"df":19,"docs":{"100":{"tf":1.0},"101":{"tf":2.0},"109":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.4142135623730951},"116":{"tf":1.7320508075688772},"117":{"tf":1.4142135623730951},"119":{"tf":1.7320508075688772},"120":{"tf":1.4142135623730951},"121":{"tf":1.4142135623730951},"122":{"tf":1.7320508075688772},"123":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":2.0},"127":{"tf":1.0},"128":{"tf":1.0},"133":{"tf":1.0},"55":{"tf":1.4142135623730951}}},"l":{"df":1,"docs":{"142":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":13,"docs":{"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.4142135623730951},"22":{"tf":1.0},"27":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"95":{"tf":1.0}}}},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"4":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":8,"docs":{"103":{"tf":1.0},"120":{"tf":1.4142135623730951},"22":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"5":{"tf":1.0},"71":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.0}}},"v":{"df":7,"docs":{"101":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.0}}}},"t":{"df":43,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"106":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.7320508075688772},"115":{"tf":1.0},"117":{"tf":1.7320508075688772},"119":{"tf":1.0},"124":{"tf":2.0},"127":{"tf":1.7320508075688772},"130":{"tf":1.0},"134":{"tf":2.23606797749979},"139":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":2.449489742783178},"20":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.7320508075688772},"41":{"tf":2.0},"44":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":2.23606797749979},"67":{"tf":1.4142135623730951},"70":{"tf":1.0},"73":{"tf":1.0},"82":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.0},"95":{"tf":1.7320508075688772},"96":{"tf":1.0},"97":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":13,"docs":{"100":{"tf":1.0},"111":{"tf":1.0},"117":{"tf":2.0},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.4142135623730951},"62":{"tf":1.0},"67":{"tf":1.4142135623730951},"88":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"102":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0},"87":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"=":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":13,"docs":{"104":{"tf":1.0},"105":{"tf":2.23606797749979},"108":{"tf":1.0},"112":{"tf":1.0},"129":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"29":{"tf":1.0},"45":{"tf":1.4142135623730951},"5":{"tf":2.449489742783178},"70":{"tf":1.0},"72":{"tf":1.0},"76":{"tf":1.0},"85":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":3,"docs":{"113":{"tf":1.0},"120":{"tf":1.0},"80":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"56":{"tf":1.0},"60":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"66":{"tf":1.0},"71":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":3,"docs":{"25":{"tf":1.0},"43":{"tf":1.0},"5":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"w":{"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{}},"df":11,"docs":{"16":{"tf":1.0},"5":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.4142135623730951},"85":{"tf":1.0}},"n":{"df":8,"docs":{"117":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"91":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"117":{"tf":1.7320508075688772},"29":{"tf":2.0},"54":{"tf":1.0},"67":{"tf":1.0}},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}}}}}},"df":12,"docs":{"117":{"tf":1.0},"16":{"tf":1.0},"25":{"tf":1.4142135623730951},"29":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":1.0},"74":{"tf":1.0},"80":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":2.23606797749979},"95":{"tf":1.4142135623730951}}}},"df":1,"docs":{"82":{"tf":1.0}},"f":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"81":{"tf":1.0}}}}},"df":0,"docs":{}},"g":{"df":0,"docs":{},"m":{"a":{"=":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{",":{"df":0,"docs":{},"s":{"3":{"df":1,"docs":{"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":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"[":{"1":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":11,"docs":{"101":{"tf":1.0},"118":{"tf":1.0},"45":{"tf":3.7416573867739413},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":12,"docs":{"120":{"tf":1.0},"121":{"tf":1.0},"135":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"26":{"tf":1.0},"41":{"tf":1.0},"53":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":8,"docs":{"18":{"tf":1.0},"20":{"tf":1.0},"29":{"tf":1.0},"44":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{}}}}}},"m":{"df":8,"docs":{"116":{"tf":1.4142135623730951},"122":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":20,"docs":{"100":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"123":{"tf":1.4142135623730951},"127":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0},"88":{"tf":1.0},"95":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":13,"docs":{"101":{"tf":1.0},"106":{"tf":1.0},"115":{"tf":1.0},"123":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"62":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0},"87":{"tf":1.0},"95":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":11,"docs":{"114":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":1.4142135623730951},"52":{"tf":1.0},"6":{"tf":1.0},"69":{"tf":1.0},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"113":{"tf":1.0},"5":{"tf":1.4142135623730951},"54":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"11":{"tf":1.0},"15":{"tf":1.0},"33":{"tf":1.0},"74":{"tf":1.0}}}},"x":{"df":3,"docs":{"104":{"tf":2.0},"128":{"tf":1.0},"132":{"tf":1.0}}}},"i":{"c":{"df":6,"docs":{"106":{"tf":1.0},"122":{"tf":1.0},"16":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"92":{"tf":1.0}}},"df":14,"docs":{"100":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.7320508075688772},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.7320508075688772},"57":{"tf":1.0},"66":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.4142135623730951}},"f":{"df":2,"docs":{"113":{"tf":1.0},"27":{"tf":1.0}},"i":{"df":15,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"25":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"6":{"tf":1.4142135623730951},"62":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":7,"docs":{"117":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"35":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":75,"docs":{"0":{"tf":1.0},"10":{"tf":1.7320508075688772},"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"103":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.7320508075688772},"118":{"tf":1.0},"12":{"tf":1.0},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"14":{"tf":1.0},"142":{"tf":2.0},"15":{"tf":1.0},"16":{"tf":2.8284271247461903},"17":{"tf":2.0},"18":{"tf":2.0},"22":{"tf":1.7320508075688772},"24":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":5.0},"3":{"tf":1.0},"30":{"tf":2.449489742783178},"31":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"35":{"tf":1.7320508075688772},"4":{"tf":1.7320508075688772},"41":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"5":{"tf":2.8284271247461903},"50":{"tf":2.449489742783178},"51":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"54":{"tf":2.0},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.4142135623730951},"67":{"tf":2.449489742783178},"69":{"tf":1.7320508075688772},"7":{"tf":2.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"78":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"87":{"tf":2.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.0},"90":{"tf":1.7320508075688772},"91":{"tf":1.4142135623730951},"93":{"tf":1.7320508075688772},"94":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}},"t":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"[":{"df":0,"docs":{},"u":{"1":{"]":{",":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"u":{"1":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}},"v":{"1":{"]":{"df":0,"docs":{},"}":{",":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"[":{"df":0,"docs":{},"v":{"1":{"]":{",":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"v":{"1":{"df":1,"docs":{"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":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"142":{"tf":1.0}},"g":{"df":0,"docs":{},"l":{"df":5,"docs":{"101":{"tf":1.0},"113":{"tf":1.0},"29":{"tf":1.0},"6":{"tf":1.0},"82":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":8,"docs":{"40":{"tf":1.0},"41":{"tf":1.7320508075688772},"43":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"82":{"tf":2.449489742783178},"95":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"49":{"tf":1.0},"71":{"tf":1.0}}}},"df":0,"docs":{}}},"z":{"df":0,"docs":{},"e":{"df":30,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"131":{"tf":1.7320508075688772},"16":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.449489742783178},"54":{"tf":2.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"7":{"tf":1.0},"82":{"tf":1.4142135623730951},"84":{"tf":1.0},"87":{"tf":2.449489742783178},"88":{"tf":1.7320508075688772},"9":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"82":{"tf":1.0}}}},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"50":{"tf":1.0}}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"16":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951},"50":{"tf":1.0},"87":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"df":11,"docs":{"102":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"57":{"tf":2.6457513110645907},"58":{"tf":2.23606797749979},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"87":{"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":{"58":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}}}},"p":{"df":8,"docs":{"32":{"tf":2.0},"36":{"tf":1.7320508075688772},"37":{"tf":2.0},"38":{"tf":2.6457513110645907},"40":{"tf":1.7320508075688772},"42":{"tf":3.0},"43":{"tf":1.7320508075688772},"75":{"tf":1.0}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":7,"docs":{"117":{"tf":1.7320508075688772},"60":{"tf":1.0},"61":{"tf":2.23606797749979},"62":{"tf":3.7416573867739413},"63":{"tf":3.3166247903554},"64":{"tf":1.0},"67":{"tf":1.0}}}},"w":{"df":3,"docs":{"16":{"tf":1.0},"41":{"tf":1.0},"57":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":20,"docs":{"101":{"tf":1.0},"114":{"tf":1.0},"134":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.0},"82":{"tf":1.0},"9":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"104":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":2.0},"125":{"tf":1.0},"21":{"tf":1.0},"35":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"82":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"d":{"(":{"a":{"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":3,"docs":{"53":{"tf":1.0},"62":{"tf":1.0},"88":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"76":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"69":{"tf":1.0}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":16,"docs":{"101":{"tf":1.4142135623730951},"114":{"tf":2.23606797749979},"118":{"tf":1.7320508075688772},"121":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"21":{"tf":1.4142135623730951},"23":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.7320508075688772},"95":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":11,"docs":{"101":{"tf":1.0},"103":{"tf":1.0},"114":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.0},"141":{"tf":1.0},"45":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.4142135623730951},"65":{"tf":1.0}}}}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"131":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"69":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"105":{"tf":1.0},"14":{"tf":1.0}},"w":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"29":{"tf":1.0},"79":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":2,"docs":{"105":{"tf":1.0},"67":{"tf":1.0}}},"i":{"d":{"'":{"df":3,"docs":{"45":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951}}},"df":52,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"113":{"tf":2.0},"114":{"tf":1.0},"12":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":2.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.0},"14":{"tf":2.0},"142":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":2.23606797749979},"18":{"tf":1.4142135623730951},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.4142135623730951},"31":{"tf":1.7320508075688772},"4":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951},"45":{"tf":3.1622776601683795},"47":{"tf":1.7320508075688772},"48":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951},"5":{"tf":4.0},"50":{"tf":1.4142135623730951},"51":{"tf":2.23606797749979},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"66":{"tf":1.0},"69":{"tf":1.4142135623730951},"73":{"tf":1.7320508075688772},"74":{"tf":1.4142135623730951},"77":{"tf":1.0},"79":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"88":{"tf":1.0}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"t":{"df":25,"docs":{"10":{"tf":1.0},"100":{"tf":1.0},"105":{"tf":1.0},"11":{"tf":2.0},"122":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":2.449489742783178},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"32":{"tf":1.0},"4":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.7320508075688772},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"76":{"tf":1.0},"9":{"tf":1.4142135623730951},"92":{"tf":1.0},"95":{"tf":2.23606797749979},"97":{"tf":1.0}}}},"v":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":1.0},"4":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}},"df":37,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"11":{"tf":1.4142135623730951},"118":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.0},"120":{"tf":1.4142135623730951},"122":{"tf":1.0},"131":{"tf":2.0},"132":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":1.7320508075688772},"38":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"87":{"tf":2.449489742783178},"88":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"131":{"tf":1.0},"28":{"tf":1.7320508075688772}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"131":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"r":{"c":{"df":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"92":{"tf":1.0}}}}}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":45,"docs":{"104":{"tf":1.4142135623730951},"105":{"tf":2.0},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"132":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":2.23606797749979},"5":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.0},"6":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":2.449489742783178},"71":{"tf":1.0},"72":{"tf":1.4142135623730951},"74":{"tf":1.7320508075688772},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.7320508075688772},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"88":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"93":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":2.449489742783178},"97":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"df":4,"docs":{"118":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"95":{"tf":1.4142135623730951}}},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"4":{"tf":1.0}}},"s":{"df":4,"docs":{"114":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":2.0},"41":{"tf":1.0}},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"(":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"v":{"[":{"2":{"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":{}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"41":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":20,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"121":{"tf":1.7320508075688772},"123":{"tf":1.0},"127":{"tf":1.0},"135":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"25":{"tf":1.0},"32":{"tf":1.0},"5":{"tf":1.0},"69":{"tf":1.0},"89":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"d":{"df":10,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":2.449489742783178},"23":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"86":{"tf":1.0}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"134":{"tf":1.0},"40":{"tf":1.0},"74":{"tf":1.0},"77":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":36,"docs":{"10":{"tf":1.0},"104":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"12":{"tf":1.0},"140":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"21":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"37":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"87":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}},"i":{"df":11,"docs":{"100":{"tf":1.0},"112":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"32":{"tf":1.4142135623730951},"71":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":3,"docs":{"16":{"tf":1.0},"52":{"tf":1.0},"70":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":3,"docs":{"45":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"57":{"tf":2.0}}},"i":{"c":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"131":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"45":{"tf":1.0}}}},"t":{"df":1,"docs":{"54":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"'":{"df":1,"docs":{"27":{"tf":1.0}}},"df":13,"docs":{"24":{"tf":1.0},"27":{"tf":2.6457513110645907},"29":{"tf":2.8284271247461903},"30":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"54":{"tf":2.0},"67":{"tf":2.449489742783178},"68":{"tf":1.7320508075688772},"69":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"85":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"28":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"28":{"tf":1.0},"35":{"tf":1.0},"67":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"3":{".":{"0":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"1":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"a":{"df":0,"docs":{},"r":{"df":28,"docs":{"117":{"tf":3.4641016151377544},"118":{"tf":2.0},"119":{"tf":1.4142135623730951},"120":{"tf":1.7320508075688772},"121":{"tf":1.0},"124":{"tf":1.4142135623730951},"126":{"tf":2.449489742783178},"127":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":2.8284271247461903},"27":{"tf":1.0},"29":{"tf":3.3166247903554},"35":{"tf":2.0},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":2.8284271247461903},"60":{"tf":1.0},"61":{"tf":2.0},"62":{"tf":1.7320508075688772},"63":{"tf":2.23606797749979},"65":{"tf":1.0},"67":{"tf":3.0},"68":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"83":{"tf":1.0},"87":{"tf":1.7320508075688772}},"e":{"'":{"df":1,"docs":{"54":{"tf":1.0}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"117":{"tf":1.0},"29":{"tf":1.0},"67":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"i":{"df":4,"docs":{"117":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"85":{"tf":1.0}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"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":1,"docs":{"29":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"29":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"c":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}},"t":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"29":{"tf":1.0},"58":{"tf":1.0}}}},"l":{"df":7,"docs":{"10":{"tf":1.0},"12":{"tf":1.4142135623730951},"142":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.0},"57":{"tf":1.0},"92":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"5":{"tf":1.0},"57":{"tf":1.0},"6":{"tf":1.7320508075688772},"67":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"34":{"tf":1.0},"66":{"tf":1.4142135623730951}}}},"n":{"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":10,"docs":{"11":{"tf":1.0},"112":{"tf":1.0},"131":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.4142135623730951},"27":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"78":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":22,"docs":{"104":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"43":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":8,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0},"45":{"tf":1.0},"57":{"tf":1.0},"9":{"tf":1.7320508075688772},"92":{"tf":1.0}}},"i":{"c":{"df":11,"docs":{"122":{"tf":1.0},"127":{"tf":1.0},"17":{"tf":1.4142135623730951},"29":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"66":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}},"i":{"df":2,"docs":{"15":{"tf":1.0},"32":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"y":{"df":3,"docs":{"38":{"tf":1.0},"42":{"tf":1.0},"54":{"tf":1.0}}}},"d":{":":{":":{"a":{"b":{"df":0,"docs":{},"s":{"(":{"c":{"df":1,"docs":{"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":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}}},"r":{"df":1,"docs":{"16":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"114":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0}}}}},"df":0,"docs":{}},"p":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.0},"63":{"tf":1.0}}}},"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":47,"docs":{"10":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.4142135623730951},"123":{"tf":2.23606797749979},"124":{"tf":1.7320508075688772},"125":{"tf":1.0},"127":{"tf":1.7320508075688772},"131":{"tf":1.7320508075688772},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"23":{"tf":1.0},"25":{"tf":2.23606797749979},"29":{"tf":3.0},"32":{"tf":2.0},"34":{"tf":1.7320508075688772},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"43":{"tf":1.0},"50":{"tf":2.6457513110645907},"51":{"tf":1.4142135623730951},"52":{"tf":1.7320508075688772},"53":{"tf":2.8284271247461903},"54":{"tf":2.0},"55":{"tf":1.0},"58":{"tf":2.449489742783178},"59":{"tf":1.7320508075688772},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":2.0},"7":{"tf":1.7320508075688772},"76":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":2.449489742783178},"88":{"tf":2.0},"9":{"tf":2.0},"91":{"tf":1.4142135623730951},"95":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":8,"docs":{"32":{"tf":2.23606797749979},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.7320508075688772},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"41":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":11,"docs":{"12":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"34":{"tf":1.0},"35":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.0},"66":{"tf":2.23606797749979},"67":{"tf":2.0},"68":{"tf":1.0},"74":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"l":{"df":15,"docs":{"101":{"tf":1.4142135623730951},"107":{"tf":1.0},"114":{"tf":1.4142135623730951},"119":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"53":{"tf":1.7320508075688772},"58":{"tf":1.0},"59":{"tf":1.0},"68":{"tf":1.0},"76":{"tf":1.0},"87":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"142":{"tf":1.7320508075688772},"76":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"p":{"df":7,"docs":{"22":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"50":{"tf":1.0},"52":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.4142135623730951},"67":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"45":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":11,"docs":{"125":{"tf":1.0},"136":{"tf":1.4142135623730951},"26":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":1.4142135623730951},"74":{"tf":1.0},"80":{"tf":1.0},"85":{"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":19,"docs":{"111":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"16":{"tf":1.4142135623730951},"22":{"tf":1.0},"26":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.4142135623730951},"66":{"tf":1.0},"74":{"tf":1.0},"79":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"103":{"tf":1.0},"67":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"n":{"df":12,"docs":{"107":{"tf":1.0},"119":{"tf":1.0},"131":{"tf":1.4142135623730951},"73":{"tf":2.0},"74":{"tf":2.8284271247461903},"75":{"tf":1.7320508075688772},"76":{"tf":1.4142135623730951},"77":{"tf":1.7320508075688772},"78":{"tf":1.4142135623730951},"79":{"tf":2.0},"83":{"tf":1.4142135623730951},"86":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}},"i":{"df":11,"docs":{"121":{"tf":1.0},"20":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"4":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.0},"68":{"tf":1.0},"79":{"tf":1.0},"88":{"tf":1.0},"95":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"27":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":10,"docs":{"107":{"tf":1.0},"131":{"tf":1.7320508075688772},"70":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":3.605551275463989},"80":{"tf":1.0},"83":{"tf":1.7320508075688772},"86":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":2.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":9,"docs":{"142":{"tf":1.0},"29":{"tf":1.7320508075688772},"35":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"16":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":9,"docs":{"103":{"tf":1.0},"115":{"tf":1.4142135623730951},"48":{"tf":1.0},"89":{"tf":2.0},"91":{"tf":1.0},"92":{"tf":2.0},"93":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":16,"docs":{"135":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"40":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"87":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}},"i":{"df":27,"docs":{"115":{"tf":1.0},"116":{"tf":1.4142135623730951},"122":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"35":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.0},"84":{"tf":1.0},"89":{"tf":1.0},"93":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"4":{"tf":1.0}}},"df":4,"docs":{"102":{"tf":1.0},"32":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"119":{"tf":1.0},"33":{"tf":1.0},"92":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":7,"docs":{"17":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"66":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0}}}},"t":{"df":3,"docs":{"139":{"tf":1.0},"34":{"tf":1.0},"90":{"tf":1.0}}}},"p":{"a":{"c":{"df":3,"docs":{"32":{"tf":1.4142135623730951},"38":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"131":{"tf":1.0},"41":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":5,"docs":{"107":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":1.0}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"85":{"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":{"45":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"30":{"tf":1.0},"88":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"h":{"df":34,"docs":{"114":{"tf":1.0},"118":{"tf":1.0},"121":{"tf":1.0},"14":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.4142135623730951},"5":{"tf":1.7320508075688772},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"6":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"69":{"tf":1.0},"7":{"tf":1.4142135623730951},"71":{"tf":2.0},"74":{"tf":1.4142135623730951},"79":{"tf":1.0},"82":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.0}}}},"df":1,"docs":{"142":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"118":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":9,"docs":{"101":{"tf":1.0},"114":{"tf":1.4142135623730951},"120":{"tf":1.0},"121":{"tf":1.0},"53":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"92":{"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":{"16":{"tf":1.0},"22":{"tf":1.0},"71":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"92":{"tf":1.0}}}},"m":{"(":{"d":{"b":{"c":{"_":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":15,"docs":{"101":{"tf":1.0},"119":{"tf":1.0},"126":{"tf":1.0},"22":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772},"27":{"tf":2.0},"35":{"tf":1.7320508075688772},"54":{"tf":1.7320508075688772},"62":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772},"67":{"tf":2.0},"73":{"tf":1.0},"82":{"tf":1.0},"86":{"tf":1.7320508075688772},"95":{"tf":1.0}},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}},"i":{"df":24,"docs":{"103":{"tf":1.0},"108":{"tf":1.0},"115":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0},"127":{"tf":1.0},"132":{"tf":1.0},"141":{"tf":1.0},"18":{"tf":1.4142135623730951},"23":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"50":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0},"83":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.0}}},"y":{"/":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"142":{"tf":3.4641016151377544}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":9,"docs":{"107":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"115":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.7320508075688772},"27":{"tf":1.0},"48":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"29":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"10":{"tf":1.0},"119":{"tf":1.0},"9":{"tf":1.0},"94":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"p":{"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":{"51":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"55":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"87":{"tf":1.0}}},"f":{"a":{"c":{"df":18,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"126":{"tf":1.0},"128":{"tf":1.0},"134":{"tf":2.8284271247461903},"135":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"76":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"v":{"d":{"df":8,"docs":{"41":{"tf":2.6457513110645907},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"75":{"tf":3.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"112":{"tf":1.0},"113":{"tf":1.0},"34":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":7,"docs":{"118":{"tf":1.0},"121":{"tf":1.0},"5":{"tf":1.0},"7":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"92":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":13,"docs":{"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"75":{"tf":1.0},"82":{"tf":1.0},"85":{"tf":1.4142135623730951},"95":{"tf":1.0}},"i":{"df":2,"docs":{"101":{"tf":1.0},"113":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":2.23606797749979},"12":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"'":{"df":1,"docs":{"6":{"tf":1.0}}},"df":32,"docs":{"10":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":2.23606797749979},"112":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"32":{"tf":2.23606797749979},"33":{"tf":2.0},"34":{"tf":2.23606797749979},"35":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"40":{"tf":2.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"47":{"tf":1.0},"50":{"tf":1.0},"57":{"tf":1.0},"6":{"tf":2.0},"68":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"9":{"tf":1.4142135623730951},"94":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.0}}}}}}}},"t":{"(":{"a":{"df":2,"docs":{"106":{"tf":1.0},"130":{"tf":1.0}}},"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"n":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"n":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}},"t":{")":{"=":{"0":{"df":1,"docs":{"96":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"92":{"tf":1.0}}}},"df":0,"docs":{}},"⋅":{",":{"df":0,"docs":{},"n":{",":{"df":0,"docs":{},"t":{")":{":":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"91":{"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":{},"→":{"df":0,"docs":{},"ω":{"df":0,"docs":{},"t":{"df":2,"docs":{"100":{"tf":1.0},"70":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"×":{"d":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"d":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{")":{")":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"t":{"df":2,"docs":{"126":{"tf":1.0},"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":{}}}}}},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"126":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"0":{",":{"df":0,"docs":{},"t":{"2":{",":{"df":0,"docs":{},"…":{",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":1,"docs":{"96":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"1":{"3":{"df":1,"docs":{"118":{"tf":2.23606797749979}}},"4":{"df":1,"docs":{"118":{"tf":2.23606797749979}}},"df":1,"docs":{"131":{"tf":1.0}}},"2":{"3":{"df":1,"docs":{"118":{"tf":2.449489742783178}}},"4":{"df":1,"docs":{"118":{"tf":2.8284271247461903}}},"5":{"df":1,"docs":{"118":{"tf":2.449489742783178}}},"6":{"df":1,"docs":{"118":{"tf":2.23606797749979}}},"7":{"df":1,"docs":{"118":{"tf":1.7320508075688772}}},"df":1,"docs":{"131":{"tf":1.0}}},"3":{"df":1,"docs":{"131":{"tf":1.0}}},"=":{"0":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":1,"docs":{"94":{"tf":1.4142135623730951}},"−":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":0,"docs":{},"−":{"1":{"df":1,"docs":{"96":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"^":{"0":{"=":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"53":{"tf":1.0},"7":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"53":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":1.0},"18":{"tf":1.0},"37":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"43":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":26,"docs":{"102":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.7320508075688772},"123":{"tf":1.0},"124":{"tf":1.0},"131":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.0},"4":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.7320508075688772},"7":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":2.0},"87":{"tf":1.0},"90":{"tf":1.0}},"n":{"df":3,"docs":{"115":{"tf":1.0},"27":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}},"n":{"(":{"df":0,"docs":{},"θ":{")":{"=":{"0":{".":{"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":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"125":{"tf":1.0}}}},"df":7,"docs":{"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.7320508075688772},"58":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"64":{"tf":1.0}},"i":{"df":1,"docs":{"56":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":5,"docs":{"16":{"tf":1.0},"20":{"tf":1.0},"66":{"tf":1.7320508075688772},"67":{"tf":2.0},"68":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"45":{"tf":1.0},"82":{"tf":1.0}}}}},"b":{"df":1,"docs":{"85":{"tf":1.0}}},"c":{"1":{"df":1,"docs":{"101":{"tf":1.0}}},"df":4,"docs":{"102":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"123":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"−":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∂":{"b":{"(":{"d":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"(":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"df":0,"docs":{},"o":{")":{",":{"d":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":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":{"100":{"tf":2.0},"103":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"99":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":21,"docs":{"10":{"tf":1.0},"106":{"tf":1.0},"11":{"tf":2.0},"112":{"tf":1.4142135623730951},"122":{"tf":1.0},"126":{"tf":1.7320508075688772},"131":{"tf":3.1622776601683795},"134":{"tf":1.0},"14":{"tf":1.0},"21":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":2.0},"60":{"tf":1.4142135623730951},"63":{"tf":2.0},"7":{"tf":1.7320508075688772},"70":{"tf":2.449489742783178},"71":{"tf":2.23606797749979},"87":{"tf":2.8284271247461903},"9":{"tf":2.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"141":{"tf":1.0}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":13,"docs":{"11":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"5":{"tf":1.7320508075688772},"50":{"tf":1.0},"93":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"94":{"tf":1.0}}}}}}},"df":10,"docs":{"108":{"tf":1.0},"12":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.0},"25":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951},"93":{"tf":1.0},"97":{"tf":1.0}}}}}},"n":{"d":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"79":{"tf":1.0},"83":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"74":{"tf":1.0},"79":{"tf":2.0},"80":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"86":{"tf":1.0}},"i":{"df":1,"docs":{"82":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"142":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"m":{"'":{"df":1,"docs":{"4":{"tf":1.0}}},"df":31,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"131":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"25":{"tf":1.0},"26":{"tf":2.449489742783178},"49":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":2.6457513110645907},"67":{"tf":1.0},"7":{"tf":1.0},"74":{"tf":2.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"82":{"tf":2.6457513110645907},"87":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"120":{"tf":1.0},"29":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}},"t":{"df":8,"docs":{"29":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"97":{"tf":1.0}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"a":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}},"df":4,"docs":{"128":{"tf":1.4142135623730951},"129":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"131":{"tf":1.0}}},"df":2,"docs":{"130":{"tf":1.7320508075688772},"131":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"{":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"x":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}},"f":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"β":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"r":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"β":{"df":0,"docs":{},"t":{"df":0,"docs":{},"v":{"df":0,"docs":{},"f":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{".":{"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":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"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":{}}},"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":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"103":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"135":{"tf":1.0}}}}}}}}}},"df":7,"docs":{"123":{"tf":1.0},"124":{"tf":1.0},"42":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"92":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"o":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"142":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"91":{"tf":1.7320508075688772},"92":{"tf":1.0},"93":{"tf":1.4142135623730951}}},"t":{"df":5,"docs":{"10":{"tf":1.0},"113":{"tf":1.0},"127":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0}}}},"i":{"df":4,"docs":{"0":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0},"69":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"i":{"df":4,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":15,"docs":{"101":{"tf":1.0},"112":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"71":{"tf":1.0},"81":{"tf":1.0},"87":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"101":{"tf":1.0},"119":{"tf":1.0},"48":{"tf":1.4142135623730951},"66":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":4,"docs":{"101":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"71":{"tf":1.0}},"k":{"df":2,"docs":{"100":{"tf":1.0},"90":{"tf":1.0}}}},"r":{"d":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"4":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":16,"docs":{"114":{"tf":1.0},"124":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"79":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"132":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0}},"t":{"df":1,"docs":{"101":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":6,"docs":{"106":{"tf":1.4142135623730951},"26":{"tf":1.0},"70":{"tf":1.0},"82":{"tf":1.4142135623730951},"85":{"tf":1.0},"95":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":6,"docs":{"101":{"tf":1.0},"131":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":23,"docs":{"1":{"tf":1.0},"101":{"tf":1.0},"12":{"tf":1.0},"127":{"tf":1.0},"17":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.7320508075688772},"50":{"tf":2.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"60":{"tf":1.0},"65":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.4142135623730951},"83":{"tf":1.0},"85":{"tf":1.0},"91":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":10,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.0},"20":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"70":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0}}}}}}}}}},"u":{"df":22,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"11":{"tf":1.0},"113":{"tf":1.0},"120":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"27":{"tf":1.4142135623730951},"32":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"85":{"tf":1.0},"87":{"tf":1.4142135623730951},"92":{"tf":1.0},"95":{"tf":1.0}}}},"i":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"112":{"tf":1.0}},"​":{"df":0,"docs":{},"∫":{"0":{"1":{"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":{},"​":{"df":0,"docs":{},"​":{"d":{"df":0,"docs":{},"β":{"=":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"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":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"{":{"df":0,"docs":{},"x":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"n":{")":{"^":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"\\":{"df":0,"docs":{},"|":{"^":{"2":{"_":{"df":0,"docs":{},"m":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"14":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":7,"docs":{"125":{"tf":1.0},"28":{"tf":1.0},"35":{"tf":1.4142135623730951},"54":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":2.0},"87":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"29":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"29":{"tf":1.7320508075688772}}}}}}},"df":78,"docs":{"10":{"tf":2.0},"101":{"tf":1.7320508075688772},"104":{"tf":1.0},"11":{"tf":2.6457513110645907},"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.0},"117":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"12":{"tf":2.0},"120":{"tf":1.7320508075688772},"121":{"tf":1.0},"122":{"tf":1.7320508075688772},"123":{"tf":2.23606797749979},"124":{"tf":1.7320508075688772},"125":{"tf":1.0},"127":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":2.449489742783178},"23":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":2.6457513110645907},"30":{"tf":1.0},"32":{"tf":2.6457513110645907},"33":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"35":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"37":{"tf":1.0},"38":{"tf":1.0},"4":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"5":{"tf":1.4142135623730951},"50":{"tf":2.0},"51":{"tf":1.7320508075688772},"52":{"tf":2.0},"53":{"tf":2.449489742783178},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":3.0},"59":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"60":{"tf":1.7320508075688772},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":2.0},"67":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"7":{"tf":2.8284271247461903},"70":{"tf":3.3166247903554},"71":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":2.6457513110645907},"90":{"tf":1.4142135623730951},"92":{"tf":1.0},"94":{"tf":1.7320508075688772},"95":{"tf":1.0},"96":{"tf":2.0},"97":{"tf":2.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":6,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"7":{"tf":3.0},"87":{"tf":1.0},"9":{"tf":1.7320508075688772}}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}}},"n":{"df":0,"docs":{},"i":{"df":3,"docs":{"120":{"tf":1.0},"16":{"tf":1.0},"87":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"14":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"24":{"tf":1.0}},"e":{"=":{"df":0,"docs":{},"{":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"​":{"=":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"n":{"df":0,"docs":{},"j":{"df":1,"docs":{"92":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"k":{"df":1,"docs":{"57":{"tf":1.7320508075688772}},"n":{"df":1,"docs":{"58":{"tf":1.0}}},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"[":{"df":0,"docs":{},"i":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"−":{"df":0,"docs":{},"i":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"r":{"6":{"df":0,"docs":{},"×":{"3":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"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":{},"m":{"df":0,"docs":{},"×":{"d":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"n":{"=":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":3,"docs":{"112":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":3,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"c":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"120":{"tf":3.4641016151377544}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"120":{"tf":3.4641016151377544}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"120":{"tf":2.23606797749979}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":5,"docs":{"105":{"tf":1.0},"114":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"42":{"tf":1.0}}}}}},"i":{"df":2,"docs":{"120":{"tf":2.8284271247461903},"121":{"tf":1.7320508075688772}}},"l":{"df":5,"docs":{"131":{"tf":2.449489742783178},"28":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":2.0},"87":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"23":{"tf":1.0},"66":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"53":{"tf":1.0}}},"l":{"df":3,"docs":{"118":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0}}}},"p":{"df":7,"docs":{"114":{"tf":1.0},"117":{"tf":1.4142135623730951},"120":{"tf":1.7320508075688772},"35":{"tf":1.0},"4":{"tf":1.0},"63":{"tf":1.7320508075688772},"87":{"tf":1.0}},"i":{"c":{"df":3,"docs":{"23":{"tf":1.0},"4":{"tf":1.0},"44":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":2,"docs":{"12":{"tf":1.0},"5":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"45":{"tf":1.0},"5":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"107":{"tf":1.0},"119":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"h":{"df":5,"docs":{"126":{"tf":1.0},"16":{"tf":1.4142135623730951},"44":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":6,"docs":{"120":{"tf":1.0},"16":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"29":{"tf":1.0},"5":{"tf":1.0},"70":{"tf":1.0},"90":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":8,"docs":{"101":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}}}},"d":{"df":0,"docs":{},"e":{"df":2,"docs":{"101":{"tf":1.0},"49":{"tf":1.0}}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"23":{"tf":1.0},"29":{"tf":1.0},"53":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"10":{"tf":1.0},"120":{"tf":2.23606797749979},"20":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":3.1622776601683795},"55":{"tf":1.4142135623730951},"70":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":12,"docs":{"114":{"tf":1.0},"16":{"tf":1.4142135623730951},"22":{"tf":1.0},"41":{"tf":1.4142135623730951},"48":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.0},"91":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"122":{"tf":1.0},"127":{"tf":1.0},"17":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"60":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"28":{"tf":1.0},"6":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"71":{"tf":1.0}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":5,"docs":{"106":{"tf":1.4142135623730951},"119":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"95":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"27":{"tf":1.0},"57":{"tf":1.0},"69":{"tf":1.0},"82":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"30":{"tf":1.4142135623730951},"31":{"tf":1.0},"98":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":25,"docs":{"104":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"106":{"tf":3.605551275463989},"107":{"tf":2.0},"108":{"tf":1.7320508075688772},"112":{"tf":2.6457513110645907},"113":{"tf":1.7320508075688772},"114":{"tf":1.4142135623730951},"117":{"tf":1.7320508075688772},"128":{"tf":1.0},"129":{"tf":1.0},"133":{"tf":2.23606797749979},"134":{"tf":3.4641016151377544},"138":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"22":{"tf":1.7320508075688772},"29":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":3.605551275463989},"87":{"tf":2.23606797749979},"88":{"tf":2.23606797749979},"90":{"tf":1.4142135623730951}},"e":{"'":{"df":1,"docs":{"88":{"tf":1.0}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"104":{"tf":1.0},"85":{"tf":1.0}}}},"df":1,"docs":{"85":{"tf":1.0}}}}}}},"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"16":{"tf":1.0}},"i":{"df":1,"docs":{"87":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"87":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"e":{"df":6,"docs":{"120":{"tf":1.4142135623730951},"29":{"tf":1.0},"35":{"tf":1.0},"67":{"tf":1.0},"81":{"tf":1.0},"90":{"tf":1.0}}},"n":{"c":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"18":{"tf":1.0},"20":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"32":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":8,"docs":{"50":{"tf":2.23606797749979},"51":{"tf":1.4142135623730951},"52":{"tf":2.23606797749979},"53":{"tf":2.6457513110645907},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"65":{"tf":1.0},"87":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"n":{"df":3,"docs":{"16":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.0}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"116":{"tf":1.0},"122":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"101":{"tf":1.0},"114":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"o":{"df":32,"docs":{"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"108":{"tf":1.0},"112":{"tf":1.7320508075688772},"113":{"tf":2.0},"114":{"tf":1.4142135623730951},"117":{"tf":1.7320508075688772},"120":{"tf":1.0},"126":{"tf":1.7320508075688772},"134":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"21":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"32":{"tf":1.7320508075688772},"34":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.4142135623730951},"63":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0},"82":{"tf":1.7320508075688772},"95":{"tf":1.7320508075688772}}}},"x":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{",":{"=":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"​":{"(":{"1":{".":{"4":{".":{"1":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":11,"docs":{"11":{"tf":1.0},"140":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"32":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"48":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0}}},"i":{"c":{"df":15,"docs":{"113":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}}},"}":{")":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"∂":{"df":0,"docs":{},"v":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"​":{"(":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"j":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{")":{"=":{"0":{"df":1,"docs":{"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":{}}},"≥":{"0":{".":{"(":{"1":{"6":{".":{"1":{".":{"2":{"df":1,"docs":{"90":{"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":{"6":{".":{"2":{".":{"3":{"df":1,"docs":{"91":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"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":{},"​":{"(":{"1":{"8":{".":{"1":{".":{"1":{"df":1,"docs":{"99":{"tf":1.0}}},"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":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"df":0,"docs":{},"∀":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{},"x":{"d":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"df":0,"docs":{},"∀":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"γ":{"d":{"df":1,"docs":{"99":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":5,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"u":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"x":{")":{")":{"=":{"df":0,"docs":{},"u":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"x":{")":{"+":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"u":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"x":{"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":{}}},"d":{"df":0,"docs":{},"x":{"=":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"df":0,"docs":{},"​":{"df":0,"docs":{},"u":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"x":{")":{"d":{"df":0,"docs":{},"x":{"+":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"u":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"x":{")":{"d":{"df":0,"docs":{},"x":{"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":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"92":{"tf":1.0}}}},"1":{",":{"df":0,"docs":{},"u":{"2":{",":{"df":0,"docs":{},"u":{"3":{",":{"df":0,"docs":{},"v":{"1":{",":{"df":0,"docs":{},"v":{"2":{",":{"df":0,"docs":{},"v":{"3":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"82":{"tf":1.0}}},"2":{"df":2,"docs":{"131":{"tf":1.7320508075688772},"82":{"tf":1.0}}},"3":{"df":2,"docs":{"131":{"tf":1.7320508075688772},"82":{"tf":1.0}}},"=":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{},"i":{"d":{"+":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"]":{"*":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{"+":{"(":{"1":{"df":1,"docs":{"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":{}},"df":0,"docs":{}},"x":{"^":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":1,"docs":{"105":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"{":{"df":0,"docs":{},"{":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"u":{"1":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"86":{"tf":2.8284271247461903}}},"r":{"df":1,"docs":{"86":{"tf":2.8284271247461903}}}},"^":{"df":0,"docs":{},"t":{"df":1,"docs":{"41":{"tf":1.0}}}},"c":{"df":0,"docs":{},"l":{"a":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}}},"df":6,"docs":{"14":{"tf":2.449489742783178},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"86":{"tf":2.23606797749979}},"i":{"df":1,"docs":{"82":{"tf":1.0}}},"k":{"df":1,"docs":{"58":{"tf":1.0}},"​":{"=":{"df":0,"docs":{},"h":{"^":{"df":0,"docs":{},"v":{"df":0,"docs":{},"k":{"df":1,"docs":{"58":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"97":{"tf":1.0}}}},"r":{"a":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}}},"n":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}}}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"20":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"18":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"12":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":7,"docs":{"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"34":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}}}},"r":{"df":27,"docs":{"101":{"tf":1.0},"108":{"tf":1.0},"114":{"tf":1.4142135623730951},"116":{"tf":1.0},"122":{"tf":1.0},"126":{"tf":1.0},"14":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"61":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"82":{"tf":1.4142135623730951},"84":{"tf":1.0}},"g":{"df":0,"docs":{},"o":{"df":4,"docs":{"10":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"104":{"tf":1.0}}}},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":14,"docs":{"104":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"37":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"52":{"tf":1.0},"6":{"tf":1.4142135623730951},"70":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.4142135623730951},"85":{"tf":1.0},"88":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"51":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.0}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":6,"docs":{"106":{"tf":1.0},"12":{"tf":1.0},"130":{"tf":1.0},"136":{"tf":1.0},"45":{"tf":1.4142135623730951},"5":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"25":{"tf":1.4142135623730951},"29":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"5":{"tf":1.0}}}},"q":{"df":0,"docs":{},"u":{"df":8,"docs":{"105":{"tf":1.0},"115":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"48":{"tf":1.0},"60":{"tf":1.0}}}},"t":{"df":10,"docs":{"101":{"tf":1.0},"102":{"tf":1.7320508075688772},"123":{"tf":1.4142135623730951},"14":{"tf":1.0},"22":{"tf":1.0},"42":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"82":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.0}},"i":{"df":1,"docs":{"105":{"tf":2.0}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"87":{"tf":1.4142135623730951}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"45":{"tf":1.0}}}}}}},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":5,"docs":{"33":{"tf":1.0},"66":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"71":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":5,"docs":{"16":{"tf":1.0},"20":{"tf":1.0},"37":{"tf":1.0},"53":{"tf":1.0},"75":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"101":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"17":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"65":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":5,"docs":{"101":{"tf":1.0},"118":{"tf":1.4142135623730951},"127":{"tf":1.0},"45":{"tf":1.7320508075688772},"48":{"tf":1.0}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":9,"docs":{"11":{"tf":1.0},"120":{"tf":1.4142135623730951},"21":{"tf":1.0},"29":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}}}},"p":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"83":{"tf":1.0},"88":{"tf":1.0}}}}},"d":{"a":{"df":0,"docs":{},"t":{"df":11,"docs":{"10":{"tf":1.0},"11":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"30":{"tf":1.0},"32":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"67":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":11,"docs":{"101":{"tf":1.0},"117":{"tf":1.0},"127":{"tf":1.0},"24":{"tf":1.0},"29":{"tf":1.0},"41":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"73":{"tf":1.0},"90":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"16":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":2.0},"54":{"tf":1.7320508075688772}}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"26":{"tf":1.0},"28":{"tf":1.0},"75":{"tf":1.0}}}},"df":86,"docs":{"10":{"tf":1.0},"100":{"tf":1.0},"101":{"tf":2.449489742783178},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.7320508075688772},"107":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":1.7320508075688772},"115":{"tf":1.0},"118":{"tf":2.0},"119":{"tf":2.23606797749979},"12":{"tf":1.4142135623730951},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":2.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"129":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.0},"134":{"tf":1.7320508075688772},"136":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.7320508075688772},"142":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"18":{"tf":2.0},"20":{"tf":1.7320508075688772},"21":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"5":{"tf":2.6457513110645907},"51":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"64":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":2.0},"7":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"82":{"tf":1.7320508075688772},"83":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.7320508075688772},"89":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":2.0},"96":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"134":{"tf":1.0},"22":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"82":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":17,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.4142135623730951},"86":{"tf":1.0},"89":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"d":{"(":{"[":{"[":{"b":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"86":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"2":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"2":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"a":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"p":{".":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{"[":{"[":{"df":0,"docs":{},"h":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"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":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"87":{"tf":1.0}}}},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"d":{"(":{"a":{"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":{}}}}},"u":{"=":{"c":{"df":0,"docs":{},"p":{"[":{"df":0,"docs":{},"u":{"1":{",":{"df":0,"docs":{},"u":{"2":{",":{"df":0,"docs":{},"u":{"3":{"]":{"/":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"τ":{"^":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"79":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ϕ":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"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":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"(":{"1":{"2":{".":{"1":{".":{"3":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":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":{"92":{"tf":1.0}},"i":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"α":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{")":{"=":{"0":{",":{"(":{"1":{"5":{".":{"3":{".":{"1":{"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":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"⋅":{",":{"df":0,"docs":{},"t":{")":{":":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"1":{".":{"0":{".":{"0":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"82":{"tf":1.0}}},"2":{"df":1,"docs":{"82":{"tf":1.0}}},"3":{"df":1,"docs":{"82":{"tf":1.0}}},"=":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{")":{"/":{"df":0,"docs":{},"h":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"[":{"df":0,"docs":{},"v":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"v":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"r":{"6":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"d":{"+":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"]":{"*":{"df":0,"docs":{},"v":{"df":0,"docs":{},"v":{"+":{"(":{"1":{"df":1,"docs":{"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":{}},"df":0,"docs":{}},"{":{"df":0,"docs":{},"{":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"v":{"1":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"[":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"0":{"df":1,"docs":{"126":{"tf":1.7320508075688772}}},"1":{"df":1,"docs":{"126":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"126":{"tf":1.7320508075688772}}}}},"^":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":2,"docs":{"126":{"tf":1.4142135623730951},"127":{"tf":1.0}},"​":{"=":{"df":0,"docs":{},"v":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"(":{"(":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"124":{"tf":1.0}}},"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":4,"docs":{"14":{"tf":1.0},"26":{"tf":1.0},"7":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"}":{"df":0,"docs":{},"{":{"\\":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":1,"docs":{"41":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":3,"docs":{"11":{"tf":2.23606797749979},"7":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"{":{"1":{"1":{"df":1,"docs":{"6":{"tf":1.0}}},"2":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}},"2":{"1":{"df":1,"docs":{"6":{"tf":1.0}}},"2":{"df":0,"docs":{},"}":{")":{"^":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"\\":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"p":{"0":{"df":1,"docs":{"118":{"tf":1.0}}},"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"v":{"df":1,"docs":{"63":{"tf":1.0}}},"x":{"df":7,"docs":{"26":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"86":{"tf":1.0}}}},"df":1,"docs":{"26":{"tf":1.4142135623730951}},"i":{"d":{"df":2,"docs":{"34":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":1.0},"4":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}},"df":41,"docs":{"11":{"tf":1.4142135623730951},"111":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.7320508075688772},"27":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"41":{"tf":1.7320508075688772},"42":{"tf":1.0},"43":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":2.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"8":{"tf":1.0},"82":{"tf":2.8284271247461903},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"9":{"tf":1.7320508075688772},"91":{"tf":1.0},"92":{"tf":1.7320508075688772},"95":{"tf":1.0},"99":{"tf":1.0}}}},"r":{"=":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{",":{"df":0,"docs":{},"s":{"3":{",":{"df":0,"docs":{},"u":{"1":{",":{"df":0,"docs":{},"u":{"2":{",":{"df":0,"docs":{},"u":{"3":{",":{"df":0,"docs":{},"v":{"1":{",":{"df":0,"docs":{},"v":{"2":{",":{"df":0,"docs":{},"v":{"3":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"1":{",":{"df":0,"docs":{},"v":{"1":{"df":1,"docs":{"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":{}}}},"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":23,"docs":{"10":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"11":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"130":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"6":{"tf":1.0},"67":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772},"90":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.0}}}},"t":{"df":1,"docs":{"27":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"102":{"tf":1.0},"57":{"tf":1.0}}}}}}},"df":10,"docs":{"10":{"tf":1.0},"112":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.0},"74":{"tf":1.0},"88":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":11,"docs":{"16":{"tf":1.4142135623730951},"18":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"61":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.4142135623730951}}}}}}},"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"126":{"tf":2.0},"63":{"tf":2.0}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"126":{"tf":1.7320508075688772},"63":{"tf":3.4641016151377544}},"h":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":2.0}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":16,"docs":{"10":{"tf":1.0},"106":{"tf":1.0},"123":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":2.0},"29":{"tf":2.0},"41":{"tf":2.23606797749979},"42":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"5":{"tf":1.0},"57":{"tf":1.4142135623730951},"6":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"75":{"tf":1.0},"82":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":25,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"117":{"tf":1.0},"123":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"25":{"tf":1.0},"32":{"tf":2.23606797749979},"33":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"45":{"tf":1.0},"5":{"tf":1.7320508075688772},"57":{"tf":1.0},"6":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0},"82":{"tf":2.0},"91":{"tf":2.0},"92":{"tf":1.7320508075688772},"94":{"tf":1.0},"95":{"tf":2.23606797749979}}}}}},"df":1,"docs":{"130":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"c":{"df":26,"docs":{"10":{"tf":1.0},"102":{"tf":1.4142135623730951},"117":{"tf":1.0},"123":{"tf":1.7320508075688772},"124":{"tf":1.7320508075688772},"126":{"tf":1.0},"127":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":3.3166247903554},"58":{"tf":1.4142135623730951},"6":{"tf":1.7320508075688772},"60":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.4142135623730951},"69":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.7320508075688772},"87":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"133":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.0},"76":{"tf":1.0},"87":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":4,"docs":{"112":{"tf":1.0},"113":{"tf":1.0},"118":{"tf":1.0},"75":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"45":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"11":{"tf":1.0},"122":{"tf":1.0},"2":{"tf":1.0},"82":{"tf":1.0},"9":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":4,"docs":{"106":{"tf":1.0},"29":{"tf":1.4142135623730951},"71":{"tf":1.0},"85":{"tf":1.4142135623730951}}}},"i":{"c":{"df":16,"docs":{"104":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":2.23606797749979},"108":{"tf":1.0},"112":{"tf":1.0},"126":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"134":{"tf":1.0},"25":{"tf":1.4142135623730951},"29":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0},"85":{"tf":1.7320508075688772},"88":{"tf":1.0}}},"df":0,"docs":{}}}}},"f":{"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.4142135623730951}},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"t":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"∥":{"=":{"0":{"df":2,"docs":{"102":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951}}},"df":0,"docs":{}},">":{"0":{"df":2,"docs":{"102":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"20":{"tf":1.0},"34":{"tf":1.0}}}},"df":6,"docs":{"108":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.0},"94":{"tf":1.0},"97":{"tf":1.0}}},"df":1,"docs":{"82":{"tf":1.0}},"e":{"df":0,"docs":{},"w":{"df":7,"docs":{"101":{"tf":1.0},"119":{"tf":1.0},"14":{"tf":1.0},"4":{"tf":1.4142135623730951},"56":{"tf":1.0},"70":{"tf":1.0},"90":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"101":{"tf":1.0},"48":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":9,"docs":{"16":{"tf":1.0},"29":{"tf":2.8284271247461903},"30":{"tf":1.0},"5":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"7":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"15":{"tf":1.0},"17":{"tf":1.0},"5":{"tf":1.0}}}},"df":1,"docs":{"42":{"tf":1.0}},"​":{"=":{"df":0,"docs":{},"​":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}}}}}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}}},"​":{"=":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"k":{"df":3,"docs":{"124":{"tf":1.0},"57":{"tf":2.0},"58":{"tf":1.4142135623730951}},"​":{"=":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"−":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{")":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"(":{"(":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"r":{")":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"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":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"v":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"∥":{"=":{"0":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"df":0,"docs":{}},">":{"0":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"85":{"tf":1.0},"86":{"tf":1.7320508075688772}}}},"df":2,"docs":{"85":{"tf":1.0},"86":{"tf":1.7320508075688772}},"u":{"df":0,"docs":{},"m":{"df":15,"docs":{"130":{"tf":1.0},"131":{"tf":1.7320508075688772},"135":{"tf":1.0},"137":{"tf":1.4142135623730951},"141":{"tf":1.0},"48":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":2.449489742783178},"73":{"tf":1.0},"85":{"tf":1.4142135623730951},"87":{"tf":2.23606797749979},"88":{"tf":1.0},"91":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":2.8284271247461903}}}}}},"p":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"r":{"3":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"r":{"3":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"(":{"df":0,"docs":{},"−":{"df":0,"docs":{},"g":{"df":1,"docs":{"42":{"tf":1.0}}}}},"=":{"df":0,"docs":{},"​":{"0":{".":{"6":{"df":0,"docs":{},"−":{"0":{".":{"8":{"df":0,"docs":{},"​":{"0":{".":{"8":{"0":{".":{"6":{"df":0,"docs":{},"​":{"1":{"df":0,"docs":{},"​":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":1,"docs":{"86":{"tf":2.8284271247461903}}},"1":{"df":1,"docs":{"86":{"tf":3.1622776601683795}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"v":{">":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"75":{"tf":1.0},"86":{"tf":1.7320508075688772}},"h":{"df":1,"docs":{"42":{"tf":1.4142135623730951}},"v":{"df":1,"docs":{"42":{"tf":1.0}},"s":{"df":0,"docs":{},"​":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"0":{"df":0,"docs":{},"​":{"]":{"[":{"df":0,"docs":{},"y":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"′":{"df":0,"docs":{},"​":{"]":{"=":{"[":{"df":0,"docs":{},"−":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":0,"docs":{},"g":{"0":{"df":0,"docs":{},"​":{"]":{".":{"(":{"6":{".":{"2":{".":{"3":{"df":1,"docs":{"41":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"{":{"df":0,"docs":{},"u":{"1":{",":{"df":0,"docs":{},"u":{"2":{",":{"df":0,"docs":{},"u":{"3":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"v":{"=":{"c":{"df":0,"docs":{},"p":{"[":{"df":0,"docs":{},"v":{"1":{",":{"df":0,"docs":{},"v":{"2":{",":{"df":0,"docs":{},"v":{"3":{"]":{"/":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"1":{",":{"df":0,"docs":{},"v":{"2":{",":{"df":0,"docs":{},"v":{"3":{"df":1,"docs":{"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":{},"{":{"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"d":{"df":2,"docs":{"7":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"ˉ":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"−":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"t":{")":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"+":{"1":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"+":{"1":{"(":{"df":0,"docs":{},"x":{"2":{"df":1,"docs":{"123":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":1,"docs":{"123":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"​":{"=":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"−":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"t":{")":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"(":{"(":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"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":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"v":{"df":1,"docs":{"58":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"​":{",":{"df":1,"docs":{"123":{"tf":1.0}}},"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":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"/":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"=":{"0":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"∥":{"=":{"0":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"∈":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{",":{"df":0,"docs":{},"v":{"df":0,"docs":{},"":{"=":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"":{"=":{"0":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{".":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"t":{"df":5,"docs":{"118":{"tf":1.0},"119":{"tf":1.0},"58":{"tf":1.0},"80":{"tf":1.0},"86":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}},"a":{"^":{"df":0,"docs":{},"​":{"=":{"d":{"^":{"3":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"j":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"i":{"(":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"​":{"a":{"df":0,"docs":{},"j":{"df":1,"docs":{"134":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"l":{"df":1,"docs":{"21":{"tf":1.0}}}},"y":{"df":10,"docs":{"12":{"tf":1.0},"134":{"tf":1.0},"18":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"6":{"tf":1.0},"75":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}},"df":2,"docs":{"29":{"tf":1.0},"45":{"tf":1.4142135623730951}},"e":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"101":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.0}}}},"v":{"df":4,"docs":{"104":{"tf":1.0},"108":{"tf":1.0},"69":{"tf":1.0},"98":{"tf":1.0}}}},"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"d":{"^":{"3":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"j":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"i":{"(":{"df":0,"docs":{},"e":{"1":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"​":{"a":{"df":0,"docs":{},"j":{"df":1,"docs":{"134":{"tf":1.0}}}},"df":0,"docs":{}}},"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":{"df":20,"docs":{"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.0},"16":{"tf":1.0},"89":{"tf":2.0},"92":{"tf":3.1622776601683795},"93":{"tf":1.7320508075688772},"94":{"tf":1.7320508075688772},"95":{"tf":2.0},"97":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":2.23606797749979}}},"v":{"df":1,"docs":{"4":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":7,"docs":{"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.4142135623730951},"48":{"tf":1.0},"54":{"tf":1.4142135623730951},"73":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"l":{"df":14,"docs":{"103":{"tf":1.0},"109":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"34":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":2.0},"6":{"tf":1.0},"88":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"48":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":3,"docs":{"17":{"tf":1.0},"36":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"118":{"tf":1.0},"120":{"tf":1.0},"14":{"tf":1.0},"35":{"tf":1.4142135623730951},"58":{"tf":1.0},"67":{"tf":1.4142135623730951},"70":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":6,"docs":{"101":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.0},"7":{"tf":1.0},"76":{"tf":1.0},"82":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"136":{"tf":1.0},"79":{"tf":1.0},"91":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":6,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"45":{"tf":1.0},"69":{"tf":1.0},"76":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":6,"docs":{"115":{"tf":1.0},"118":{"tf":1.0},"32":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"55":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":29,"docs":{"10":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"107":{"tf":1.0},"112":{"tf":1.0},"131":{"tf":1.0},"139":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"18":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.7320508075688772},"36":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"61":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"88":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":19,"docs":{"112":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":1.0},"120":{"tf":1.4142135623730951},"122":{"tf":1.0},"123":{"tf":1.0},"16":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.0},"92":{"tf":1.0}}}}}}}},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"b":{"(":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{")":{"=":{"df":0,"docs":{},"−":{"df":0,"docs":{},"w":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"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":{},"o":{"d":{"df":2,"docs":{"14":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{}},"r":{"d":{"df":3,"docs":{"130":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":2,"docs":{"14":{"tf":1.0},"79":{"tf":1.0}}},"l":{"d":{"df":19,"docs":{"105":{"tf":1.4142135623730951},"108":{"tf":1.0},"111":{"tf":1.0},"129":{"tf":1.0},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"74":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"88":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":1,"docs":{"22":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"29":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":6,"docs":{"107":{"tf":1.0},"115":{"tf":1.0},"124":{"tf":1.0},"29":{"tf":1.4142135623730951},"81":{"tf":1.0},"82":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":6,"docs":{"101":{"tf":1.0},"113":{"tf":1.0},"123":{"tf":1.0},"14":{"tf":1.0},"89":{"tf":1.0},"92":{"tf":1.0}}}}}}}}},"x":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"112":{"tf":1.0}},"i":{"df":2,"docs":{"105":{"tf":1.0},"129":{"tf":1.0}}}},"β":{",":{"df":0,"docs":{},"γ":{",":{"df":0,"docs":{},"τ":{")":{"df":0,"docs":{},"≈":{"df":0,"docs":{},"x":{"^":{"(":{"df":0,"docs":{},"β":{",":{"df":0,"docs":{},"γ":{",":{"df":0,"docs":{},"τ":{")":{"=":{"(":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"β":{"df":0,"docs":{},"−":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"−":{"df":0,"docs":{},"τ":{")":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"β":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"τ":{"df":0,"docs":{},"x":{"4":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":1,"docs":{"45":{"tf":1.0}}},"t":{"df":1,"docs":{"70":{"tf":1.0}}},"v":{"df":1,"docs":{"57":{"tf":1.0}}}},"0":{"df":1,"docs":{"59":{"tf":1.0}}},"1":{"0":{"df":1,"docs":{"71":{"tf":1.0}}},"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"1":{"2":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":6,"docs":{"101":{"tf":1.7320508075688772},"105":{"tf":1.0},"106":{"tf":1.0},"130":{"tf":1.0},"27":{"tf":1.0},"71":{"tf":1.0}},"​":{",":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"3":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"=":{"1":{"df":1,"docs":{"95":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"3":{"df":2,"docs":{"105":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"∈":{"df":0,"docs":{},"γ":{"1":{"df":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}}},"−":{"df":0,"docs":{},"x":{"2":{"df":1,"docs":{"27":{"tf":1.0}},"​":{"df":0,"docs":{},"∥":{"2":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"2":{"0":{"df":1,"docs":{"71":{"tf":1.0}}},"1":{"df":1,"docs":{"87":{"tf":1.0}},"​":{"+":{"df":0,"docs":{},"α":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"2":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"2":{"2":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"α":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"2":{"2":{"df":0,"docs":{},"​":{")":{"=":{"(":{"df":0,"docs":{},"x":{"2":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"2":{"2":{"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":{}},"df":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":{"105":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"123":{"tf":1.0},"130":{"tf":1.0},"134":{"tf":1.0},"27":{"tf":1.0},"71":{"tf":1.0}},"​":{"=":{"2":{"df":1,"docs":{"95":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"γ":{"c":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"2":{"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":{}},"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":1,"docs":{"85":{"tf":1.0}},"​":{")":{"=":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"x":{"2":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"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":{},"f":{"(":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{")":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"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":{}}},"3":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}}}},"∂":{"2":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}}},"3":{"1":{"df":1,"docs":{"87":{"tf":1.7320508075688772}}},"df":5,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"130":{"tf":1.0}},"​":{"=":{"3":{"df":1,"docs":{"95":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}}}}},"4":{"df":2,"docs":{"129":{"tf":1.0},"130":{"tf":1.0}}},"=":{"0":{".":{"3":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"20":{"tf":1.0}}},"2":{"df":1,"docs":{"20":{"tf":1.4142135623730951}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"x":{"+":{"b":{",":{"(":{"1":{"2":{".":{"1":{".":{"2":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"i":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}}},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"ϕ":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"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":{},"v":{"df":0,"docs":{},"n":{".":{"(":{"1":{"2":{".":{"1":{".":{"1":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"t":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}},"−":{"1":{"1":{".":{"6":{"4":{"5":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"[":{"0":{"df":1,"docs":{"29":{"tf":1.0}}},"1":{"df":1,"docs":{"29":{"tf":1.0}}},"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"[":{"df":0,"docs":{},"i":{"]":{"[":{"0":{"df":4,"docs":{"27":{"tf":1.7320508075688772},"29":{"tf":1.0},"85":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951}}},"1":{"df":4,"docs":{"27":{"tf":1.7320508075688772},"29":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0}}},"2":{"df":2,"docs":{"85":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"[":{"0":{"df":3,"docs":{"119":{"tf":2.449489742783178},"120":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951}}},"1":{"df":3,"docs":{"119":{"tf":2.449489742783178},"120":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"86":{"tf":1.0}}},"2":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"i":{"]":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"[":{"0":{"df":1,"docs":{"29":{"tf":1.0}}},"1":{"df":1,"docs":{"54":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"25":{"tf":1.0},"26":{"tf":1.4142135623730951}}}},"\\":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"b":{"df":0,"docs":{},"{":{"df":0,"docs":{},"r":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"d":{"df":0,"docs":{},"n":{"df":1,"docs":{"5":{"tf":1.0}}}},"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":{},"n":{"a":{"^":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"x":{"a":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"x":{"(":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"n":{"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"+":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"n":{"2":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"+":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"n":{"3":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{",":{"(":{"1":{"9":{".":{"1":{".":{"1":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":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":{"105":{"tf":1.0},"108":{"tf":1.0}},"i":{"df":0,"docs":{},"​":{")":{"=":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"105":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"0":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":4,"docs":{"11":{"tf":1.7320508075688772},"21":{"tf":2.6457513110645907},"22":{"tf":1.0},"53":{"tf":2.23606797749979}}},"k":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":1,"docs":{"53":{"tf":1.0}}},"n":{"df":7,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"26":{"tf":1.0},"53":{"tf":1.7320508075688772},"63":{"tf":1.0},"7":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"}":{"df":0,"docs":{},"{":{"\\":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"{":{"df":0,"docs":{},"i":{"+":{"1":{"df":2,"docs":{"53":{"tf":2.0},"59":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"53":{"tf":1.0}}},"n":{"+":{"1":{"df":4,"docs":{"11":{"tf":2.449489742783178},"53":{"tf":1.7320508075688772},"7":{"tf":1.0},"9":{"tf":1.0}},"}":{",":{"df":0,"docs":{},"v":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"_":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"1":{"df":1,"docs":{"53":{"tf":1.0}}},"b":{"df":2,"docs":{"33":{"tf":1.0},"34":{"tf":1.7320508075688772}}},"df":0,"docs":{},"i":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"l":{"df":1,"docs":{"53":{"tf":1.0}}},"n":{"[":{"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"]":{"]":{")":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"d":{"b":{"c":{"_":{"df":0,"docs":{},"v":{"[":{"df":0,"docs":{},"i":{"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":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"28":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":6,"docs":{"26":{"tf":1.7320508075688772},"28":{"tf":3.872983346207417},"35":{"tf":2.6457513110645907},"54":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.4142135623730951}},"e":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"u":{"df":1,"docs":{"34":{"tf":1.0}}},"{":{"1":{"1":{"df":2,"docs":{"32":{"tf":1.0},"38":{"tf":1.0}}},"2":{"df":2,"docs":{"32":{"tf":1.0},"38":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"2":{"1":{"df":2,"docs":{"32":{"tf":1.0},"34":{"tf":1.7320508075688772}}},"2":{"df":2,"docs":{"32":{"tf":1.0},"34":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"^":{"+":{"1":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ψ":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}}}},"−":{"1":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"112":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772}}},"d":{"df":1,"docs":{"99":{"tf":1.0}}},"df":52,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"105":{"tf":2.8284271247461903},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.7320508075688772},"123":{"tf":1.4142135623730951},"124":{"tf":1.0},"129":{"tf":1.7320508075688772},"130":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":2.0},"16":{"tf":1.0},"21":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"28":{"tf":2.0},"29":{"tf":2.8284271247461903},"32":{"tf":2.0},"33":{"tf":1.0},"34":{"tf":1.7320508075688772},"38":{"tf":1.0},"41":{"tf":1.7320508075688772},"42":{"tf":1.0},"45":{"tf":2.0},"49":{"tf":2.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":2.0},"6":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":3.1622776601683795},"70":{"tf":3.3166247903554},"71":{"tf":2.0},"72":{"tf":1.0},"78":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.7320508075688772},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.7320508075688772},"94":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"96":{"tf":1.4142135623730951},"97":{"tf":1.0}},"e":{"1":{"a":{"df":1,"docs":{"134":{"tf":1.0}}},"b":{"df":1,"docs":{"134":{"tf":1.0}}},"df":1,"docs":{"134":{"tf":1.4142135623730951}}},"2":{"a":{"df":1,"docs":{"134":{"tf":1.0}}},"b":{"df":1,"docs":{"134":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":11,"docs":{"105":{"tf":1.0},"119":{"tf":3.1622776601683795},"120":{"tf":1.7320508075688772},"125":{"tf":1.7320508075688772},"126":{"tf":2.0},"129":{"tf":1.0},"29":{"tf":1.0},"42":{"tf":1.0},"66":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.4142135623730951}},"j":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"α":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":2,"docs":{"131":{"tf":1.0},"87":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"​":{"=":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"j":{"df":2,"docs":{"131":{"tf":1.0},"87":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"​":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"γ":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"j":{"df":1,"docs":{"86":{"tf":1.7320508075688772}},"​":{"df":0,"docs":{},"∂":{"a":{"df":0,"docs":{},"i":{"df":1,"docs":{"92":{"tf":1.0}}}},"df":0,"docs":{}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"≈":{"df":0,"docs":{},"x":{"^":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"​":{"df":0,"docs":{},"​":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"∥":{"=":{"1":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"(":{"2":{"df":0,"docs":{},"m":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"(":{"df":0,"docs":{},"x":{"0":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"h":{"df":0,"docs":{},"v":{"0":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"∥":{"2":{"+":{"df":0,"docs":{},"h":{"2":{"df":0,"docs":{},"p":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{")":{".":{"(":{"8":{".":{"1":{".":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"h":{"2":{"df":0,"docs":{},"p":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{".":{"(":{"7":{".":{"2":{".":{"2":{"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":{}},"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":{},"x":{"=":{"b":{",":{"(":{"2":{".":{"2":{".":{"1":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"≥":{"0":{"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":{}}}}}},"n":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"123":{"tf":1.0}}}},"+":{"1":{"df":2,"docs":{"124":{"tf":1.4142135623730951},"53":{"tf":1.0}},"v":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"+":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"+":{"1":{",":{"=":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"+":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"−":{"1":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"+":{"1":{",":{"df":0,"docs":{},"​":{"(":{"1":{".":{"5":{".":{"1":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"n":{"+":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"−":{"1":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{",":{"df":0,"docs":{},"​":{"(":{"1":{".":{"4":{".":{"3":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"n":{"+":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"−":{"1":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"​":{"(":{"1":{".":{"4":{".":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":0,"docs":{},"":{"=":{"df":0,"docs":{},"h":{"^":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"a":{"^":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":3,"docs":{"124":{"tf":1.4142135623730951},"53":{"tf":1.0},"63":{"tf":1.0}}},"p":{"df":2,"docs":{"125":{"tf":1.0},"134":{"tf":1.0}}},"t":{"1":{"df":1,"docs":{"134":{"tf":1.0}}},"2":{"df":1,"docs":{"134":{"tf":1.0}}},"3":{"df":1,"docs":{"134":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"81":{"tf":1.0}}},"}":{"(":{"df":0,"docs":{},"x":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"d":{"df":2,"docs":{"7":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"∂":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}}}},"∈":{"df":0,"docs":{},"r":{"3":{"df":2,"docs":{"45":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}},"γ":{"c":{"df":0,"docs":{},"​":{".":{"df":0,"docs":{},"​":{"(":{"1":{"8":{".":{"5":{".":{"1":{"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":{}}},"d":{"df":1,"docs":{"103":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":1,"docs":{"103":{"tf":1.0}}}},"ω":{"0":{"df":5,"docs":{"103":{"tf":1.4142135623730951},"70":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.0}}},"df":0,"docs":{}}},"−":{"c":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"≤":{"df":0,"docs":{},"r":{"df":2,"docs":{"45":{"tf":1.0},"5":{"tf":1.0}}}}}},"df":0,"docs":{}},"⋅":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}},")":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{",":{"df":0,"docs":{},"j":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"y":{"=":{"3":{"df":1,"docs":{"38":{"tf":1.0}}},"df":0,"docs":{},"y":{"_":{"0":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"_":{"0":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"54":{"tf":3.1622776601683795}}},"df":0,"docs":{}}}}}},"i":{"df":1,"docs":{"45":{"tf":1.0}}},"j":{"df":1,"docs":{"45":{"tf":1.0}}}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"142":{"tf":1.0}}}}},"df":4,"docs":{"38":{"tf":1.4142135623730951},"41":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"45":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"r":{"=":{"df":0,"docs":{},"{":{"2":{"0":{"2":{"4":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":3,"docs":{"27":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":1,"docs":{"142":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"'":{"df":5,"docs":{"101":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"o":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"z":{"df":1,"docs":{"38":{"tf":1.0}}}},"z":{"a":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"95":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":19,"docs":{"101":{"tf":1.0},"134":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.7320508075688772},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"27":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"48":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"82":{"tf":1.7320508075688772},"96":{"tf":1.0},"97":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"u":{"df":1,"docs":{"142":{"tf":1.0}}}},"i":{"df":0,"docs":{},"p":{"(":{"*":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"35":{"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":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"z":{"=":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"z":{"df":0,"docs":{},"t":{"b":{")":{"2":{"d":{"df":0,"docs":{},"x":{"df":0,"docs":{},"≥":{"0":{"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":{}}}}}}},"breadcrumbs":{"root":{"0":{",":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"1":{",":{"2":{",":{"\\":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"]":{",":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"105":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"129":{"tf":1.0},"21":{"tf":1.0},"53":{"tf":1.0}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":2.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"α":{"df":0,"docs":{},"j":{"df":0,"docs":{},"k":{"c":{"df":0,"docs":{},"​":{")":{".":{"(":{"8":{".":{"2":{".":{"1":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"⊂":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}}}}},"−":{"0":{".":{"5":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},".":{"0":{"0":{"4":{"df":1,"docs":{"29":{"tf":1.0}}},"5":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"1":{"df":3,"docs":{"117":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0}}},"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":13,"docs":{"118":{"tf":1.4142135623730951},"131":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"35":{"tf":1.7320508075688772},"54":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"67":{"tf":2.23606797749979},"85":{"tf":1.4142135623730951},"86":{"tf":3.1622776601683795}}},"1":{"1":{"df":2,"docs":{"63":{"tf":2.0},"87":{"tf":1.0}}},"df":4,"docs":{"117":{"tf":1.0},"120":{"tf":1.4142135623730951},"29":{"tf":1.0},"63":{"tf":1.7320508075688772}},"x":{"df":2,"docs":{"120":{"tf":1.0},"87":{"tf":1.0}}}},"2":{"df":1,"docs":{"63":{"tf":1.7320508075688772}}},"4":{"5":{"df":1,"docs":{"117":{"tf":1.0}}},"df":4,"docs":{"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"126":{"tf":1.0},"85":{"tf":1.0}}},"5":{"df":8,"docs":{"117":{"tf":1.0},"119":{"tf":1.7320508075688772},"125":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"67":{"tf":1.4142135623730951},"85":{"tf":1.0}}},"6":{"df":1,"docs":{"67":{"tf":1.7320508075688772}}},"7":{"df":1,"docs":{"117":{"tf":1.0}}},"8":{"df":1,"docs":{"131":{"tf":1.0}}},"9":{"\\":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":4,"docs":{"54":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"0":{"df":0,"docs":{},"​":{"0":{"0":{"df":0,"docs":{},"​":{"1":{"0":{"df":0,"docs":{},"​":{"0":{"1":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"[":{"1":{"2":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":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":{"106":{"tf":1.0},"107":{"tf":1.0},"118":{"tf":2.0},"120":{"tf":1.7320508075688772},"125":{"tf":1.0},"126":{"tf":1.0},"131":{"tf":2.8284271247461903},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":2.6457513110645907},"21":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951},"27":{"tf":2.0},"28":{"tf":1.0},"29":{"tf":2.23606797749979},"33":{"tf":1.0},"34":{"tf":2.23606797749979},"35":{"tf":1.0},"38":{"tf":1.0},"45":{"tf":1.4142135623730951},"49":{"tf":2.23606797749979},"52":{"tf":2.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.23606797749979},"58":{"tf":1.4142135623730951},"62":{"tf":3.0},"63":{"tf":3.0},"67":{"tf":2.6457513110645907},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"85":{"tf":2.449489742783178},"86":{"tf":6.708203932499369},"87":{"tf":3.1622776601683795},"90":{"tf":1.7320508075688772},"92":{"tf":1.4142135623730951},"93":{"tf":1.0}},"​":{"1":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"3":{"df":1,"docs":{"38":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{"b":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"x":{"df":1,"docs":{"95":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"a":{"^":{",":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"^":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"d":{"df":0,"docs":{},"x":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{")":{"d":{"df":0,"docs":{},"x":{"=":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"a":{"^":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{")":{"df":0,"docs":{},"i":{"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":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":{}}}},"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"^":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{")":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{")":{"(":{"2":{"0":{".":{"1":{"df":1,"docs":{"109":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"99":{"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":{}}}},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"q":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"⋅":{"a":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"d":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"q":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"⋅":{"(":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{")":{"d":{"df":0,"docs":{},"x":{"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":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{")":{"d":{"df":0,"docs":{},"x":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"1":{",":{"2":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},".":{"0":{".":{"0":{"df":1,"docs":{"2":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":7,"docs":{"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"131":{"tf":2.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"67":{"tf":2.23606797749979},"86":{"tf":1.4142135623730951}}},"1":{".":{"1":{"df":1,"docs":{"5":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"117":{"tf":1.0}}},"2":{".":{"1":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":3,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"29":{"tf":1.0}}},"5":{".":{"1":{"df":4,"docs":{"11":{"tf":1.7320508075688772},"20":{"tf":1.0},"21":{"tf":1.0},"89":{"tf":1.0}}},"2":{"df":2,"docs":{"11":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"/":{"2":{"df":1,"docs":{"134":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"0":{",":{"2":{"0":{"1":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"1":{".":{"1":{"df":1,"docs":{"62":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"62":{"tf":1.0}}},"3":{"df":1,"docs":{"62":{"tf":1.0}}},"4":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":1,"docs":{"63":{"tf":2.449489742783178}}},"2":{"df":1,"docs":{"63":{"tf":1.0}}},"3":{"df":1,"docs":{"63":{"tf":1.0}}},"4":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"df":2,"docs":{"117":{"tf":1.0},"29":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"1":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":2,"docs":{"52":{"tf":1.0},"67":{"tf":1.4142135623730951}},"−":{"6":{"df":2,"docs":{"131":{"tf":1.0},"82":{"tf":1.0}}},"df":0,"docs":{}}},"1":{".":{"1":{".":{"1":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"0":{"df":1,"docs":{"67":{"tf":1.0}}},"1":{"df":1,"docs":{"67":{"tf":1.0}}},"df":1,"docs":{"67":{"tf":2.0}}},"2":{"df":1,"docs":{"67":{"tf":1.0}}},"3":{"df":1,"docs":{"67":{"tf":1.0}}},"4":{"df":1,"docs":{"67":{"tf":1.0}}},"5":{"df":1,"docs":{"67":{"tf":1.0}}},"6":{"df":1,"docs":{"67":{"tf":1.0}}},"7":{"df":1,"docs":{"67":{"tf":1.0}}},"8":{"df":1,"docs":{"67":{"tf":1.0}}},"9":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"81":{"tf":1.0}}},"2":{".":{"1":{".":{"1":{"df":2,"docs":{"70":{"tf":1.7320508075688772},"71":{"tf":1.0}}},"2":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":2,"docs":{"71":{"tf":2.0},"85":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{".":{"1":{"df":2,"docs":{"74":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"2":{"df":3,"docs":{"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"80":{"tf":1.0}}},"3":{"df":1,"docs":{"74":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"74":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"74":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":1,"docs":{"75":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{".":{"1":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":1,"docs":{"80":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{".":{"1":{".":{"1":{"df":2,"docs":{"107":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"85":{"tf":1.0}}},"3":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":1,"docs":{"86":{"tf":1.0}}},"2":{"df":1,"docs":{"86":{"tf":1.0}}},"3":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"87":{"tf":2.0}}},"2":{"df":1,"docs":{"87":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{".":{"1":{".":{"1":{"df":1,"docs":{"90":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"90":{"tf":1.0}}},"3":{"df":1,"docs":{"90":{"tf":1.0}}},"4":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"89":{"tf":1.0}}},"2":{".":{"1":{"df":1,"docs":{"91":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"91":{"tf":1.0}}},"3":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"92":{"tf":2.0}}},"3":{"df":1,"docs":{"92":{"tf":1.0}}},"4":{"df":1,"docs":{"92":{"tf":1.0}}},"6":{"df":2,"docs":{"94":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"27":{"tf":2.0}}},"7":{".":{"1":{".":{"1":{"df":2,"docs":{"105":{"tf":1.4142135623730951},"95":{"tf":2.23606797749979}}},"2":{"df":1,"docs":{"95":{"tf":1.0}}},"3":{"df":2,"docs":{"95":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"95":{"tf":1.4142135623730951}}},"2":{".":{"1":{"df":2,"docs":{"105":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"117":{"tf":1.0}}},"8":{".":{"1":{".":{"1":{"df":1,"docs":{"99":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":2,"docs":{"100":{"tf":1.0},"101":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"101":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"101":{"tf":1.0}}},"3":{"df":1,"docs":{"101":{"tf":1.0}}},"4":{"df":1,"docs":{"101":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"134":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"2":{"df":1,"docs":{"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{".":{"1":{".":{"1":{"df":1,"docs":{"105":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":3,"docs":{"104":{"tf":1.0},"107":{"tf":1.0},"115":{"tf":1.0}}},"3":{".":{"1":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"]":{")":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"24":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"d":{"df":4,"docs":{"131":{"tf":1.0},"57":{"tf":1.0},"87":{"tf":1.0},"95":{"tf":1.4142135623730951}}},"df":38,"docs":{"101":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"117":{"tf":1.7320508075688772},"118":{"tf":2.6457513110645907},"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"125":{"tf":1.7320508075688772},"126":{"tf":2.449489742783178},"129":{"tf":1.0},"131":{"tf":1.7320508075688772},"140":{"tf":1.0},"15":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"25":{"tf":4.47213595499958},"27":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"29":{"tf":2.8284271247461903},"32":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951},"35":{"tf":2.23606797749979},"4":{"tf":1.4142135623730951},"40":{"tf":1.0},"45":{"tf":1.7320508075688772},"47":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":2.23606797749979},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"67":{"tf":4.0},"81":{"tf":1.4142135623730951},"82":{"tf":2.23606797749979},"85":{"tf":5.196152422706632},"86":{"tf":6.48074069840786},"87":{"tf":2.23606797749979}},"e":{"5":{"df":5,"docs":{"117":{"tf":1.0},"29":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"85":{"tf":1.0}}},"df":4,"docs":{"29":{"tf":1.0},"63":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0}}},"}":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"29":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"​":{"+":{"df":0,"docs":{},"β":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"≤":{"1":{"df":1,"docs":{"134":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"0":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"⊂":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ω":{"0":{"df":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}}}}},"−":{"df":0,"docs":{},"β":{")":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"+":{"df":0,"docs":{},"β":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"+":{"1":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"λ":{")":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"≤":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":0,"docs":{},"≤":{"d":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"2":{"(":{"1":{"+":{"df":0,"docs":{},"ν":{")":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"λ":{"=":{"(":{"1":{"+":{"df":0,"docs":{},"ν":{")":{"(":{"1":{"df":0,"docs":{},"−":{"2":{"df":0,"docs":{},"ν":{")":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"o":{"c":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"^":{"(":{"df":0,"docs":{},"j":{"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"0":{"df":3,"docs":{"118":{"tf":3.1622776601683795},"131":{"tf":2.0},"63":{"tf":1.0}}},"1":{".":{"1":{"df":3,"docs":{"14":{"tf":1.4142135623730951},"20":{"tf":1.0},"89":{"tf":1.0}}},"2":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":1,"docs":{"15":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":4,"docs":{"16":{"tf":2.0},"17":{"tf":1.0},"48":{"tf":1.0},"66":{"tf":1.0}}},"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{",":{"0":{"0":{"0":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"0":{"2":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"1":{".":{"1":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"113":{"tf":1.0}}},"2":{".":{"1":{"df":1,"docs":{"113":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"113":{"tf":1.0}}},"3":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"4":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"82":{"tf":1.0}}},"8":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"89":{"tf":1.0}}},"df":1,"docs":{"29":{"tf":1.0}}},"1":{"2":{"df":4,"docs":{"142":{"tf":1.4142135623730951},"76":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.4142135623730951}}},"5":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"81":{"tf":1.0}}},"6":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"5":{"tf":1.0}}},"8":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"76":{"tf":1.0}}},"df":0,"docs":{}},"2":{"0":{"df":3,"docs":{"134":{"tf":1.0},"142":{"tf":1.4142135623730951},"58":{"tf":1.0}}},"1":{"df":2,"docs":{"120":{"tf":1.0},"142":{"tf":1.4142135623730951}}},"2":{"df":4,"docs":{"142":{"tf":2.449489742783178},"41":{"tf":1.0},"79":{"tf":1.0},"81":{"tf":1.0}}},"3":{"df":2,"docs":{"114":{"tf":1.0},"142":{"tf":1.4142135623730951}}},"4":{"/":{"5":{"df":1,"docs":{"2":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{".":{"1":{".":{"1":{"df":1,"docs":{"117":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":2,"docs":{"118":{"tf":1.4142135623730951},"134":{"tf":1.0}}},"2":{"df":1,"docs":{"118":{"tf":1.0}}},"3":{"df":1,"docs":{"118":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":2,"docs":{"119":{"tf":1.0},"124":{"tf":1.0}}},"2":{"df":1,"docs":{"119":{"tf":1.0}}},"3":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"df":1,"docs":{"120":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"120":{"tf":1.0}}},"3":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"101":{"tf":1.4142135623730951},"113":{"tf":1.0},"123":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"f":{"+":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"i":{"df":1,"docs":{"74":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"2":{".":{"2":{".":{"1":{"df":2,"docs":{"124":{"tf":1.0},"125":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"125":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"126":{"tf":2.0}}},"2":{"df":1,"docs":{"126":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"126":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"3":{".":{"1":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"81":{"tf":1.0}}},"4":{".":{"1":{".":{"1":{"df":2,"docs":{"134":{"tf":1.7320508075688772},"140":{"tf":1.0}}},"2":{"df":2,"docs":{"134":{"tf":1.0},"140":{"tf":1.0}}},"3":{"df":1,"docs":{"134":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"5":{"df":3,"docs":{"29":{"tf":2.0},"62":{"tf":1.0},"85":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"6":{"df":1,"docs":{"117":{"tf":1.0}}},"7":{"df":2,"docs":{"117":{"tf":1.0},"131":{"tf":1.0}}},"8":{"df":1,"docs":{"117":{"tf":1.0}}},"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"35":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"d":{"df":47,"docs":{"104":{"tf":1.0},"105":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":2.0},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"120":{"tf":1.4142135623730951},"121":{"tf":1.4142135623730951},"122":{"tf":2.449489742783178},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.7320508075688772},"128":{"tf":1.4142135623730951},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.7320508075688772},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":2.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":2.0},"30":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"5":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.4142135623730951},"73":{"tf":1.0},"82":{"tf":1.4142135623730951},"85":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0}}},"df":31,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":1.7320508075688772},"118":{"tf":2.23606797749979},"119":{"tf":3.0},"125":{"tf":1.4142135623730951},"126":{"tf":2.0},"13":{"tf":1.4142135623730951},"140":{"tf":1.0},"25":{"tf":1.7320508075688772},"26":{"tf":3.0},"27":{"tf":4.0},"28":{"tf":2.0},"29":{"tf":1.7320508075688772},"32":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":2.449489742783178},"45":{"tf":1.4142135623730951},"5":{"tf":1.0},"54":{"tf":2.449489742783178},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":2.6457513110645907},"63":{"tf":2.23606797749979},"66":{"tf":1.0},"67":{"tf":4.47213595499958},"81":{"tf":1.4142135623730951},"85":{"tf":2.0},"86":{"tf":4.898979485566356},"87":{"tf":1.4142135623730951}},"n":{"d":{"df":3,"docs":{"106":{"tf":1.0},"119":{"tf":1.0},"69":{"tf":1.0}}},"df":0,"docs":{}},"x":{"df":1,"docs":{"32":{"tf":1.0}}},"×":{"2":{"df":2,"docs":{"71":{"tf":1.0},"82":{"tf":1.0}}},"df":0,"docs":{}},"κ":{"df":0,"docs":{},"m":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"^":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"2":{".":{"(":{"1":{"1":{".":{"1":{".":{"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":{}}}}}}}}}}}}}},"​":{"3":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"4":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"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":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}}}}}},"3":{".":{"0":{"df":3,"docs":{"131":{"tf":2.23606797749979},"62":{"tf":2.0},"63":{"tf":1.4142135623730951}}},"1":{".":{"1":{"df":1,"docs":{"20":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":2,"docs":{"21":{"tf":2.0},"53":{"tf":1.0}}},"2":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":3,"docs":{"22":{"tf":2.6457513110645907},"28":{"tf":1.4142135623730951},"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"df":1,"docs":{"86":{"tf":2.0}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"d":{"df":25,"docs":{"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":2.449489742783178},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.7320508075688772},"133":{"tf":2.449489742783178},"134":{"tf":2.23606797749979},"135":{"tf":1.4142135623730951},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"139":{"tf":1.0},"140":{"tf":2.0},"141":{"tf":2.0},"142":{"tf":1.0},"29":{"tf":1.0},"42":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"5":{"tf":2.0},"69":{"tf":1.0},"71":{"tf":1.4142135623730951},"82":{"tf":1.0}}},"df":16,"docs":{"117":{"tf":1.7320508075688772},"118":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"120":{"tf":1.0},"126":{"tf":1.4142135623730951},"128":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"38":{"tf":1.0},"5":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":3.1622776601683795}},"r":{"d":{"df":1,"docs":{"106":{"tf":1.0}}},"df":0,"docs":{}},"x":{"+":{"4":{"df":0,"docs":{},"y":{"=":{"2":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"y":{"df":1,"docs":{"32":{"tf":1.0}}},"×":{"2":{"df":1,"docs":{"71":{"tf":1.0}}},"3":{"df":2,"docs":{"71":{"tf":1.0},"82":{"tf":1.0}},"×":{"3":{"df":0,"docs":{},"×":{"3":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"δ":{"df":0,"docs":{},"x":{"1":{"1":{"df":0,"docs":{},"​":{"+":{"4":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"1":{"2":{"df":0,"docs":{},"​":{"=":{"0":{"df":1,"docs":{"42":{"tf":1.0}}},"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":{},"​":{"0":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"2":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"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":{")":{")":{"[":{"0":{"df":1,"docs":{"118":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"0":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"1":{".":{"1":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{".":{"1":{"df":1,"docs":{"29":{"tf":2.0}}},"2":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":11,"docs":{"118":{"tf":1.4142135623730951},"130":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.4142135623730951},"27":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"59":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":2.0},"87":{"tf":1.0}},"}":{"df":0,"docs":{},"m":{"df":1,"docs":{"52":{"tf":1.0}}}},"×":{"4":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}}},"5":{".":{"1":{".":{"1":{"df":2,"docs":{"32":{"tf":2.23606797749979},"34":{"tf":1.0}}},"2":{"df":3,"docs":{"32":{"tf":1.7320508075688772},"38":{"tf":1.0},"42":{"tf":1.4142135623730951}}},"3":{"df":4,"docs":{"33":{"tf":1.7320508075688772},"34":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":2,"docs":{"33":{"tf":1.0},"34":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"33":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"35":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"35":{"tf":1.0}}},"3":{"df":1,"docs":{"35":{"tf":1.0}}},"4":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"\\":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"6":{")":{")":{"[":{"0":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"1":{".":{"1":{"df":1,"docs":{"38":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":2,"docs":{"40":{"tf":1.0},"41":{"tf":1.0}}},"3":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":0,"docs":{},"±":{"3":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"84":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":4,"docs":{"118":{"tf":1.0},"22":{"tf":1.4142135623730951},"86":{"tf":2.0},"87":{"tf":1.4142135623730951}}},"7":{".":{"1":{".":{"1":{"df":4,"docs":{"45":{"tf":2.23606797749979},"54":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0}}},"2":{"df":1,"docs":{"45":{"tf":1.0}}},"3":{"df":2,"docs":{"45":{"tf":1.0},"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":4,"docs":{"101":{"tf":1.0},"48":{"tf":2.0},"49":{"tf":1.7320508075688772},"53":{"tf":1.0}}},"2":{"df":2,"docs":{"49":{"tf":1.4142135623730951},"53":{"tf":1.0}}},"3":{"df":1,"docs":{"101":{"tf":1.0}}},"4":{"df":1,"docs":{"54":{"tf":1.0}}},"5":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"49":{"tf":1.0}}},"2":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"df":1,"docs":{"50":{"tf":1.0}}},"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":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":1,"docs":{"81":{"tf":1.0}}},"8":{".":{"1":{".":{"1":{"df":2,"docs":{"52":{"tf":2.23606797749979},"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":2,"docs":{"53":{"tf":2.449489742783178},"54":{"tf":1.0}}},"2":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":2,"docs":{"54":{"tf":2.0},"62":{"tf":1.0}}},"2":{"df":1,"docs":{"54":{"tf":1.0}}},"3":{"df":1,"docs":{"54":{"tf":1.0}}},"4":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":1,"docs":{"131":{"tf":1.0}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"122":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":2,"docs":{"119":{"tf":2.6457513110645907},"125":{"tf":1.4142135623730951}}},"9":{".":{"1":{".":{"1":{"df":1,"docs":{"57":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":3,"docs":{"123":{"tf":1.0},"58":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"2":{"df":2,"docs":{"58":{"tf":1.0},"63":{"tf":1.0}}},"3":{"df":2,"docs":{"58":{"tf":1.0},"63":{"tf":1.0}}},"4":{"df":2,"docs":{"58":{"tf":1.0},"63":{"tf":1.0}}},"5":{"df":1,"docs":{"63":{"tf":1.0}}},"6":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"59":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"1":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"df":1,"docs":{"29":{"tf":1.0}}},"df":2,"docs":{"87":{"tf":1.0},"88":{"tf":1.0}}},"df":2,"docs":{"131":{"tf":1.0},"82":{"tf":1.0}},"×":{"9":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"_":{"0":{"0":{"0":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"1":{"0":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"1":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"1":{"1":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"1":{"0":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"0":{"1":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"1":{"1":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"120":{"tf":1.0}}},"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"120":{"tf":1.0}}},"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"m":{"^":{"2":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"'":{"df":1,"docs":{"136":{"tf":1.0}}},"(":{"df":0,"docs":{},"x":{"+":{"df":0,"docs":{},"α":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{")":{"=":{"b":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"t":{"2":{"df":0,"docs":{},"∂":{"2":{"df":0,"docs":{},"x":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"ϕ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"v":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{".":{"(":{"1":{"2":{".":{"1":{".":{"4":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"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":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"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":{},"t":{")":{":":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"3":{"df":0,"docs":{},"×":{"3":{",":{"b":{"1":{"2":{"2":{"df":0,"docs":{},"×":{"2":{"df":0,"docs":{},"​":{",":{"b":{"1":{"3":{"2":{"df":0,"docs":{},"×":{"2":{"df":0,"docs":{},"​":{",":{"b":{"2":{"3":{"2":{"df":0,"docs":{},"×":{"2":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{},"→":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"=":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"q":{"df":0,"docs":{},"−":{"1":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"41":{"tf":1.0}}}}}},"∂":{"df":0,"docs":{},"t":{"2":{"df":0,"docs":{},"∂":{"2":{"df":0,"docs":{},"x":{"df":1,"docs":{"94":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"\\":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}}}}},"^":{"'":{"df":1,"docs":{"134":{"tf":1.0}}},"d":{"+":{"df":0,"docs":{},"i":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":2,"docs":{"33":{"tf":1.4142135623730951},"40":{"tf":1.0}}}},"_":{"df":0,"docs":{},"i":{"df":2,"docs":{"48":{"tf":1.7320508075688772},"49":{"tf":1.0}}}},"a":{"^":{"df":0,"docs":{},"t":{"df":2,"docs":{"33":{"tf":1.0},"40":{"tf":1.4142135623730951}}},"​":{"=":{"2":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"−":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"+":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"a":{"^":{"+":{"1":{"df":2,"docs":{"119":{"tf":1.0},"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"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":{},"−":{"1":{"a":{"df":0,"docs":{},"h":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"(":{"a":{"a":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"−":{"1":{"a":{"df":0,"docs":{},"g":{".":{"(":{"6":{".":{"2":{".":{"1":{"df":1,"docs":{"40":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"o":{"df":0,"docs":{},"v":{"df":15,"docs":{"101":{"tf":1.0},"125":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"81":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"s":{"(":{"a":{"df":2,"docs":{"131":{"tf":1.0},"87":{"tf":1.0}}},"b":{"df":1,"docs":{"87":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"131":{"tf":1.0}}},"2":{"df":1,"docs":{"131":{"tf":1.0}}},"3":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"4":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"∣":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"95":{"tf":1.0}}}}}},"c":{"c":{"d":{"df":3,"docs":{"120":{"tf":1.7320508075688772},"121":{"tf":1.7320508075688772},"138":{"tf":1.7320508075688772}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"14":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"70":{"tf":2.0},"89":{"tf":1.0},"91":{"tf":1.0},"97":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"0":{"tf":1.0},"45":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":4,"docs":{"132":{"tf":1.0},"5":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"r":{"d":{"df":5,"docs":{"124":{"tf":1.0},"40":{"tf":1.0},"63":{"tf":1.4142135623730951},"67":{"tf":1.0},"84":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"35":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"140":{"tf":1.0},"69":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"120":{"tf":1.0},"121":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"i":{"df":7,"docs":{"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"49":{"tf":2.0},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}},"df":16,"docs":{"105":{"tf":1.0},"11":{"tf":1.0},"111":{"tf":1.0},"16":{"tf":2.23606797749979},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"29":{"tf":1.0},"31":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.4142135623730951},"6":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0},"98":{"tf":1.0}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":17,"docs":{"101":{"tf":1.0},"12":{"tf":1.0},"120":{"tf":1.0},"141":{"tf":1.0},"23":{"tf":1.0},"26":{"tf":1.0},"29":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"t":{"df":7,"docs":{"100":{"tf":1.0},"14":{"tf":1.0},"33":{"tf":1.0},"5":{"tf":1.0},"77":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"v":{"df":6,"docs":{"139":{"tf":1.0},"16":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951},"52":{"tf":1.0},"57":{"tf":1.0},"64":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":7,"docs":{"11":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.4142135623730951},"26":{"tf":1.0},"33":{"tf":1.0},"48":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":7,"docs":{"11":{"tf":1.0},"117":{"tf":1.0},"138":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"92":{"tf":1.0}}}}},"d":{"df":7,"docs":{"112":{"tf":1.0},"117":{"tf":1.4142135623730951},"126":{"tf":1.0},"16":{"tf":1.0},"27":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":15,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"127":{"tf":1.0},"132":{"tf":1.0},"141":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"49":{"tf":1.0},"57":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"81":{"tf":1.4142135623730951},"87":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":9,"docs":{"101":{"tf":1.0},"11":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"128":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.0},"55":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":20,"docs":{"131":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0},"37":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"95":{"tf":1.0}}}}}}},"df":7,"docs":{"122":{"tf":1.0},"14":{"tf":1.0},"32":{"tf":1.0},"35":{"tf":1.4142135623730951},"57":{"tf":1.0},"67":{"tf":1.0},"87":{"tf":1.0}},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"10":{"tf":1.0},"16":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"j":{"a":{"c":{"df":2,"docs":{"134":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"140":{"tf":1.0},"34":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"132":{"tf":1.0},"17":{"tf":1.0},"37":{"tf":1.0},"88":{"tf":1.0}}}}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":5,"docs":{"120":{"tf":1.0},"121":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":9,"docs":{"105":{"tf":1.0},"113":{"tf":1.0},"12":{"tf":1.0},"134":{"tf":1.0},"18":{"tf":1.0},"28":{"tf":1.0},"38":{"tf":1.0},"5":{"tf":1.0},"92":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"106":{"tf":1.0}}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"107":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"88":{"tf":1.0}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"123":{"tf":1.0},"134":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"​":{"a":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"]":{"[":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"]":{"=":{"[":{"df":0,"docs":{},"−":{"a":{"df":0,"docs":{},"g":{"0":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"−":{"a":{"df":0,"docs":{},"g":{".":{"(":{"5":{".":{"2":{".":{"1":{"df":1,"docs":{"33":{"tf":1.0}}},"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":{},"j":{"df":1,"docs":{"92":{"tf":1.0}}}},"d":{"df":2,"docs":{"14":{"tf":1.0},"5":{"tf":1.0}}},"df":1,"docs":{"92":{"tf":1.0}},"m":{"df":5,"docs":{"18":{"tf":1.0},"4":{"tf":1.4142135623730951},"47":{"tf":1.0},"70":{"tf":1.0},"89":{"tf":1.0}}},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"≈":{"b":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"a":{"b":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"b":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"a":{"b":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{".":{"(":{"1":{"7":{".":{"1":{".":{"1":{"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":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"j":{"df":1,"docs":{"134":{"tf":1.4142135623730951}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"22":{"tf":1.0},"27":{"tf":1.0},"48":{"tf":1.0},"67":{"tf":1.0},"79":{"tf":1.0}}}}},"l":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}}},"df":11,"docs":{"114":{"tf":1.0},"120":{"tf":1.0},"134":{"tf":1.0},"142":{"tf":3.0},"41":{"tf":1.0},"5":{"tf":1.0},"58":{"tf":1.0},"76":{"tf":1.4142135623730951},"79":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}},"g":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"r":{"a":{"df":3,"docs":{"25":{"tf":1.0},"29":{"tf":1.0},"4":{"tf":1.0}}},"df":0,"docs":{}}},"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":13,"docs":{"0":{"tf":1.0},"11":{"tf":1.4142135623730951},"120":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":2.0},"22":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"5":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.449489742783178},"59":{"tf":2.23606797749979},"75":{"tf":1.4142135623730951}}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":9,"docs":{"108":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":2.6457513110645907},"40":{"tf":1.0},"43":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.4142135623730951}}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":2,"docs":{"26":{"tf":1.0},"29":{"tf":1.0}}},"df":0,"docs":{},"w":{"df":27,"docs":{"101":{"tf":1.0},"107":{"tf":1.0},"113":{"tf":1.0},"137":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.7320508075688772},"51":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"5":{"tf":1.0},"50":{"tf":1.0}},"g":{"df":11,"docs":{"120":{"tf":1.0},"121":{"tf":1.0},"15":{"tf":1.0},"25":{"tf":1.0},"38":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"85":{"tf":1.0},"95":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"h":{"a":{",":{"\\":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"\\":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{}},"^":{"c":{"_":{"df":0,"docs":{},"{":{"df":0,"docs":{},"j":{"df":0,"docs":{},"k":{"df":1,"docs":{"53":{"tf":2.23606797749979}}}}}},"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"_":{"c":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":10,"docs":{"120":{"tf":2.0},"21":{"tf":3.0},"28":{"tf":2.23606797749979},"32":{"tf":1.4142135623730951},"45":{"tf":1.0},"53":{"tf":2.8284271247461903},"54":{"tf":3.1622776601683795},"62":{"tf":1.7320508075688772},"67":{"tf":1.0},"87":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":9,"docs":{"114":{"tf":1.0},"22":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"59":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"10":{"tf":1.0},"131":{"tf":1.0},"53":{"tf":1.4142135623730951},"74":{"tf":1.0},"80":{"tf":1.0}},"n":{"df":6,"docs":{"29":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":5,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"120":{"tf":1.0},"37":{"tf":1.0},"53":{"tf":1.4142135623730951}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":7,"docs":{"134":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":2.0},"22":{"tf":1.0},"53":{"tf":1.4142135623730951},"7":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"120":{"tf":1.0},"74":{"tf":1.0},"90":{"tf":1.0}}}}}},"p":{"df":1,"docs":{"142":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}},"n":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"2":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"−":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":0,"docs":{},"−":{"1":{"(":{"df":0,"docs":{},"x":{")":{"+":{"df":0,"docs":{},"h":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"df":0,"docs":{},"−":{"1":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":9,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"107":{"tf":1.0},"119":{"tf":1.0},"130":{"tf":1.0},"27":{"tf":1.0},"59":{"tf":1.0},"7":{"tf":1.0},"95":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":1,"docs":{"92":{"tf":1.0}},"i":{"df":2,"docs":{"4":{"tf":1.0},"92":{"tf":1.0}}}},"t":{"df":5,"docs":{"115":{"tf":1.0},"134":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.4142135623730951},"95":{"tf":1.0}}},"z":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"d":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"74":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":2,"docs":{"63":{"tf":1.0},"82":{"tf":1.0}}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"74":{"tf":1.4142135623730951},"80":{"tf":1.0}}}}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"105":{"tf":1.0},"137":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"5":{"tf":1.0},"75":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"4":{"tf":1.0}}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.0},"29":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"10":{"tf":1.0}}},"r":{"df":3,"docs":{"4":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"c":{"df":16,"docs":{"11":{"tf":1.0},"138":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"75":{"tf":1.0},"83":{"tf":1.0},"93":{"tf":1.0}}},"df":43,"docs":{"107":{"tf":1.0},"11":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.4142135623730951},"34":{"tf":1.0},"38":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.7320508075688772},"47":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"6":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"68":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":45,"docs":{"101":{"tf":1.4142135623730951},"102":{"tf":1.0},"11":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"132":{"tf":1.0},"136":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":2.449489742783178},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.7320508075688772},"4":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"5":{"tf":2.449489742783178},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.4142135623730951},"69":{"tf":1.0},"7":{"tf":1.4142135623730951},"73":{"tf":1.0},"76":{"tf":1.0},"79":{"tf":1.0},"84":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"51":{"tf":1.0},"66":{"tf":1.0},"95":{"tf":1.0}}}}},"x":{"df":1,"docs":{"11":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"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":{"115":{"tf":1.0}}}}}}}}}}}}},"df":33,"docs":{"100":{"tf":1.0},"101":{"tf":1.7320508075688772},"103":{"tf":1.0},"105":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772},"114":{"tf":2.0},"115":{"tf":1.7320508075688772},"122":{"tf":1.0},"123":{"tf":3.0},"127":{"tf":1.4142135623730951},"129":{"tf":1.0},"134":{"tf":2.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":2.6457513110645907},"32":{"tf":1.0},"45":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"5":{"tf":1.0},"53":{"tf":2.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.4142135623730951},"60":{"tf":1.0},"69":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951},"95":{"tf":2.23606797749979},"96":{"tf":1.0},"97":{"tf":1.0}}}}}}}}},"q":{"_":{"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"76":{"tf":1.4142135623730951},"79":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":16,"docs":{"101":{"tf":1.0},"105":{"tf":1.7320508075688772},"129":{"tf":1.0},"28":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"61":{"tf":1.0},"64":{"tf":1.0},"82":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"101":{"tf":1.0},"49":{"tf":1.0},"59":{"tf":1.0},"76":{"tf":1.0},"87":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"df":12,"docs":{"102":{"tf":1.4142135623730951},"106":{"tf":1.0},"119":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"5":{"tf":1.0},"54":{"tf":1.7320508075688772},"71":{"tf":1.0},"87":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.0}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"15":{"tf":1.0},"40":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"90":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"80":{"tf":1.0},"81":{"tf":1.0}}}}}}},"x":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"(":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"+":{"df":0,"docs":{},"h":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"m":{"2":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"h":{"2":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"β":{"df":0,"docs":{},"t":{"df":0,"docs":{},"v":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"β":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"≤":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"k":{"df":1,"docs":{"57":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"s":{"df":8,"docs":{"100":{"tf":1.0},"18":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"56":{"tf":1.0},"91":{"tf":1.0}}}},"m":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"'":{"df":1,"docs":{"15":{"tf":1.0}}},"df":2,"docs":{"14":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"101":{"tf":1.0},"113":{"tf":1.0},"134":{"tf":1.0},"4":{"tf":1.0},"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"85":{"tf":1.0}}}},"y":{"df":5,"docs":{"136":{"tf":1.0},"16":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"35":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"91":{"tf":1.0},"97":{"tf":1.0}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"52":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"52":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"71":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"71":{"tf":1.0}}}}}}},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"k":{"df":2,"docs":{"29":{"tf":1.0},"34":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":7,"docs":{"127":{"tf":1.0},"18":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"38":{"tf":1.0},"44":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"119":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"16":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":5,"docs":{"136":{"tf":1.0},"34":{"tf":1.0},"67":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":7,"docs":{"22":{"tf":1.0},"26":{"tf":1.0},"34":{"tf":1.0},"71":{"tf":1.0},"82":{"tf":1.0},"90":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":17,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"120":{"tf":1.0},"130":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"47":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"66":{"tf":1.0},"69":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951}}}}},"r":{"df":2,"docs":{"20":{"tf":1.0},"21":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"48":{"tf":1.0},"57":{"tf":1.0}}}}}}}}},"t":{"b":{"=":{"0":{"df":1,"docs":{"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"69":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"27":{"tf":1.0},"50":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"76":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"50":{"tf":1.0},"54":{"tf":1.0},"68":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"=":{"df":0,"docs":{},"{":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"3":{"tf":1.0}}}}}},"df":1,"docs":{"1":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":15,"docs":{"101":{"tf":1.0},"118":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0},"16":{"tf":1.0},"27":{"tf":1.0},"34":{"tf":1.0},"4":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"76":{"tf":1.0},"77":{"tf":1.0}}},"y":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}},"x":{"=":{"b":{",":{"(":{"5":{".":{"1":{".":{"1":{"df":1,"docs":{"32":{"tf":1.0}}},"df":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":{"38":{"tf":1.0}},"i":{"df":6,"docs":{"32":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":2.6457513110645907},"40":{"tf":1.0},"43":{"tf":1.0},"75":{"tf":1.0}},"s":{"=":{"0":{"df":2,"docs":{"117":{"tf":1.4142135623730951},"67":{"tf":1.0}}},"1":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"δ":{"df":0,"docs":{},"x":{"=":{"0":{".":{"(":{"5":{".":{"1":{".":{"2":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"n":{"df":0,"docs":{},"×":{"df":0,"docs":{},"n":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}},"b":{"(":{"d":{",":{"d":{"^":{")":{"=":{"df":0,"docs":{},"{":{"2":{"df":0,"docs":{},"κ":{"df":0,"docs":{},"​":{"d":{"^":{"(":{"d":{"^":{"d":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"1":{")":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"d":{"^":{"d":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"d":{"<":{"d":{"^":{"d":{"df":0,"docs":{},"≥":{"d":{"^":{",":{"df":0,"docs":{},"​":{"(":{"1":{"8":{".":{"3":{".":{"2":{"df":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{",":{"d":{"^":{"2":{")":{"=":{"df":0,"docs":{},"{":{"8":{"df":0,"docs":{},"κ":{"df":0,"docs":{},"​":{"d":{"^":{"(":{"d":{"^":{"2":{"d":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"1":{")":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"d":{"^":{"2":{"d":{"2":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"d":{"<":{"d":{"^":{"d":{"df":0,"docs":{},"≥":{"d":{"^":{",":{"df":0,"docs":{},"​":{"(":{"2":{"1":{".":{"3":{".":{"1":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"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":{},"j":{"df":1,"docs":{"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"=":{"[":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"−":{"1":{"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":{}},"[":{"0":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"\\":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{"df":1,"docs":{"86":{"tf":1.0}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"86":{"tf":2.0}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"86":{"tf":2.23606797749979}}}}}}}},"a":{"c":{"df":0,"docs":{},"k":{"df":6,"docs":{"134":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"52":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"21":{"tf":1.4142135623730951},"23":{"tf":1.0},"53":{"tf":1.7320508075688772},"58":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":8,"docs":{"104":{"tf":1.0},"11":{"tf":2.23606797749979},"12":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.4142135623730951},"58":{"tf":1.0},"96":{"tf":1.4142135623730951},"97":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"c":{"df":5,"docs":{"16":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":2,"docs":{"45":{"tf":1.7320508075688772},"90":{"tf":1.0}}}},"r":{"b":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"142":{"tf":1.7320508075688772},"81":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":1,"docs":{"87":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":28,"docs":{"101":{"tf":4.242640687119285},"113":{"tf":1.0},"114":{"tf":2.0},"119":{"tf":3.1622776601683795},"121":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"134":{"tf":2.449489742783178},"139":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"16":{"tf":1.7320508075688772},"44":{"tf":1.7320508075688772},"45":{"tf":1.0},"46":{"tf":2.0},"47":{"tf":1.4142135623730951},"48":{"tf":3.3166247903554},"49":{"tf":1.7320508075688772},"50":{"tf":2.6457513110645907},"52":{"tf":1.0},"54":{"tf":2.23606797749979},"55":{"tf":1.0},"62":{"tf":1.7320508075688772},"66":{"tf":1.0},"67":{"tf":2.23606797749979},"68":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"_":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"m":{"b":{"d":{"a":{"(":{"df":0,"docs":{},"x":{"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":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"i":{"df":7,"docs":{"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"125":{"tf":1.0},"54":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":2.0}}}}},"df":0,"docs":{}}}}}}}}}}},"y":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":4,"docs":{"124":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.0},"140":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":41,"docs":{"0":{"tf":1.0},"101":{"tf":1.7320508075688772},"102":{"tf":1.0},"105":{"tf":1.4142135623730951},"108":{"tf":1.0},"116":{"tf":1.0},"119":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.0},"134":{"tf":1.0},"141":{"tf":1.4142135623730951},"22":{"tf":2.0},"24":{"tf":1.0},"3":{"tf":1.0},"35":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":2.0},"51":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951},"57":{"tf":1.0},"61":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.0},"81":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"92":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0}}},"i":{"c":{"df":2,"docs":{"30":{"tf":1.0},"8":{"tf":1.0}}},"df":9,"docs":{"141":{"tf":1.0},"37":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.0},"85":{"tf":1.0},"95":{"tf":1.4142135623730951}}}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"120":{"tf":2.0}}}}},"c":{"df":9,"docs":{"15":{"tf":1.4142135623730951},"32":{"tf":2.23606797749979},"33":{"tf":2.23606797749979},"34":{"tf":3.0},"42":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979},"66":{"tf":3.1622776601683795},"67":{"tf":1.4142135623730951},"68":{"tf":2.0}}},"df":19,"docs":{"101":{"tf":1.4142135623730951},"106":{"tf":2.0},"113":{"tf":1.4142135623730951},"114":{"tf":2.0},"119":{"tf":1.0},"125":{"tf":1.4142135623730951},"131":{"tf":3.0},"15":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.0},"70":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":2.8284271247461903},"95":{"tf":1.4142135623730951}},"e":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"[":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"[":{"0":{"df":1,"docs":{"117":{"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":{},"r":{"df":1,"docs":{"38":{"tf":1.0}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":21,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.4142135623730951},"123":{"tf":1.0},"126":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"90":{"tf":1.0}}}}},"df":16,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"79":{"tf":1.4142135623730951},"82":{"tf":1.0},"95":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":11,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"121":{"tf":1.0},"141":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"4":{"tf":1.0},"55":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0}}}}},"g":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"127":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":16,"docs":{"117":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.0},"94":{"tf":1.0}},"{":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"59":{"tf":2.0}}}}},"p":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"18":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":10,"docs":{"27":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"73":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":9,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0},"66":{"tf":1.4142135623730951},"7":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}}}},"t":{"a":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":42,"docs":{"101":{"tf":2.23606797749979},"102":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"120":{"tf":1.0},"123":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"133":{"tf":1.0},"134":{"tf":1.4142135623730951},"16":{"tf":2.449489742783178},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"27":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"47":{"tf":1.0},"49":{"tf":1.4142135623730951},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":2.23606797749979},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.4142135623730951},"69":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"105":{"tf":1.0},"29":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"3":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"j":{"df":1,"docs":{"82":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"100":{"tf":2.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"45":{"tf":1.4142135623730951},"55":{"tf":1.0}}}},"df":0,"docs":{}}}}},"​":{"=":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"​":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"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":{}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}}},"df":6,"docs":{"32":{"tf":1.0},"33":{"tf":1.7320508075688772},"37":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":2.6457513110645907},"82":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"e":{"df":4,"docs":{"114":{"tf":1.4142135623730951},"45":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0}}}}},"o":{"d":{"df":0,"docs":{},"i":{"df":9,"docs":{"106":{"tf":1.0},"14":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"91":{"tf":1.0},"94":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"74":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":8,"docs":{"116":{"tf":1.0},"122":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":11,"docs":{"0":{"tf":1.0},"1":{"tf":1.7320508075688772},"104":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"12":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"7":{"tf":1.0}},"{":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"2":{"0":{"2":{"4":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"134":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":33,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"103":{"tf":1.0},"106":{"tf":1.0},"113":{"tf":1.4142135623730951},"12":{"tf":1.0},"124":{"tf":1.4142135623730951},"127":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.0},"25":{"tf":1.4142135623730951},"34":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"80":{"tf":1.0},"88":{"tf":1.7320508075688772},"89":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"94":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":5,"docs":{"114":{"tf":1.0},"117":{"tf":1.7320508075688772},"120":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"87":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":3,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0}}},"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":54,"docs":{"100":{"tf":3.3166247903554},"101":{"tf":2.8284271247461903},"102":{"tf":1.0},"103":{"tf":2.23606797749979},"105":{"tf":2.8284271247461903},"109":{"tf":2.6457513110645907},"110":{"tf":2.0},"111":{"tf":2.449489742783178},"112":{"tf":3.872983346207417},"113":{"tf":2.8284271247461903},"114":{"tf":3.0},"115":{"tf":1.7320508075688772},"117":{"tf":3.1622776601683795},"121":{"tf":1.0},"123":{"tf":2.449489742783178},"133":{"tf":1.0},"15":{"tf":2.23606797749979},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"31":{"tf":2.449489742783178},"32":{"tf":4.0},"33":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"35":{"tf":1.7320508075688772},"36":{"tf":1.4142135623730951},"37":{"tf":2.0},"38":{"tf":1.4142135623730951},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":2.23606797749979},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":2.0},"55":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":2.0},"66":{"tf":1.0},"67":{"tf":1.7320508075688772},"68":{"tf":1.4142135623730951},"71":{"tf":1.0},"75":{"tf":1.0},"87":{"tf":1.0},"91":{"tf":1.7320508075688772},"92":{"tf":1.7320508075688772},"96":{"tf":1.0},"97":{"tf":1.4142135623730951},"98":{"tf":2.449489742783178},"99":{"tf":5.0990195135927845}}}}},"df":13,"docs":{"120":{"tf":2.23606797749979},"121":{"tf":1.7320508075688772},"135":{"tf":1.0},"136":{"tf":1.4142135623730951},"137":{"tf":1.7320508075688772},"14":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"53":{"tf":2.0},"54":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"82":{"tf":1.0}}},"df":0,"docs":{}}},"x":{"df":5,"docs":{"120":{"tf":1.7320508075688772},"121":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"45":{"tf":1.0},"5":{"tf":1.4142135623730951}}}},"p":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"[":{"0":{"df":1,"docs":{"117":{"tf":1.0}}},"1":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"117":{"tf":1.0}}}}}},"df":3,"docs":{"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"125":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":6,"docs":{"102":{"tf":1.0},"105":{"tf":1.0},"120":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0}}},"n":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"142":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"g":{"df":7,"docs":{"10":{"tf":1.0},"120":{"tf":1.0},"131":{"tf":1.0},"16":{"tf":1.0},"62":{"tf":1.0},"87":{"tf":1.4142135623730951},"95":{"tf":1.0}}}}},"o":{"a":{"d":{"df":3,"docs":{"137":{"tf":1.0},"139":{"tf":1.7320508075688772},"141":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"37":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":3,"docs":{"1":{"tf":1.0},"42":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"h":{"df":5,"docs":{"121":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.7320508075688772},"139":{"tf":1.0},"141":{"tf":1.0}}}},"}":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"ϵ":{"0":{"df":2,"docs":{"90":{"tf":1.4142135623730951},"91":{"tf":2.0}},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"j":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"d":{"df":0,"docs":{},"x":{"=":{"df":0,"docs":{},"∫":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"d":{"df":0,"docs":{},"x":{"df":1,"docs":{"90":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"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":2,"docs":{"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"90":{"tf":1.4142135623730951}},"​":{"df":0,"docs":{},"​":{"d":{"df":0,"docs":{},"x":{"=":{"df":0,"docs":{},"∫":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"j":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"d":{"df":0,"docs":{},"x":{"df":1,"docs":{"90":{"tf":1.0}}}},"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":{"0":{"df":3,"docs":{"108":{"tf":1.0},"134":{"tf":1.0},"141":{"tf":1.0}}},"1":{"df":5,"docs":{"118":{"tf":1.0},"121":{"tf":1.0},"134":{"tf":1.4142135623730951},"141":{"tf":1.0},"55":{"tf":1.0}}},"=":{"0":{".":{"6":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"1":{",":{"df":0,"docs":{},"j":{",":{"df":0,"docs":{},"k":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"α":{"df":0,"docs":{},"j":{"df":0,"docs":{},"k":{"c":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"_":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"16":{"tf":2.6457513110645907}}}},"df":1,"docs":{"16":{"tf":1.0}}},"l":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":41,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"112":{"tf":1.4142135623730951},"114":{"tf":1.0},"118":{"tf":2.23606797749979},"12":{"tf":1.0},"120":{"tf":2.449489742783178},"123":{"tf":1.0},"124":{"tf":2.0},"125":{"tf":2.0},"127":{"tf":1.4142135623730951},"130":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":2.0},"5":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"6":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"79":{"tf":1.0},"8":{"tf":1.0},"80":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.4142135623730951},"88":{"tf":1.7320508075688772},"9":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"df":1,"docs":{"74":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":9,"docs":{"117":{"tf":1.0},"125":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.4142135623730951},"29":{"tf":1.0},"58":{"tf":1.0},"76":{"tf":1.7320508075688772},"8":{"tf":1.0},"82":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"18":{"tf":1.0}}}},"n":{"d":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"135":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"p":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"16":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":1.0}}}},"c":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"17":{"tf":1.0},"31":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"16":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"29":{"tf":1.0},"82":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"71":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"e":{"df":54,"docs":{"101":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.0},"116":{"tf":2.0},"117":{"tf":1.4142135623730951},"118":{"tf":1.7320508075688772},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.7320508075688772},"134":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":2.0},"36":{"tf":1.0},"37":{"tf":1.0},"43":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":2.23606797749979},"57":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":2.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"67":{"tf":1.7320508075688772},"68":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.4142135623730951},"73":{"tf":1.0},"81":{"tf":1.0},"84":{"tf":1.7320508075688772},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"91":{"tf":1.0}}}}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"79":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"s":{"df":4,"docs":{"101":{"tf":1.0},"126":{"tf":1.0},"58":{"tf":1.0},"65":{"tf":1.0}}}}},"c":{"d":{".":{"b":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"120":{"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":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"_":{"c":{"c":{"d":{"(":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"120":{"tf":1.0}}}}},"df":0,"docs":{}}},"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":{},"i":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}}}},"df":10,"docs":{"120":{"tf":1.0},"121":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"141":{"tf":1.0},"51":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.0},"55":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":10,"docs":{"100":{"tf":1.7320508075688772},"101":{"tf":1.0},"119":{"tf":1.7320508075688772},"126":{"tf":1.7320508075688772},"131":{"tf":3.605551275463989},"27":{"tf":2.449489742783178},"62":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772},"67":{"tf":1.7320508075688772},"87":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"126":{"tf":1.4142135623730951},"67":{"tf":3.605551275463989},"87":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"'":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"136":{"tf":2.0},"29":{"tf":1.0},"85":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"45":{"tf":1.4142135623730951},"5":{"tf":1.0},"52":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":16,"docs":{"115":{"tf":1.0},"124":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"49":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"79":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"j":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"2":{"tf":1.0}}}}},"df":0,"docs":{}}}},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":9,"docs":{"107":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.0},"48":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.7320508075688772},"88":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":14,"docs":{"11":{"tf":1.0},"114":{"tf":1.0},"16":{"tf":1.4142135623730951},"29":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.7320508075688772},"41":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"6":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951}}}}}}},"n":{"df":0,"docs":{},"g":{"df":22,"docs":{"106":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"120":{"tf":1.0},"124":{"tf":1.0},"130":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.7320508075688772},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"101":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"2":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"4":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"96":{"tf":1.4142135623730951},"97":{"tf":1.0},"98":{"tf":1.0}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"20":{"tf":1.4142135623730951},"32":{"tf":1.0},"5":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"16":{"tf":1.0},"45":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":11,"docs":{"118":{"tf":1.0},"120":{"tf":1.7320508075688772},"121":{"tf":1.0},"131":{"tf":1.0},"134":{"tf":1.0},"136":{"tf":1.0},"139":{"tf":1.0},"29":{"tf":1.0},"67":{"tf":2.23606797749979},"75":{"tf":1.0},"87":{"tf":2.0}}}},"df":0,"docs":{},"n":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"41":{"tf":1.0}},"f":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":4,"docs":{"1":{"tf":1.0},"142":{"tf":2.23606797749979},"2":{"tf":1.0},"3":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"i":{"c":{"df":7,"docs":{"113":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"16":{"tf":1.0},"28":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":6,"docs":{"113":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.0},"27":{"tf":1.0},"5":{"tf":1.0},"67":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"15":{"tf":1.0},"9":{"tf":1.0},"95":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"c":{"df":0,"docs":{},"l":{"df":2,"docs":{"101":{"tf":1.0},"5":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"74":{"tf":1.0},"82":{"tf":1.0}}}},"v":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"142":{"tf":3.4641016151377544}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"ϵ":{"df":0,"docs":{},"≥":{"0":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}},"≥":{"df":0,"docs":{},"ϵ":{".":{"df":0,"docs":{},"​":{"(":{"2":{".":{"3":{".":{"1":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"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":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"81":{"tf":1.4142135623730951},"92":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"16":{"tf":1.0}},"i":{"c":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"4":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"23":{"tf":1.0},"42":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"114":{"tf":1.0},"52":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"21":{"tf":1.0}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"126":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":15,"docs":{"10":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":1.0},"121":{"tf":1.0},"22":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0},"91":{"tf":1.0}},"r":{"df":4,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"49":{"tf":1.0},"95":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":14,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.7320508075688772},"127":{"tf":1.0},"134":{"tf":1.0},"140":{"tf":1.0},"22":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"df":7,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"45":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{},"u":{"df":1,"docs":{"2":{"tf":1.0}}}},"o":{"/":{"b":{"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":7,"docs":{"116":{"tf":1.0},"125":{"tf":2.0},"131":{"tf":1.0},"142":{"tf":1.0},"25":{"tf":1.0},"82":{"tf":2.0},"85":{"tf":1.0}},"{":{"1":{"df":1,"docs":{"87":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"w":{")":{"=":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"v":{")":{"df":0,"docs":{},"−":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"w":{"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":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"45":{"tf":2.449489742783178}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"101":{"tf":1.0},"118":{"tf":1.0},"142":{"tf":1.0},"66":{"tf":1.0}}}}}}}}}}},"df":3,"docs":{"1":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":14,"docs":{"101":{"tf":1.4142135623730951},"102":{"tf":1.0},"117":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.0},"131":{"tf":1.4142135623730951},"134":{"tf":1.4142135623730951},"17":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":2.0},"87":{"tf":2.0}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"86":{"tf":5.0990195135927845}},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":1,"docs":{"71":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"117":{"tf":2.23606797749979},"65":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"d":{"df":7,"docs":{"101":{"tf":1.4142135623730951},"114":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"16":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":16,"docs":{"113":{"tf":1.0},"120":{"tf":1.7320508075688772},"135":{"tf":2.23606797749979},"136":{"tf":1.4142135623730951},"137":{"tf":1.7320508075688772},"138":{"tf":1.7320508075688772},"139":{"tf":2.23606797749979},"16":{"tf":1.4142135623730951},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"n":{"df":7,"docs":{"26":{"tf":1.7320508075688772},"32":{"tf":1.0},"34":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"6":{"tf":1.0},"91":{"tf":1.0}}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}},"df":10,"docs":{"103":{"tf":1.0},"122":{"tf":1.0},"134":{"tf":1.0},"16":{"tf":1.4142135623730951},"5":{"tf":1.0},"54":{"tf":1.0},"6":{"tf":1.0},"80":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":6,"docs":{"112":{"tf":1.0},"123":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"81":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"113":{"tf":1.0},"128":{"tf":1.0},"14":{"tf":1.4142135623730951},"32":{"tf":1.0},"79":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":7,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.4142135623730951},"79":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.0},"2":{"tf":1.0}}},"t":{"df":1,"docs":{"80":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0}}},"t":{"df":1,"docs":{"56":{"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":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"16":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951},"50":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":3,"docs":{"103":{"tf":1.0},"114":{"tf":1.0},"24":{"tf":1.0}}},"x":{"<":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"131":{"tf":3.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":20,"docs":{"100":{"tf":1.0},"112":{"tf":1.0},"14":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"22":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"37":{"tf":1.0},"4":{"tf":1.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"5":{"tf":2.0},"6":{"tf":1.0},"69":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"92":{"tf":1.4142135623730951}}}},"i":{"c":{"df":4,"docs":{"101":{"tf":1.0},"11":{"tf":1.0},"118":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"120":{"tf":1.0},"123":{"tf":1.0},"132":{"tf":1.0},"26":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"6":{"tf":1.4142135623730951},"63":{"tf":1.0},"70":{"tf":1.0},"82":{"tf":1.0},"92":{"tf":1.0}}},"s":{"df":1,"docs":{"22":{"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":2,"docs":{"4":{"tf":1.0},"5":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":14,"docs":{"117":{"tf":1.0},"120":{"tf":1.0},"126":{"tf":2.0},"28":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":2.8284271247461903},"68":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.4142135623730951},"83":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"15":{"tf":1.0},"30":{"tf":1.0},"56":{"tf":1.0},"75":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"114":{"tf":1.0},"135":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.0}}}}}}},"df":59,"docs":{"101":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"109":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"120":{"tf":2.23606797749979},"121":{"tf":1.4142135623730951},"123":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"131":{"tf":2.23606797749979},"139":{"tf":1.7320508075688772},"141":{"tf":1.7320508075688772},"142":{"tf":1.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"35":{"tf":1.0},"41":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"5":{"tf":1.7320508075688772},"50":{"tf":2.0},"53":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772},"67":{"tf":2.0},"7":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":2.449489742783178},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":2.6457513110645907},"80":{"tf":2.449489742783178},"81":{"tf":1.0},"82":{"tf":3.1622776601683795},"83":{"tf":1.7320508075688772},"84":{"tf":1.0},"86":{"tf":2.6457513110645907},"88":{"tf":1.0},"92":{"tf":1.7320508075688772}},"e":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"_":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"m":{"b":{"d":{"a":{"(":{"df":0,"docs":{},"x":{"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":{}}}}}},"n":{"c":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"t":{"df":16,"docs":{"116":{"tf":1.0},"127":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.0},"27":{"tf":1.0},"31":{"tf":1.0},"4":{"tf":1.4142135623730951},"41":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.4142135623730951},"51":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.0},"83":{"tf":1.0}},"u":{"df":3,"docs":{"75":{"tf":1.0},"79":{"tf":1.0},"95":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"34":{"tf":1.0},"41":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"45":{"tf":1.0},"6":{"tf":1.0},"74":{"tf":1.0},"98":{"tf":1.0}}}},"l":{"df":0,"docs":{},"u":{"d":{"df":3,"docs":{"23":{"tf":1.0},"54":{"tf":1.0},"75":{"tf":1.0}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":52,"docs":{"100":{"tf":2.23606797749979},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.7320508075688772},"105":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.0},"110":{"tf":1.7320508075688772},"111":{"tf":1.4142135623730951},"112":{"tf":2.0},"115":{"tf":1.4142135623730951},"12":{"tf":1.0},"123":{"tf":1.0},"15":{"tf":2.6457513110645907},"16":{"tf":2.8284271247461903},"18":{"tf":1.4142135623730951},"29":{"tf":1.0},"31":{"tf":2.449489742783178},"32":{"tf":4.58257569495584},"33":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"35":{"tf":1.7320508075688772},"36":{"tf":1.4142135623730951},"37":{"tf":2.0},"38":{"tf":1.4142135623730951},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":2.449489742783178},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.0},"67":{"tf":1.7320508075688772},"68":{"tf":1.4142135623730951},"7":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"79":{"tf":1.0},"87":{"tf":1.0},"92":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.4142135623730951},"98":{"tf":2.0},"99":{"tf":3.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":1.0},"12":{"tf":1.0}}}}}}},"u":{"c":{"df":1,"docs":{"5":{"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":15,"docs":{"113":{"tf":1.0},"120":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":2.23606797749979},"54":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"82":{"tf":1.0}}}}},"n":{"df":2,"docs":{"10":{"tf":1.0},"95":{"tf":1.0}}},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"14":{"tf":1.0},"80":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"58":{"tf":1.0},"74":{"tf":1.0}}}}},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":14,"docs":{"103":{"tf":1.0},"105":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"12":{"tf":1.0},"25":{"tf":1.4142135623730951},"30":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":3.3166247903554},"53":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":10,"docs":{"132":{"tf":1.0},"140":{"tf":1.0},"22":{"tf":1.0},"33":{"tf":1.0},"38":{"tf":1.0},"48":{"tf":1.0},"55":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"9":{"tf":1.0}}}},"r":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":18,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"103":{"tf":1.0},"113":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"14":{"tf":2.0},"18":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.0},"89":{"tf":2.6457513110645907},"90":{"tf":2.6457513110645907},"91":{"tf":2.449489742783178},"92":{"tf":1.4142135623730951},"93":{"tf":2.0},"94":{"tf":1.4142135623730951},"97":{"tf":1.0},"99":{"tf":1.0}}}}},"i":{"d":{"df":30,"docs":{"101":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.4142135623730951},"114":{"tf":1.0},"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"131":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"38":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"6":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"9":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"27":{"tf":1.0},"29":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":20,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.0},"115":{"tf":1.0},"119":{"tf":1.7320508075688772},"125":{"tf":1.0},"130":{"tf":1.0},"14":{"tf":1.0},"142":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0},"37":{"tf":1.0},"57":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.7320508075688772},"77":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":18,"docs":{"10":{"tf":1.0},"107":{"tf":1.4142135623730951},"112":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"58":{"tf":1.7320508075688772},"63":{"tf":2.0},"7":{"tf":1.0},"70":{"tf":1.0},"82":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"51":{"tf":1.0},"79":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.0},"94":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":13,"docs":{"111":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0}},"t":{"df":27,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"111":{"tf":1.0},"15":{"tf":2.23606797749979},"16":{"tf":3.1622776601683795},"18":{"tf":2.23606797749979},"30":{"tf":1.0},"32":{"tf":2.6457513110645907},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.7320508075688772},"40":{"tf":1.4142135623730951},"41":{"tf":2.23606797749979},"42":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":1.7320508075688772},"55":{"tf":1.0},"57":{"tf":1.0},"65":{"tf":1.4142135623730951},"99":{"tf":1.0}}}}}},"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":9,"docs":{"25":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.7320508075688772},"49":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"a":{"c":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"[":{"df":0,"docs":{},"i":{"df":4,"docs":{"54":{"tf":1.7320508075688772},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"67":{"tf":1.7320508075688772}}},"x":{"df":0,"docs":{},"i":{"df":2,"docs":{"119":{"tf":1.7320508075688772},"125":{"tf":1.0}}}}},"df":4,"docs":{"54":{"tf":2.23606797749979},"62":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":62,"docs":{"1":{"tf":1.0},"100":{"tf":2.8284271247461903},"101":{"tf":4.123105625617661},"102":{"tf":2.0},"103":{"tf":1.7320508075688772},"109":{"tf":1.4142135623730951},"113":{"tf":3.0},"114":{"tf":3.0},"115":{"tf":2.23606797749979},"116":{"tf":2.449489742783178},"117":{"tf":2.23606797749979},"118":{"tf":2.0},"119":{"tf":2.23606797749979},"120":{"tf":2.6457513110645907},"121":{"tf":1.7320508075688772},"122":{"tf":2.449489742783178},"123":{"tf":3.1622776601683795},"124":{"tf":1.4142135623730951},"125":{"tf":2.0},"126":{"tf":2.6457513110645907},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":2.449489742783178},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":2.0},"141":{"tf":1.7320508075688772},"142":{"tf":1.7320508075688772},"16":{"tf":4.123105625617661},"17":{"tf":1.0},"18":{"tf":2.0},"30":{"tf":1.0},"31":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":3.4641016151377544},"49":{"tf":1.7320508075688772},"50":{"tf":1.7320508075688772},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.449489742783178},"55":{"tf":1.4142135623730951},"56":{"tf":2.0},"57":{"tf":3.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"61":{"tf":1.7320508075688772},"62":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":2.0},"99":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"106":{"tf":1.0},"114":{"tf":1.0},"124":{"tf":1.0},"32":{"tf":1.4142135623730951},"42":{"tf":1.0},"5":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"x":{"df":0,"docs":{},"t":{"df":9,"docs":{"104":{"tf":1.0},"109":{"tf":1.0},"138":{"tf":1.0},"16":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"83":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"11":{"tf":1.0}}},"u":{"df":34,"docs":{"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.4142135623730951},"108":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.4142135623730951},"118":{"tf":1.0},"120":{"tf":1.7320508075688772},"121":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":2.23606797749979},"135":{"tf":1.0},"138":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":2.0},"51":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"55":{"tf":1.7320508075688772},"6":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"89":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.7320508075688772},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":6,"docs":{"142":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"5":{"tf":1.0},"69":{"tf":2.449489742783178},"70":{"tf":2.6457513110645907},"72":{"tf":1.4142135623730951}}}}}}},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"105":{"tf":1.0},"11":{"tf":1.0},"5":{"tf":1.0},"90":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":2.0}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"1":{"tf":1.0},"2":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":12,"docs":{"103":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"5":{"tf":1.0},"50":{"tf":1.0},"67":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":12,"docs":{"119":{"tf":1.0},"121":{"tf":1.0},"126":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"40":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"75":{"tf":1.0},"91":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0}}},"t":{"df":3,"docs":{"16":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":22,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"105":{"tf":1.0},"11":{"tf":1.7320508075688772},"120":{"tf":1.0},"122":{"tf":1.0},"142":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.7320508075688772},"20":{"tf":2.8284271247461903},"21":{"tf":1.0},"22":{"tf":2.0},"23":{"tf":1.7320508075688772},"29":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":2.23606797749979},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"68":{"tf":1.0}}},"s":{"df":5,"docs":{"12":{"tf":1.0},"20":{"tf":1.0},"34":{"tf":1.0},"66":{"tf":1.0},"71":{"tf":1.0}}},"t":{"df":2,"docs":{"51":{"tf":1.0},"9":{"tf":1.0}}}},"x":{"df":5,"docs":{"114":{"tf":1.0},"20":{"tf":2.23606797749979},"21":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951}}}}}},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":19,"docs":{"105":{"tf":2.0},"108":{"tf":1.0},"111":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.4142135623730951},"140":{"tf":1.0},"15":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.4142135623730951},"5":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"85":{"tf":1.0},"88":{"tf":1.0},"91":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":4,"docs":{"117":{"tf":1.0},"120":{"tf":1.4142135623730951},"142":{"tf":3.4641016151377544},"28":{"tf":1.0}}},"y":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"136":{"tf":1.0},"4":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"131":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"76":{"tf":1.7320508075688772},"77":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"48":{"tf":1.0},"51":{"tf":1.0}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":17,"docs":{"106":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"119":{"tf":1.0},"14":{"tf":1.4142135623730951},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"42":{"tf":1.4142135623730951},"5":{"tf":1.0},"74":{"tf":1.0},"77":{"tf":1.0},"82":{"tf":1.4142135623730951},"89":{"tf":1.0},"99":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"15":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"s":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"]":{")":{"*":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"v":{"]":{")":{"*":{"df":0,"docs":{},"v":{"df":0,"docs":{},"v":{".":{"df":0,"docs":{},"v":{"df":0,"docs":{},"v":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"t":{"df":6,"docs":{"113":{"tf":1.0},"121":{"tf":1.0},"21":{"tf":1.0},"26":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"b":{"df":5,"docs":{"102":{"tf":1.0},"17":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.4142135623730951},"60":{"tf":1.0}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"101":{"tf":1.0},"114":{"tf":1.7320508075688772},"123":{"tf":1.0},"7":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"126":{"tf":1.4142135623730951}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"140":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"103":{"tf":1.0},"114":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"109":{"tf":1.0},"115":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.0},"23":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}}},"p":{"[":{"df":0,"docs":{},"k":{"1":{"_":{",":{"df":0,"docs":{},"k":{"2":{"_":{",":{"df":0,"docs":{},"k":{"3":{"_":{"]":{"=":{"df":0,"docs":{},"{":{"df":0,"docs":{},"{":{"0":{"df":1,"docs":{"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":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"82":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"142":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":7,"docs":{"105":{"tf":1.0},"11":{"tf":1.0},"117":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"30":{"tf":1.0},"5":{"tf":1.0}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":3,"docs":{"22":{"tf":1.4142135623730951},"29":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"23":{"tf":1.0},"29":{"tf":1.0}}}}}}},"i":{"c":{"a":{"df":0,"docs":{},"l":{"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":1,"docs":{"87":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":10,"docs":{"131":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"21":{"tf":1.0},"30":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.4142135623730951},"78":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}}}},"u":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":21,"docs":{"11":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"31":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"79":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"g":{"df":1,"docs":{"5":{"tf":1.0}}},"r":{"df":1,"docs":{"28":{"tf":1.0}}}},"u":{"b":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"120":{"tf":1.0},"131":{"tf":2.0},"132":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"4":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":20,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":1.4142135623730951},"124":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"27":{"tf":1.0},"43":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"87":{"tf":1.0},"9":{"tf":1.7320508075688772}}}}}},"v":{"df":1,"docs":{"123":{"tf":1.0}}}}},"y":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"​":{"df":0,"docs":{},"​":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"e":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"e":{"df":0,"docs":{},"−":{"df":0,"docs":{},"i":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":0,"docs":{},"​":{"b":{"(":{"d":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"df":0,"docs":{},"e":{")":{",":{"d":{"^":{")":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"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":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"μ":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"f":{"0":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"h":{"^":{"df":0,"docs":{},"∥":{")":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"123":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"q":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"101":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{"3":{"df":2,"docs":{"45":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}}}},"d":{"(":{"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"df":0,"docs":{},"o":{"df":1,"docs":{"45":{"tf":1.0}}},"x":{"df":3,"docs":{"45":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"54":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"df":0,"docs":{},"o":{")":{",":{"df":0,"docs":{},"∇":{"d":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"n":{",":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"∇":{"2":{"d":{"(":{"df":0,"docs":{},"x":{")":{"=":{"0":{".":{"(":{"1":{"0":{".":{"1":{".":{"1":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{".":{"1":{".":{"1":{"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":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"y":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"y":{"0":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"∇":{"d":{"(":{"df":0,"docs":{},"x":{")":{"=":{"[":{"0":{"1":{"df":0,"docs":{},"​":{"]":{",":{"df":0,"docs":{},"∇":{"2":{"d":{"(":{"df":0,"docs":{},"x":{")":{"=":{"0":{".":{"(":{"8":{".":{"3":{".":{"1":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"x":{"df":0,"docs":{},"−":{"df":0,"docs":{},"o":{")":{",":{"df":0,"docs":{},"∇":{"d":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"o":{")":{"=":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"−":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"]":{",":{"df":0,"docs":{},"∇":{"2":{"d":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"o":{")":{"=":{"0":{"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":0,"docs":{}}},"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":{},"​":{",":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"2":{"df":0,"docs":{},"f":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"x":{"2":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"f":{"2":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"2":{"(":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"x":{"2":{"(":{"d":{"df":0,"docs":{},"p":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"2":{"_":{"0":{"0":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"1":{"1":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"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":{},"f":{"df":1,"docs":{"124":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"=":{"0":{"df":1,"docs":{"54":{"tf":1.0}}},"2":{"df":3,"docs":{"70":{"tf":1.0},"72":{"tf":1.0},"91":{"tf":1.0}}},"3":{"df":1,"docs":{"91":{"tf":1.0}}},"df":0,"docs":{}},"^":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"→":{"0":{"df":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}}}},"2":{"df":1,"docs":{"125":{"tf":1.4142135623730951}}},"a":{"_":{"df":0,"docs":{},"{":{"df":0,"docs":{},"j":{"df":0,"docs":{},"k":{"df":0,"docs":{},"}":{"(":{"\\":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":1,"docs":{"53":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"​":{")":{"2":{"df":0,"docs":{},"∂":{"2":{"b":{"df":0,"docs":{},"​":{"(":{"d":{"^":{"2":{",":{"d":{"^":{"2":{")":{"=":{"df":0,"docs":{},"κ":{"d":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"v":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"126":{"tf":1.0}}},"j":{"df":1,"docs":{"126":{"tf":1.0}}}}},"df":1,"docs":{"126":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":2,"docs":{"119":{"tf":4.123105625617661},"125":{"tf":2.23606797749979}}}}},"{":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":2,"docs":{"47":{"tf":1.4142135623730951},"49":{"tf":1.0}},"}":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"k":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"53":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.7320508075688772}}}}},"t":{"a":{"df":8,"docs":{"135":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}}},"b":{"c":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":2,"docs":{"117":{"tf":1.0},"67":{"tf":1.0}}}}}}},"s":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":2.23606797749979}},"e":{"d":{"[":{"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"67":{"tf":2.0}}}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"n":{"[":{"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"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":{}}}}}},"df":0,"docs":{}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.7320508075688772}}}},"df":1,"docs":{"67":{"tf":2.449489742783178}}}}}}},"df":0,"docs":{}},"v":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":2,"docs":{"117":{"tf":1.0},"67":{"tf":1.0}}}},"df":12,"docs":{"117":{"tf":1.0},"32":{"tf":1.0},"35":{"tf":2.23606797749979},"36":{"tf":2.449489742783178},"37":{"tf":2.0},"38":{"tf":3.3166247903554},"40":{"tf":2.0},"41":{"tf":1.0},"42":{"tf":3.0},"43":{"tf":2.23606797749979},"67":{"tf":4.47213595499958},"68":{"tf":1.0}}},"df":0,"docs":{}},"df":22,"docs":{"100":{"tf":1.0},"101":{"tf":2.449489742783178},"114":{"tf":1.4142135623730951},"119":{"tf":1.0},"125":{"tf":1.7320508075688772},"131":{"tf":1.7320508075688772},"139":{"tf":1.0},"15":{"tf":1.0},"26":{"tf":2.449489742783178},"32":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":3.4641016151377544},"57":{"tf":1.0},"62":{"tf":3.4641016151377544},"63":{"tf":2.0},"67":{"tf":3.872983346207417},"95":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.0}},"e":{"0":{"df":1,"docs":{"120":{"tf":3.0}}},"1":{"df":1,"docs":{"120":{"tf":3.0}}},"a":{"df":0,"docs":{},"l":{"df":7,"docs":{"106":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"76":{"tf":1.0},"90":{"tf":1.0}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"75":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":8,"docs":{"27":{"tf":1.0},"41":{"tf":2.0},"43":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":2.6457513110645907},"76":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"30":{"tf":1.0},"42":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":9,"docs":{"134":{"tf":1.0},"141":{"tf":1.0},"21":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"57":{"tf":1.0},"71":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":1,"docs":{"142":{"tf":1.0}},"e":{"df":0,"docs":{},"p":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"120":{"tf":1.0}}},"y":{"(":{"_":{"d":{"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"120":{"tf":1.0}}},"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"120":{"tf":1.0}}},"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"29":{"tf":1.0},"4":{"tf":1.0},"44":{"tf":1.0},"79":{"tf":1.0}}}}}},"f":{"df":16,"docs":{"117":{"tf":1.0},"118":{"tf":2.6457513110645907},"120":{"tf":1.4142135623730951},"125":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.7320508075688772},"27":{"tf":2.0},"28":{"tf":2.23606797749979},"29":{"tf":1.4142135623730951},"35":{"tf":2.23606797749979},"54":{"tf":2.0},"62":{"tf":2.0},"63":{"tf":2.8284271247461903},"67":{"tf":1.7320508075688772},"86":{"tf":3.605551275463989},"87":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":38,"docs":{"101":{"tf":1.7320508075688772},"102":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.0},"134":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":2.23606797749979},"48":{"tf":1.4142135623730951},"5":{"tf":2.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":2.0},"6":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.4142135623730951},"73":{"tf":1.0},"76":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"82":{"tf":2.0},"83":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.7320508075688772},"95":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"t":{"df":33,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.0},"115":{"tf":1.0},"134":{"tf":1.4142135623730951},"14":{"tf":1.0},"140":{"tf":1.7320508075688772},"16":{"tf":1.0},"20":{"tf":2.0},"21":{"tf":1.0},"22":{"tf":1.7320508075688772},"23":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":2.0},"59":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":2.449489742783178},"75":{"tf":1.0},"76":{"tf":1.0},"79":{"tf":1.4142135623730951},"89":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.7320508075688772}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"70":{"tf":1.0}}}}}}},"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"86":{"tf":2.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":31,"docs":{"100":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.0},"14":{"tf":1.0},"142":{"tf":1.7320508075688772},"20":{"tf":1.0},"29":{"tf":1.0},"4":{"tf":1.4142135623730951},"5":{"tf":2.0},"50":{"tf":1.0},"6":{"tf":2.0},"65":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":2.449489742783178},"71":{"tf":4.58257569495584},"72":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951},"74":{"tf":2.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":2.0},"78":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}},"df":5,"docs":{"120":{"tf":1.0},"131":{"tf":1.0},"82":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":19,"docs":{"101":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"14":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"82":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"12":{"tf":1.0}}}},"t":{"a":{"0":{"(":{"b":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"131":{"tf":3.0}}},"1":{"(":{"2":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"df":11,"docs":{"10":{"tf":1.0},"11":{"tf":2.0},"14":{"tf":1.0},"32":{"tf":1.7320508075688772},"33":{"tf":1.4142135623730951},"34":{"tf":3.0},"38":{"tf":1.0},"41":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"7":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"v":{"df":11,"docs":{"132":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"5":{"tf":1.0},"69":{"tf":1.0},"88":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"16":{"tf":1.0},"92":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":18,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"120":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"5":{"tf":1.4142135623730951},"51":{"tf":1.0},"65":{"tf":1.0},"7":{"tf":1.0},"74":{"tf":1.0},"80":{"tf":1.0},"83":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"58":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951}}}}},"t":{"df":24,"docs":{"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"114":{"tf":1.0},"119":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"129":{"tf":1.0},"130":{"tf":1.0},"27":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.4142135623730951},"75":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.4142135623730951},"85":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.0},"94":{"tf":1.0}}}},"s":{"df":2,"docs":{"41":{"tf":1.4142135623730951},"47":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":23,"docs":{"101":{"tf":2.0},"106":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.4142135623730951},"117":{"tf":1.0},"119":{"tf":1.0},"130":{"tf":1.0},"134":{"tf":1.0},"141":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.7320508075688772},"5":{"tf":2.0},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":3.1622776601683795},"75":{"tf":1.7320508075688772},"76":{"tf":2.23606797749979},"77":{"tf":2.0},"79":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":15,"docs":{"1":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.4142135623730951},"114":{"tf":1.0},"121":{"tf":1.0},"124":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"61":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"87":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"25":{"tf":1.0},"5":{"tf":1.4142135623730951},"67":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"78":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":55,"docs":{"10":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"105":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"115":{"tf":1.7320508075688772},"116":{"tf":1.0},"118":{"tf":2.0},"119":{"tf":2.449489742783178},"12":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":2.0},"127":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"14":{"tf":1.0},"142":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.0},"33":{"tf":1.0},"4":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.0},"58":{"tf":1.4142135623730951},"7":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"78":{"tf":2.23606797749979},"79":{"tf":2.23606797749979},"80":{"tf":2.23606797749979},"81":{"tf":1.7320508075688772},"82":{"tf":2.449489742783178},"83":{"tf":1.7320508075688772},"85":{"tf":2.449489742783178},"86":{"tf":1.7320508075688772},"88":{"tf":1.0},"89":{"tf":2.23606797749979},"9":{"tf":1.0},"92":{"tf":2.0},"93":{"tf":1.7320508075688772},"94":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}},"s":{"c":{"df":1,"docs":{"87":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"16":{"tf":1.7320508075688772},"21":{"tf":2.0},"22":{"tf":1.4142135623730951},"34":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":13,"docs":{"101":{"tf":1.0},"11":{"tf":1.0},"22":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.0},"5":{"tf":1.7320508075688772},"70":{"tf":1.7320508075688772},"71":{"tf":1.4142135623730951},"82":{"tf":1.0},"88":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.4142135623730951}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"69":{"tf":1.0},"72":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":16,"docs":{"11":{"tf":1.0},"113":{"tf":1.0},"142":{"tf":1.0},"16":{"tf":1.0},"26":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0}}}},"r":{"df":3,"docs":{"18":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"12":{"tf":1.0}}}}},"v":{"<":{"0":{"df":1,"docs":{"87":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"(":{"[":{"df":0,"docs":{},"p":{"2":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"p":{"3":{"1":{"df":1,"docs":{"87":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"x":{"2":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"3":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"4":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"]":{")":{"df":0,"docs":{},"≡":{"(":{"df":0,"docs":{},"x":{"2":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"df":0,"docs":{},"×":{"df":0,"docs":{},"x":{"3":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"x":{"4":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"=":{"0":{"(":{"2":{"3":{".":{"3":{".":{"1":{"df":1,"docs":{"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":{}}}}}},"df":0,"docs":{}},"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":{"2":{"1":{",":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"3":{"1":{",":{"2":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"2":{"1":{",":{"2":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"3":{"1":{",":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"=":{"0":{"(":{"1":{"5":{".":{"3":{".":{"2":{"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":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{"3":{"1":{"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":{},"f":{")":{">":{"0":{"df":2,"docs":{"76":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"≤":{"0":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":1,"docs":{"76":{"tf":1.0}}},"u":{")":{"=":{"1":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"−":{"1":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"v":{")":{"=":{"1":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"−":{"1":{"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":{},"x":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"∣":{"=":{"df":0,"docs":{},"∣":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"[":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{"]":{")":{"df":0,"docs":{},"∣":{"=":{"2":{"a":{"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":{}}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"126":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":15,"docs":{"104":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"123":{"tf":1.0},"130":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"55":{"tf":1.0},"70":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":13,"docs":{"120":{"tf":1.7320508075688772},"135":{"tf":2.23606797749979},"136":{"tf":1.0},"137":{"tf":1.7320508075688772},"138":{"tf":1.7320508075688772},"139":{"tf":2.0},"5":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"62":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":17,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"11":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.0},"139":{"tf":1.0},"16":{"tf":1.0},"26":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"60":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"87":{"tf":1.7320508075688772}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":6,"docs":{"116":{"tf":1.0},"121":{"tf":1.0},"35":{"tf":1.0},"4":{"tf":1.0},"43":{"tf":1.0},"84":{"tf":1.0}}}}}},"i":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"16":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"f":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"x":{"^":{"df":0,"docs":{},"t":{"df":1,"docs":{"86":{"tf":1.0}}}},"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"s":{"0":{"=":{"d":{"df":0,"docs":{},"f":{"d":{"df":0,"docs":{},"s":{"/":{".":{"df":0,"docs":{},"{":{"df":0,"docs":{},"u":{"1":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"=":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"[":{"d":{"df":0,"docs":{},"f":{"d":{"df":0,"docs":{},"s":{"0":{",":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"=":{"d":{"[":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"[":{"df":0,"docs":{},"f":{"]":{",":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"82":{"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":{}},"h":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":2,"docs":{"119":{"tf":3.605551275463989},"125":{"tf":2.0}}}}}},"df":6,"docs":{"119":{"tf":3.0},"125":{"tf":1.7320508075688772},"54":{"tf":3.4641016151377544},"62":{"tf":3.4641016151377544},"63":{"tf":2.0},"67":{"tf":3.3166247903554}}}},"df":0,"docs":{}},"i":{"a":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{")":{")":{"=":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{")":{"df":0,"docs":{},"i":{"df":1,"docs":{"81":{"tf":1.0}}}},"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":{"a":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"​":{"df":0,"docs":{},"f":{"df":1,"docs":{"81":{"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":{},"n":{"df":15,"docs":{"106":{"tf":1.0},"25":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"41":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"6":{"tf":1.0},"66":{"tf":1.4142135623730951},"75":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"81":{"tf":2.6457513110645907},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"95":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"115":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"86":{"tf":2.0}},"f":{"df":0,"docs":{},"f":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":3,"docs":{"26":{"tf":1.0},"27":{"tf":1.7320508075688772},"67":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":4,"docs":{"26":{"tf":1.0},"27":{"tf":2.23606797749979},"29":{"tf":1.0},"67":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":19,"docs":{"118":{"tf":1.0},"12":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.0},"140":{"tf":1.0},"18":{"tf":1.0},"26":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.7320508075688772},"53":{"tf":1.0},"58":{"tf":1.7320508075688772},"63":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.4142135623730951},"9":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":12,"docs":{"101":{"tf":1.0},"118":{"tf":1.4142135623730951},"121":{"tf":1.0},"124":{"tf":1.0},"4":{"tf":1.0},"7":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"92":{"tf":1.0}}}}}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"92":{"tf":1.0}},"i":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"82":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}}},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∗":{")":{"df":0,"docs":{},"≥":{"0":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":12,"docs":{"104":{"tf":1.0},"132":{"tf":1.0},"29":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0},"6":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.4142135623730951},"87":{"tf":1.0},"95":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":9,"docs":{"104":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"26":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":39,"docs":{"102":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":2.23606797749979},"121":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.0},"16":{"tf":1.7320508075688772},"21":{"tf":2.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"28":{"tf":1.4142135623730951},"30":{"tf":1.0},"32":{"tf":1.7320508075688772},"34":{"tf":2.0},"35":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":2.0},"63":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":2.0},"77":{"tf":1.0},"8":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":31,"docs":{"1":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"133":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0},"5":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.7320508075688772}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"29":{"tf":1.0}}}}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":24,"docs":{"100":{"tf":2.23606797749979},"103":{"tf":1.4142135623730951},"109":{"tf":1.0},"111":{"tf":2.0},"117":{"tf":1.7320508075688772},"15":{"tf":2.0},"31":{"tf":2.0},"32":{"tf":2.23606797749979},"33":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"35":{"tf":2.449489742783178},"36":{"tf":1.4142135623730951},"37":{"tf":2.0},"38":{"tf":1.4142135623730951},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"49":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":2.0},"98":{"tf":1.0},"99":{"tf":3.3166247903554}}}}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":5,"docs":{"101":{"tf":1.4142135623730951},"114":{"tf":1.0},"48":{"tf":1.0},"57":{"tf":1.0},"92":{"tf":1.0}}}}}}},"v":{"df":1,"docs":{"22":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"23":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":52,"docs":{"10":{"tf":1.4142135623730951},"101":{"tf":1.0},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"11":{"tf":1.0},"112":{"tf":2.0},"113":{"tf":1.7320508075688772},"114":{"tf":2.23606797749979},"115":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":3.3166247903554},"124":{"tf":1.4142135623730951},"127":{"tf":1.7320508075688772},"128":{"tf":1.4142135623730951},"132":{"tf":1.0},"134":{"tf":1.4142135623730951},"25":{"tf":2.0},"4":{"tf":2.23606797749979},"5":{"tf":2.23606797749979},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"58":{"tf":2.6457513110645907},"6":{"tf":1.7320508075688772},"60":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"7":{"tf":1.7320508075688772},"71":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"8":{"tf":1.0},"84":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"tf":2.0},"9":{"tf":1.7320508075688772},"90":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"93":{"tf":1.7320508075688772},"94":{"tf":2.23606797749979},"95":{"tf":2.8284271247461903},"96":{"tf":2.449489742783178},"97":{"tf":2.6457513110645907},"99":{"tf":1.7320508075688772}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":30,"docs":{"101":{"tf":1.0},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.4142135623730951},"114":{"tf":1.0},"115":{"tf":1.0},"125":{"tf":1.0},"138":{"tf":1.0},"141":{"tf":1.0},"18":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"4":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"55":{"tf":1.0},"69":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.4142135623730951},"97":{"tf":1.0},"99":{"tf":1.0}}}}}},"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"104":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":13,"docs":{"100":{"tf":1.0},"105":{"tf":2.0},"108":{"tf":1.0},"111":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"6":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"99":{"tf":1.7320508075688772}}},"df":0,"docs":{},"y":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":3,"docs":{"102":{"tf":1.0},"17":{"tf":1.0},"57":{"tf":1.0}}}}},"t":{"2":{"_":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"120":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"n":{"c":{"df":35,"docs":{"101":{"tf":3.3166247903554},"113":{"tf":1.0},"114":{"tf":2.23606797749979},"118":{"tf":4.0},"119":{"tf":1.7320508075688772},"120":{"tf":2.449489742783178},"121":{"tf":1.4142135623730951},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":4.0},"138":{"tf":1.0},"139":{"tf":1.4142135623730951},"141":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"22":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.7320508075688772},"45":{"tf":4.898979485566356},"46":{"tf":2.0},"47":{"tf":2.0},"48":{"tf":3.0},"49":{"tf":1.4142135623730951},"5":{"tf":1.0},"50":{"tf":2.23606797749979},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"55":{"tf":2.0},"57":{"tf":1.0},"62":{"tf":2.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"120":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":8,"docs":{"106":{"tf":1.0},"112":{"tf":1.0},"130":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.0}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":6,"docs":{"101":{"tf":1.0},"11":{"tf":1.0},"20":{"tf":1.0},"91":{"tf":1.7320508075688772},"92":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951}}}}},"i":{"d":{"df":6,"docs":{"119":{"tf":1.7320508075688772},"125":{"tf":1.0},"5":{"tf":1.0},"62":{"tf":1.0},"85":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"58":{"tf":1.0},"82":{"tf":1.7320508075688772}}}}}},"j":{"df":1,"docs":{"86":{"tf":2.0}},"k":{"df":0,"docs":{},"​":{"(":{"(":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"β":{")":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"+":{"df":0,"docs":{},"β":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"+":{"1":{")":{">":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"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":{},"α":{"df":0,"docs":{},"p":{")":{">":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"+":{"df":0,"docs":{},"β":{"df":0,"docs":{},"p":{")":{"df":0,"docs":{},"≥":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"k":{"df":1,"docs":{"126":{"tf":1.0}},"​":{"df":0,"docs":{},"∂":{"b":{"df":0,"docs":{},"​":{"<":{"0":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"n":{"df":5,"docs":{"15":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"41":{"tf":1.7320508075688772},"6":{"tf":1.0}},"×":{"d":{"df":0,"docs":{},"n":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":1,"docs":{"67":{"tf":1.0}},"f":{"df":25,"docs":{"101":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.7320508075688772},"34":{"tf":3.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":2.0},"41":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":3.1622776601683795},"68":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.7320508075688772}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":24,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":2.6457513110645907},"106":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.4142135623730951},"128":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"20":{"tf":1.0},"5":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.7320508075688772},"76":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"85":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":4,"docs":{"14":{"tf":1.0},"27":{"tf":1.0},"67":{"tf":1.0},"81":{"tf":1.0}}}},"t":{"df":5,"docs":{"5":{"tf":1.0},"63":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0}}},"u":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"123":{"tf":1.0},"131":{"tf":2.449489742783178},"66":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":7,"docs":{"120":{"tf":1.4142135623730951},"16":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"p":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"f":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"86":{"tf":1.0}}}}},"df":1,"docs":{"86":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"f":{"=":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"[":{"d":{"df":0,"docs":{},"p":{"d":{"df":0,"docs":{},"s":{"1":{".":{"d":{"df":0,"docs":{},"s":{"d":{"df":0,"docs":{},"f":{"0":{"df":1,"docs":{"82":{"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":{}},"s":{"0":{"=":{"d":{"df":0,"docs":{},"p":{"d":{"df":0,"docs":{},"s":{"/":{".":{"df":0,"docs":{},"{":{"df":0,"docs":{},"u":{"1":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"=":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"[":{"d":{"df":0,"docs":{},"p":{"d":{"df":0,"docs":{},"s":{"0":{",":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"=":{"d":{"[":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"[":{"df":0,"docs":{},"p":{"]":{",":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"82":{"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":{"120":{"tf":2.8284271247461903}},"e":{"(":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"a":{"^":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"e":{")":{"<":{"d":{"df":1,"docs":{"124":{"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":{},"x":{")":{",":{"df":1,"docs":{"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"o":{"(":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"df":0,"docs":{},"o":{")":{"=":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"o":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":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":{"113":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":1,"docs":{"86":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"(":{"df":1,"docs":{"86":{"tf":1.0}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"x":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"_":{"0":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"x":{"_":{"2":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"134":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"34":{"tf":1.0}}},"w":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"29":{"tf":1.0},"62":{"tf":1.0},"85":{"tf":1.4142135623730951}},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"df":8,"docs":{"120":{"tf":1.0},"126":{"tf":1.0},"54":{"tf":2.6457513110645907},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"67":{"tf":1.4142135623730951},"87":{"tf":1.0}}}}},"s":{"d":{"df":0,"docs":{},"f":{"0":{"=":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"[":{"d":{"df":0,"docs":{},"f":{"d":{"df":0,"docs":{},"s":{"1":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"p":{",":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"118":{"tf":1.0}},"​":{")":{"=":{"df":0,"docs":{},"⎩":{"df":0,"docs":{},"⎨":{"df":0,"docs":{},"⎧":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"p":{"df":0,"docs":{},"−":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"2":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"118":{"tf":1.0}}}}},"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":{"a":{"^":{"df":0,"docs":{},"​":{",":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"t":{"d":{"df":0,"docs":{},"x":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"d":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"v":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"v":{",":{"=":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"​":{"(":{"1":{".":{"2":{".":{"1":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":2.23606797749979},"49":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":19,"docs":{"101":{"tf":1.0},"106":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"12":{"tf":1.0},"135":{"tf":1.0},"14":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"87":{"tf":1.0},"92":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":20,"docs":{"100":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"41":{"tf":1.0},"58":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"71":{"tf":1.0},"76":{"tf":1.0},"87":{"tf":1.4142135623730951},"92":{"tf":1.0}}}}},"x":{".":{"df":0,"docs":{},"​":{"(":{"1":{"9":{".":{"3":{".":{"1":{"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":{}}},"=":{"df":0,"docs":{},"e":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"a":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ψ":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"i":{"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":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"a":{"^":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{")":{"df":0,"docs":{},"i":{"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":{}}},"df":0,"docs":{}},"∂":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ψ":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"i":{"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":{}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":21,"docs":{"122":{"tf":1.0},"127":{"tf":1.0},"142":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"31":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"57":{"tf":1.7320508075688772},"6":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.4142135623730951},"76":{"tf":1.0},"83":{"tf":1.0},"91":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{}}},"}":{"(":{"d":{"_":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"×":{"d":{"df":3,"docs":{"42":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"≥":{"d":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{")":{"=":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"+":{"df":0,"docs":{},"h":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"m":{"2":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"h":{"2":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{")":{".":{"(":{"4":{".":{"1":{".":{"1":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"j":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"e":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"j":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"df":0,"docs":{},"j":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"​":{"=":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"x":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{")":{"=":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"~":{"df":0,"docs":{},"n":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"m":{"2":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"2":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{")":{".":{"df":0,"docs":{},"​":{"(":{"2":{".":{"1":{".":{"1":{"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":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"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":{},"t":{"df":0,"docs":{},"λ":{"=":{"0":{"a":{"df":0,"docs":{},"x":{"=":{"b":{"df":0,"docs":{},"​":{"(":{"2":{".":{"2":{".":{"2":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"−":{"df":0,"docs":{},"k":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"0":{",":{"a":{"df":0,"docs":{},"x":{"=":{"b":{",":{"df":0,"docs":{},"∀":{"df":0,"docs":{},"k":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"21":{"tf":3.3166247903554},"22":{"tf":2.6457513110645907}}}},"df":4,"docs":{"14":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0},"59":{"tf":1.0}},"′":{")":{"+":{"df":0,"docs":{},"h":{"2":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"d":{"^":{"df":0,"docs":{},"∂":{"d":{"df":0,"docs":{},"∂":{"b":{"df":0,"docs":{},"​":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"′":{")":{")":{"df":0,"docs":{},"∇":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"′":{")":{"=":{"0":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"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":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"′":{")":{")":{"=":{"0":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"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":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"′":{")":{"=":{"0":{",":{"(":{"7":{".":{"3":{".":{"2":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"j":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"′":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"′":{")":{"=":{"0":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"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":{},"j":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∗":{")":{"=":{"0":{",":{"df":0,"docs":{},"∀":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{"2":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"v":{"1":{"df":1,"docs":{"82":{"tf":2.0}}},"2":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"[":{"(":{"df":0,"docs":{},"i":{"df":2,"docs":{"25":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":2,"docs":{"25":{"tf":1.7320508075688772},"85":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":6,"docs":{"120":{"tf":1.4142135623730951},"131":{"tf":1.0},"136":{"tf":1.0},"14":{"tf":1.0},"54":{"tf":1.0},"87":{"tf":1.0}}}},"0":{"[":{"0":{"df":1,"docs":{"118":{"tf":2.23606797749979}}},"1":{"df":1,"docs":{"118":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":6,"docs":{"106":{"tf":1.0},"118":{"tf":3.605551275463989},"120":{"tf":2.8284271247461903},"124":{"tf":1.0},"125":{"tf":2.23606797749979},"130":{"tf":1.0}},"​":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"∩":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"n":{"df":1,"docs":{"112":{"tf":1.0}}}}}}},"1":{"[":{"0":{"df":1,"docs":{"118":{"tf":2.23606797749979}}},"1":{"df":1,"docs":{"118":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":5,"docs":{"118":{"tf":3.3166247903554},"120":{"tf":2.8284271247461903},"124":{"tf":1.0},"125":{"tf":2.0},"134":{"tf":1.7320508075688772}},"​":{"'":{"df":1,"docs":{"134":{"tf":1.0}}},",":{"df":1,"docs":{"134":{"tf":1.0}}},"<":{"df":1,"docs":{"134":{"tf":1.0}}},"df":0,"docs":{},"−":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"⋅":{"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"−":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{")":{"<":{"0":{",":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"p":{"df":0,"docs":{},"−":{"df":0,"docs":{},"e":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"2":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"118":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"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":1,"docs":{"118":{"tf":1.0}}},"1":{"df":1,"docs":{"118":{"tf":1.0}}},"df":0,"docs":{},"i":{"]":{"[":{"(":{"df":0,"docs":{},"j":{"df":1,"docs":{"117":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"27":{"tf":1.0}}},"j":{"df":1,"docs":{"27":{"tf":1.0}}}},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"86":{"tf":1.0}}},"j":{"df":1,"docs":{"86":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"86":{"tf":1.7320508075688772}}}},"_":{"df":0,"docs":{},"i":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"26":{"tf":1.7320508075688772}}}},"df":1,"docs":{"22":{"tf":1.0}}},"j":{"df":1,"docs":{"22":{"tf":1.0}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"28":{"tf":1.7320508075688772},"54":{"tf":1.0},"67":{"tf":1.0}}}}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"h":{"df":67,"docs":{"10":{"tf":1.0},"100":{"tf":1.0},"101":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"112":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":2.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"136":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"29":{"tf":2.6457513110645907},"30":{"tf":1.0},"32":{"tf":2.449489742783178},"4":{"tf":1.0},"42":{"tf":1.4142135623730951},"45":{"tf":1.0},"48":{"tf":1.4142135623730951},"5":{"tf":2.449489742783178},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":1.0},"6":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.23606797749979},"67":{"tf":2.23606797749979},"69":{"tf":1.0},"7":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.7320508075688772},"75":{"tf":1.0},"76":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.4142135623730951},"85":{"tf":2.0},"88":{"tf":2.0},"90":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"4":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"107":{"tf":1.0},"120":{"tf":1.0},"52":{"tf":1.0},"63":{"tf":1.0},"76":{"tf":1.0},"82":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"'":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"df":4,"docs":{"106":{"tf":1.0},"5":{"tf":1.0},"76":{"tf":1.0},"82":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"74":{"tf":1.0},"77":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.0},"41":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"g":{"df":27,"docs":{"108":{"tf":1.0},"112":{"tf":2.23606797749979},"113":{"tf":1.4142135623730951},"114":{"tf":3.0},"117":{"tf":2.8284271247461903},"118":{"tf":3.0},"119":{"tf":2.449489742783178},"120":{"tf":3.605551275463989},"121":{"tf":2.0},"123":{"tf":2.23606797749979},"124":{"tf":2.449489742783178},"125":{"tf":2.449489742783178},"126":{"tf":1.0},"127":{"tf":1.7320508075688772},"133":{"tf":2.23606797749979},"134":{"tf":4.123105625617661},"138":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"141":{"tf":2.23606797749979},"25":{"tf":2.449489742783178},"27":{"tf":2.8284271247461903},"29":{"tf":1.7320508075688772},"5":{"tf":2.0},"56":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"71":{"tf":1.0},"85":{"tf":1.7320508075688772}},"e":{"'":{"df":1,"docs":{"121":{"tf":1.0}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"a":{"d":{"d":{"(":{"(":{"df":0,"docs":{},"e":{"[":{"df":0,"docs":{},"i":{"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"117":{"tf":1.0}}}},"df":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":{"117":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":23,"docs":{"106":{"tf":2.0},"107":{"tf":1.7320508075688772},"112":{"tf":1.7320508075688772},"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"117":{"tf":1.7320508075688772},"118":{"tf":3.3166247903554},"123":{"tf":1.0},"125":{"tf":1.4142135623730951},"130":{"tf":1.7320508075688772},"25":{"tf":1.4142135623730951},"27":{"tf":2.0},"28":{"tf":3.872983346207417},"29":{"tf":2.0},"35":{"tf":2.6457513110645907},"54":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.7320508075688772},"74":{"tf":1.0},"82":{"tf":2.0},"85":{"tf":2.23606797749979},"86":{"tf":1.7320508075688772},"87":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":26,"docs":{"10":{"tf":1.0},"111":{"tf":1.0},"137":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":2.23606797749979},"17":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.7320508075688772},"5":{"tf":1.7320508075688772},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"55":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.7320508075688772},"74":{"tf":1.0},"85":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":25,"docs":{"121":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.7320508075688772},"23":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"36":{"tf":1.4142135623730951},"38":{"tf":1.0},"41":{"tf":1.7320508075688772},"42":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.7320508075688772},"50":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"6":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"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":{"4":{"tf":1.0}}}}}}}}}}}},"t":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"i":{"0":{"df":1,"docs":{"126":{"tf":2.0}}},"1":{"df":1,"docs":{"126":{"tf":2.0}}},"[":{"0":{"df":4,"docs":{"117":{"tf":1.0},"119":{"tf":2.0},"120":{"tf":1.0},"125":{"tf":1.4142135623730951}}},"1":{"df":4,"docs":{"117":{"tf":1.4142135623730951},"119":{"tf":2.0},"120":{"tf":1.0},"125":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":5,"docs":{"117":{"tf":1.0},"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"125":{"tf":1.0},"29":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"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":{"22":{"tf":2.449489742783178}}}}}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"27":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":3,"docs":{"22":{"tf":1.7320508075688772},"23":{"tf":1.0},"27":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"92":{"tf":1.0}}}}}}}}},"l":{"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"101":{"tf":1.0},"24":{"tf":1.0},"4":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":47,"docs":{"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":3.0},"108":{"tf":1.7320508075688772},"116":{"tf":1.4142135623730951},"119":{"tf":2.0},"125":{"tf":1.0},"128":{"tf":1.0},"131":{"tf":2.0},"132":{"tf":1.0},"14":{"tf":2.8284271247461903},"142":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.7320508075688772},"22":{"tf":1.0},"27":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"48":{"tf":1.7320508075688772},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":2.6457513110645907},"68":{"tf":1.4142135623730951},"69":{"tf":2.0},"71":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"73":{"tf":2.0},"74":{"tf":4.123105625617661},"75":{"tf":1.7320508075688772},"76":{"tf":2.8284271247461903},"77":{"tf":3.0},"78":{"tf":1.0},"79":{"tf":2.0},"81":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":2.449489742783178},"85":{"tf":1.0},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.4142135623730951},"91":{"tf":1.0},"96":{"tf":1.0}},"o":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":10,"docs":{"116":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.7320508075688772},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"24":{"tf":1.0},"29":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"105":{"tf":1.0}}},"df":36,"docs":{"103":{"tf":1.0},"104":{"tf":2.449489742783178},"105":{"tf":3.0},"106":{"tf":1.7320508075688772},"107":{"tf":1.4142135623730951},"108":{"tf":1.7320508075688772},"109":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.4142135623730951},"116":{"tf":1.0},"117":{"tf":2.449489742783178},"12":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":2.0},"142":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"20":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"4":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":2.0},"67":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":2.8284271247461903},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"f":{"df":2,"docs":{"118":{"tf":1.4142135623730951},"125":{"tf":1.0}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":17,"docs":{"136":{"tf":1.0},"23":{"tf":1.0},"33":{"tf":1.7320508075688772},"34":{"tf":2.449489742783178},"35":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":2.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"68":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"45":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"29":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}},"u":{"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"m":{"b":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":3,"docs":{"29":{"tf":1.0},"5":{"tf":1.0},"74":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"7":{"tf":1.0}},"i":{"df":1,"docs":{"5":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":15,"docs":{"139":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"55":{"tf":1.0},"79":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0}}}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":9,"docs":{"101":{"tf":1.0},"14":{"tf":1.0},"141":{"tf":1.0},"20":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"30":{"tf":1.4142135623730951},"45":{"tf":1.0}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"28":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0}}}}}}},"d":{"df":7,"docs":{"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"134":{"tf":1.4142135623730951},"35":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0},"84":{"tf":1.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}}}}}},"{":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"59":{"tf":2.0}}}}},"p":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"142":{"tf":1.0},"35":{"tf":1.0}}}},"i":{"df":59,"docs":{"10":{"tf":1.0},"101":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":3.0},"121":{"tf":1.4142135623730951},"122":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":2.6457513110645907},"128":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"134":{"tf":1.4142135623730951},"139":{"tf":1.0},"14":{"tf":2.6457513110645907},"141":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"20":{"tf":2.6457513110645907},"21":{"tf":3.1622776601683795},"22":{"tf":2.449489742783178},"23":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"27":{"tf":3.3166247903554},"29":{"tf":1.0},"30":{"tf":1.4142135623730951},"35":{"tf":1.7320508075688772},"48":{"tf":2.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":2.23606797749979},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"67":{"tf":2.8284271247461903},"68":{"tf":1.7320508075688772},"72":{"tf":1.0},"73":{"tf":2.6457513110645907},"74":{"tf":3.605551275463989},"75":{"tf":2.0},"76":{"tf":3.3166247903554},"77":{"tf":2.449489742783178},"78":{"tf":1.4142135623730951},"79":{"tf":2.0},"80":{"tf":1.0},"83":{"tf":1.0},"86":{"tf":3.0},"88":{"tf":1.0},"99":{"tf":1.0}}}}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"c":{"df":14,"docs":{"100":{"tf":1.7320508075688772},"101":{"tf":1.0},"103":{"tf":1.0},"111":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":2.23606797749979},"55":{"tf":1.0},"67":{"tf":1.0},"77":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}}},"g":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"29":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"69":{"tf":1.0},"79":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"c":{"df":11,"docs":{"132":{"tf":1.0},"17":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"34":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0},"60":{"tf":1.0},"67":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":4,"docs":{"5":{"tf":1.0},"52":{"tf":1.0},"67":{"tf":1.0},"92":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":35,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.7320508075688772},"11":{"tf":1.0},"131":{"tf":1.4142135623730951},"134":{"tf":1.0},"136":{"tf":1.0},"16":{"tf":2.0},"18":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"36":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"88":{"tf":1.4142135623730951},"99":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"132":{"tf":1.0},"34":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"67":{"tf":1.0}}}},"i":{"df":0,"docs":{},"r":{"df":11,"docs":{"105":{"tf":1.0},"123":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.0},"86":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"69":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":10,"docs":{"106":{"tf":1.0},"108":{"tf":1.0},"130":{"tf":1.0},"26":{"tf":2.0},"33":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"42":{"tf":1.0},"66":{"tf":1.0},"79":{"tf":1.0},"81":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"16":{"tf":2.23606797749979},"48":{"tf":1.0},"87":{"tf":1.0}}}}}},"v":{"df":2,"docs":{"126":{"tf":2.0},"63":{"tf":4.123105625617661}},"h":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":18,"docs":{"103":{"tf":1.0},"15":{"tf":2.23606797749979},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"21":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":2.23606797749979},"36":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.0},"71":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.0}}},"t":{"df":62,"docs":{"101":{"tf":2.23606797749979},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":2.0},"107":{"tf":1.7320508075688772},"11":{"tf":2.0},"113":{"tf":2.0},"115":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.0},"123":{"tf":1.4142135623730951},"124":{"tf":1.0},"131":{"tf":3.0},"132":{"tf":1.0},"134":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"20":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951},"27":{"tf":1.0},"32":{"tf":2.23606797749979},"33":{"tf":2.8284271247461903},"34":{"tf":1.7320508075688772},"4":{"tf":1.0},"40":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":2.449489742783178},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.0},"58":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951},"63":{"tf":2.449489742783178},"67":{"tf":1.4142135623730951},"69":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.7320508075688772},"74":{"tf":2.449489742783178},"75":{"tf":1.4142135623730951},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"82":{"tf":1.0},"85":{"tf":1.4142135623730951},"87":{"tf":3.1622776601683795},"88":{"tf":1.7320508075688772},"89":{"tf":2.8284271247461903},"9":{"tf":1.4142135623730951},"90":{"tf":1.4142135623730951},"91":{"tf":2.23606797749979},"92":{"tf":2.23606797749979},"93":{"tf":1.4142135623730951},"94":{"tf":2.0},"95":{"tf":3.0},"96":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":2.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"—":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"93":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"89":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"63":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"v":{"a":{"df":0,"docs":{},"l":{"df":10,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"131":{"tf":1.0},"40":{"tf":1.0},"49":{"tf":1.0},"57":{"tf":1.0},"87":{"tf":1.4142135623730951},"89":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}}}},"df":1,"docs":{"59":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"103":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"49":{"tf":1.0},"57":{"tf":1.0},"66":{"tf":1.0},"87":{"tf":1.0}}}}}},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":9,"docs":{"120":{"tf":1.0},"133":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":19,"docs":{"100":{"tf":1.0},"139":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"83":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"93":{"tf":1.0}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":12,"docs":{"117":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"5":{"tf":2.0},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"91":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":8,"docs":{"11":{"tf":1.7320508075688772},"120":{"tf":2.0},"121":{"tf":1.0},"22":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.0},"73":{"tf":1.0},"9":{"tf":1.0}}}}}},"t":{"a":{"df":1,"docs":{"120":{"tf":1.7320508075688772}}},"c":{"df":3,"docs":{"14":{"tf":1.0},"58":{"tf":1.0},"76":{"tf":1.0}}},"df":11,"docs":{"114":{"tf":1.0},"120":{"tf":1.0},"134":{"tf":1.0},"142":{"tf":3.0},"41":{"tf":1.0},"5":{"tf":1.0},"58":{"tf":1.0},"76":{"tf":1.4142135623730951},"79":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.7320508075688772}}},"u":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"10":{"tf":3.1622776601683795},"104":{"tf":1.0},"11":{"tf":2.23606797749979},"12":{"tf":1.7320508075688772},"14":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":2.23606797749979},"35":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":2.23606797749979},"96":{"tf":1.4142135623730951},"97":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"90":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":13,"docs":{"112":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"20":{"tf":1.0},"28":{"tf":1.4142135623730951},"30":{"tf":1.0},"53":{"tf":1.0},"66":{"tf":1.0},"95":{"tf":1.7320508075688772},"96":{"tf":1.0},"99":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":16,"docs":{"102":{"tf":1.0},"11":{"tf":1.4142135623730951},"112":{"tf":1.0},"114":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"57":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":6,"docs":{"106":{"tf":1.0},"112":{"tf":1.0},"130":{"tf":1.0},"29":{"tf":1.0},"4":{"tf":1.0},"54":{"tf":1.0}}}},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"df":2,"docs":{"29":{"tf":1.0},"5":{"tf":1.0}},"u":{"df":3,"docs":{"10":{"tf":1.0},"29":{"tf":1.0},"9":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"y":{"d":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"5":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"103":{"tf":1.0}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"105":{"tf":1.4142135623730951},"114":{"tf":1.0},"118":{"tf":1.0},"121":{"tf":1.0},"134":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}}}}}},"i":{"d":{"df":2,"docs":{"40":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}},"v":{"df":3,"docs":{"69":{"tf":1.0},"7":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"53":{"tf":1.0},"54":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":9,"docs":{"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"113":{"tf":1.0},"126":{"tf":1.0},"32":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"87":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":10,"docs":{"109":{"tf":1.0},"112":{"tf":1.0},"127":{"tf":1.0},"136":{"tf":1.0},"23":{"tf":1.0},"37":{"tf":1.0},"51":{"tf":1.0},"7":{"tf":1.0},"73":{"tf":1.0},"93":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":37,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"120":{"tf":1.0},"126":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.4142135623730951},"32":{"tf":2.449489742783178},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"38":{"tf":1.7320508075688772},"41":{"tf":1.0},"42":{"tf":1.7320508075688772},"45":{"tf":2.0},"5":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":2.23606797749979},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"74":{"tf":1.4142135623730951},"76":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.4142135623730951},"85":{"tf":1.0},"87":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"20":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"34":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"l":{"df":2,"docs":{"12":{"tf":1.0},"5":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"t":{"df":5,"docs":{"123":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"63":{"tf":1.0},"76":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":3,"docs":{"16":{"tf":1.0},"27":{"tf":1.0},"75":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"24":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":8,"docs":{"10":{"tf":1.0},"116":{"tf":1.0},"122":{"tf":1.0},"125":{"tf":1.0},"16":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":1.0},"5":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":8,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"27":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.0},"74":{"tf":1.0},"83":{"tf":1.0},"91":{"tf":1.4142135623730951}}}}},"h":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"41":{"tf":1.0},"74":{"tf":1.0}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"104":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"21":{"tf":1.7320508075688772},"29":{"tf":1.0},"30":{"tf":1.0},"48":{"tf":1.0},"67":{"tf":1.0},"77":{"tf":1.0},"91":{"tf":1.4142135623730951}}}}},"p":{"a":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"131":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"16":{"tf":1.0},"18":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":6,"docs":{"114":{"tf":1.0},"121":{"tf":1.0},"22":{"tf":1.0},"50":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"105":{"tf":1.0},"29":{"tf":1.0},"74":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}}}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"106":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0}}}},"n":{"df":2,"docs":{"34":{"tf":1.0},"88":{"tf":1.0}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"58":{"tf":1.4142135623730951},"78":{"tf":1.0},"8":{"tf":2.449489742783178},"9":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"115":{"tf":1.0},"124":{"tf":1.0},"58":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"40":{"tf":1.0}}}},"r":{"df":22,"docs":{"104":{"tf":1.0},"108":{"tf":1.0},"12":{"tf":1.0},"127":{"tf":1.0},"132":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"4":{"tf":1.7320508075688772},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"89":{"tf":1.0}}},"s":{"df":1,"docs":{"29":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.0}}},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":33,"docs":{"105":{"tf":2.0},"113":{"tf":1.0},"118":{"tf":3.0},"121":{"tf":1.4142135623730951},"123":{"tf":1.0},"125":{"tf":1.7320508075688772},"129":{"tf":1.0},"134":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"22":{"tf":1.0},"27":{"tf":1.4142135623730951},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"38":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"49":{"tf":1.0},"58":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.7320508075688772},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"79":{"tf":1.0},"82":{"tf":2.0},"85":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.7320508075688772},"91":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"105":{"tf":1.4142135623730951},"118":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"45":{"tf":1.4142135623730951},"5":{"tf":1.7320508075688772},"6":{"tf":1.0},"61":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"132":{"tf":1.0},"61":{"tf":1.0}}},"t":{"df":3,"docs":{"49":{"tf":1.0},"5":{"tf":1.0},"71":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"n":{"df":6,"docs":{"106":{"tf":1.0},"14":{"tf":1.0},"52":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}}}}},"r":{"a":{"df":4,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"122":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"67":{"tf":1.0}}}},"u":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}}},"}":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"∈":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"a":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"df":0,"docs":{},"ψ":{"df":1,"docs":{"107":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"f":{"\"":{"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":{},"{":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"}":{".":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"j":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"(":{"df":0,"docs":{},"x":{")":{":":{"df":0,"docs":{},"ω":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"91":{"tf":1.0}}},"df":0,"docs":{}}}}},"=":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"+":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"20":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"x":{")":{"d":{"df":0,"docs":{},"x":{"=":{"0":{"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":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"95":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ϕ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"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":{}},"df":0,"docs":{},"n":{"df":1,"docs":{"107":{"tf":1.0}}}}},"^":{"df":0,"docs":{},"i":{"df":2,"docs":{"11":{"tf":1.4142135623730951},"59":{"tf":1.0}}},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"11":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":8,"docs":{"14":{"tf":2.0},"20":{"tf":1.0},"59":{"tf":1.0},"85":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"96":{"tf":1.0}}},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"f":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"∥":{")":{"=":{"1":{"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"∈":{"[":{"0":{",":{"1":{"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{")":{"=":{"1":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"∈":{"[":{"0":{",":{"1":{"df":1,"docs":{"57":{"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":{},"ω":{"0":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"×":{"d":{"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":{},"r":{"d":{"df":0,"docs":{},"×":{"d":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"df":1,"docs":{"73":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"=":{"0":{"df":1,"docs":{"74":{"tf":1.0}}},"4":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"−":{"df":0,"docs":{},"i":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"f":{"2":{"df":0,"docs":{},"​":{"+":{"2":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"j":{"df":0,"docs":{},"−":{"1":{")":{"2":{".":{"(":{"1":{"3":{".":{"1":{".":{"1":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":1,"docs":{"74":{"tf":1.0}}}},"r":{"df":0,"docs":{},"f":{"df":2,"docs":{"74":{"tf":1.0},"80":{"tf":1.0}}}}},"^":{"(":{"df":0,"docs":{},"σ":{")":{"=":{"4":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"i":{"=":{"1":{"df":0,"docs":{},"∑":{"d":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"1":{")":{"2":{"+":{"2":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"i":{"=":{"1":{"df":0,"docs":{},"∏":{"d":{"df":0,"docs":{},"​":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"1":{")":{"2":{"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":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"f":{"\"":{"df":0,"docs":{},"f":{"df":1,"docs":{"29":{"tf":1.4142135623730951}}},"v":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"/":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":1,"docs":{"131":{"tf":1.0}}}}},"0":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"126":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"h":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"′":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"y":{")":{"=":{"df":0,"docs":{},"f":{"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"h":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"1":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{")":{"=":{"df":0,"docs":{},"​":{"1":{"df":0,"docs":{},"∗":{"df":0,"docs":{},"∗":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∗":{"0":{"df":0,"docs":{},"∗":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∗":{"df":0,"docs":{},"∗":{"0":{"df":1,"docs":{"81":{"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":{},"v":{"_":{"df":0,"docs":{},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"126":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"126":{"tf":1.0},"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":1,"docs":{"58":{"tf":1.4142135623730951}},"​":{"(":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{")":{"/":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"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":{},"v":{"df":0,"docs":{},"​":{")":{"=":{"0":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{")":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"−":{"df":0,"docs":{},"f":{"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{")":{")":{"/":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"2":{"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":{}}}},"3":{"(":{"df":0,"docs":{},"k":{"df":0,"docs":{},"−":{"1":{")":{"+":{"df":0,"docs":{},"l":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"p":{"3":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"−":{"1":{")":{"+":{"df":0,"docs":{},"j":{"df":1,"docs":{"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":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"=":{"[":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{"]":{"[":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"−":{"1":{".":{"(":{"1":{"5":{".":{"1":{".":{"1":{"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":{},"r":{"df":1,"docs":{"74":{"tf":1.0}}},"u":{".":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"[":{"df":0,"docs":{},"v":{"df":1,"docs":{"82":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"[":{"df":0,"docs":{},"v":{"df":1,"docs":{"82":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"σ":{"df":0,"docs":{},"v":{"df":2,"docs":{"77":{"tf":1.0},"80":{"tf":1.0}},"t":{"df":1,"docs":{"75":{"tf":1.0}}}}}},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":1,"docs":{"107":{"tf":1.0}}}}}}},"^":{"df":0,"docs":{},"n":{"df":2,"docs":{"7":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"126":{"tf":1.0},"63":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"m":{"df":1,"docs":{"59":{"tf":1.7320508075688772}}},"u":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"a":{"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"40":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0}},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"16":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"88":{"tf":1.0}}}}}},"t":{"df":5,"docs":{"53":{"tf":1.0},"58":{"tf":1.0},"81":{"tf":1.0},"87":{"tf":1.0},"95":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"41":{"tf":1.0},"66":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"117":{"tf":1.4142135623730951},"51":{"tf":1.0},"66":{"tf":1.0}}},"s":{"df":4,"docs":{"120":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"67":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"r":{"df":3,"docs":{"11":{"tf":1.0},"18":{"tf":1.0},"66":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"117":{"tf":1.0},"50":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"120":{"tf":1.0},"139":{"tf":1.0},"22":{"tf":1.0}}}}}}},"df":31,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":1.0},"123":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"29":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"71":{"tf":2.449489742783178},"72":{"tf":1.0},"73":{"tf":2.23606797749979},"74":{"tf":3.0},"75":{"tf":2.6457513110645907},"76":{"tf":2.449489742783178},"77":{"tf":2.23606797749979},"78":{"tf":1.4142135623730951},"79":{"tf":2.6457513110645907},"80":{"tf":1.7320508075688772},"81":{"tf":1.7320508075688772},"82":{"tf":2.23606797749979},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":2.0},"86":{"tf":2.6457513110645907},"88":{"tf":1.0},"9":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":8,"docs":{"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"36":{"tf":1.0},"43":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.4142135623730951},"83":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"16":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.4142135623730951},"77":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"w":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}},"m":{"df":14,"docs":{"103":{"tf":1.0},"105":{"tf":2.0},"107":{"tf":1.4142135623730951},"111":{"tf":1.0},"12":{"tf":1.7320508075688772},"121":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":2.8284271247461903},"90":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}}},"n":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"142":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":1,"docs":{"23":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"113":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":15,"docs":{"105":{"tf":2.0},"107":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.0},"5":{"tf":1.4142135623730951},"55":{"tf":1.0},"6":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"88":{"tf":1.0},"91":{"tf":1.7320508075688772},"92":{"tf":1.7320508075688772},"94":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":30,"docs":{"10":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"120":{"tf":1.4142135623730951},"126":{"tf":1.7320508075688772},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"20":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"45":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"5":{"tf":2.8284271247461903},"52":{"tf":1.4142135623730951},"53":{"tf":2.449489742783178},"54":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951},"63":{"tf":2.23606797749979},"66":{"tf":1.0},"67":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"9":{"tf":1.0},"95":{"tf":1.4142135623730951}}}}},"j":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ϕ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"=":{"1":{",":{"df":0,"docs":{},"…":{",":{"d":{"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":{}}},"l":{"df":0,"docs":{},"e":{"df":2,"docs":{"29":{"tf":1.4142135623730951},"30":{"tf":1.0}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":1,"docs":{"29":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"113":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.0},"120":{"tf":1.7320508075688772},"121":{"tf":1.4142135623730951},"132":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":2.23606797749979},"52":{"tf":1.4142135623730951},"53":{"tf":2.23606797749979},"54":{"tf":2.23606797749979},"55":{"tf":1.4142135623730951},"76":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":2.8284271247461903}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":18,"docs":{"101":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.4142135623730951},"42":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0},"81":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.0},"96":{"tf":1.0}}}},"d":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":9,"docs":{"11":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"136":{"tf":1.0},"21":{"tf":1.4142135623730951},"43":{"tf":1.0},"53":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"84":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"116":{"tf":1.0}}}},"t":{"df":25,"docs":{"103":{"tf":1.0},"104":{"tf":2.23606797749979},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.7320508075688772},"109":{"tf":1.0},"111":{"tf":1.0},"116":{"tf":1.0},"12":{"tf":1.4142135623730951},"142":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.4142135623730951},"67":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"96":{"tf":1.0},"97":{"tf":1.0}}}},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":42,"docs":{"107":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.4142135623730951},"120":{"tf":2.23606797749979},"124":{"tf":1.0},"131":{"tf":1.0},"139":{"tf":1.0},"142":{"tf":1.0},"22":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"4":{"tf":1.0},"42":{"tf":2.449489742783178},"49":{"tf":1.0},"5":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":2.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.4142135623730951},"97":{"tf":1.0},"99":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.0}}}}}}},"t":{"df":2,"docs":{"104":{"tf":1.0},"17":{"tf":1.0}}},"x":{"df":16,"docs":{"122":{"tf":1.0},"124":{"tf":1.0},"15":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":3.605551275463989},"60":{"tf":1.4142135623730951},"66":{"tf":1.0},"7":{"tf":1.0},"76":{"tf":1.0}}}},"k":{"df":1,"docs":{"57":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"t":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}}}},"−":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"t":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{")":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{")":{",":{"(":{"9":{".":{"1":{".":{"2":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"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":{},"w":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"142":{"tf":1.0},"69":{"tf":1.0}}}},"x":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"29":{"tf":1.0}}}},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"[":{"0":{"]":{")":{":":{".":{"6":{"df":0,"docs":{},"f":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"]":{")":{":":{".":{"6":{"df":0,"docs":{},"f":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":2,"docs":{"54":{"tf":1.0},"66":{"tf":1.0}}}},"df":0,"docs":{},"w":{"df":3,"docs":{"70":{"tf":1.0},"72":{"tf":1.4142135623730951},"90":{"tf":1.0}}}}},"n":{"=":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":2,"docs":{"76":{"tf":1.4142135623730951},"77":{"tf":1.0}}},"o":{"c":{"df":0,"docs":{},"u":{"df":9,"docs":{"104":{"tf":1.0},"122":{"tf":1.0},"16":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"50":{"tf":1.0},"67":{"tf":1.0}},"s":{"df":8,"docs":{"109":{"tf":1.0},"12":{"tf":1.0},"139":{"tf":1.0},"36":{"tf":1.0},"70":{"tf":1.4142135623730951},"77":{"tf":1.0},"8":{"tf":1.0},"94":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"116":{"tf":1.0},"122":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":39,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"11":{"tf":1.4142135623730951},"115":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"120":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.4142135623730951},"36":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.4142135623730951},"85":{"tf":1.7320508075688772},"86":{"tf":1.4142135623730951},"91":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"49":{"tf":1.0}}}},"c":{"df":56,"docs":{"100":{"tf":2.6457513110645907},"101":{"tf":3.0},"102":{"tf":2.23606797749979},"103":{"tf":2.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.7320508075688772},"112":{"tf":1.7320508075688772},"113":{"tf":1.0},"114":{"tf":1.7320508075688772},"115":{"tf":1.7320508075688772},"117":{"tf":1.0},"118":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":2.449489742783178},"124":{"tf":1.0},"127":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"14":{"tf":3.7416573867739413},"16":{"tf":2.23606797749979},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"27":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":2.449489742783178},"49":{"tf":1.7320508075688772},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":2.0},"57":{"tf":2.6457513110645907},"58":{"tf":3.4641016151377544},"6":{"tf":1.4142135623730951},"60":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"84":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":3.3166247903554},"92":{"tf":1.4142135623730951},"94":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":2.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"​":{"(":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":1,"docs":{"91":{"tf":1.0}},"​":{")":{"=":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"∂":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{")":{")":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"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":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"29":{"tf":1.0}}}}},"m":{"'":{"df":1,"docs":{"92":{"tf":1.0}}},"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"41":{"tf":1.0}}}},"df":45,"docs":{"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"103":{"tf":1.7320508075688772},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"11":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.7320508075688772},"114":{"tf":1.4142135623730951},"115":{"tf":1.7320508075688772},"116":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.4142135623730951},"126":{"tf":1.0},"128":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"4":{"tf":1.0},"42":{"tf":1.0},"5":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":3.0},"9":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":4.0},"93":{"tf":2.449489742783178},"94":{"tf":2.23606797749979},"95":{"tf":3.0},"96":{"tf":1.4142135623730951},"97":{"tf":2.23606797749979},"98":{"tf":1.0},"99":{"tf":2.8284271247461903}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":5,"docs":{"58":{"tf":1.0},"8":{"tf":1.0},"82":{"tf":2.23606797749979},"85":{"tf":1.0},"96":{"tf":1.0}}},"df":19,"docs":{"103":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"27":{"tf":1.7320508075688772},"32":{"tf":2.0},"4":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"5":{"tf":1.0},"58":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.4142135623730951},"89":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}}}},"—":{"a":{"df":1,"docs":{"94":{"tf":1.0}}},"df":0,"docs":{}},"→":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"115":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"115":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"115":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}}},"df":1,"docs":{"29":{"tf":1.0}}},"u":{"df":0,"docs":{},"n":{"df":6,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"114":{"tf":1.0},"118":{"tf":1.0},"22":{"tf":1.0},"42":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.0},"43":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":2.449489742783178}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"5":{"tf":1.0},"7":{"tf":1.0},"88":{"tf":1.0}}}},"df":10,"docs":{"116":{"tf":1.0},"122":{"tf":1.0},"131":{"tf":1.7320508075688772},"24":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}},"r":{")":{"=":{"df":0,"docs":{},"ψ":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"21":{"tf":1.0},"82":{"tf":1.4142135623730951}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.7320508075688772}}}}},"{":{"1":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"14":{"tf":1.4142135623730951}},"}":{"\\":{"df":0,"docs":{},"|":{"df":0,"docs":{},"x":{"df":1,"docs":{"26":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"d":{"df":2,"docs":{"7":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"v":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"x":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":7,"docs":{"117":{"tf":1.0},"29":{"tf":1.7320508075688772},"35":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.7320508075688772}},"r":{"df":1,"docs":{"35":{"tf":1.0}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":17,"docs":{"103":{"tf":1.0},"122":{"tf":1.0},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"24":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0},"79":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":17,"docs":{"101":{"tf":1.0},"114":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"82":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0}}}}},"df":20,"docs":{"0":{"tf":1.0},"100":{"tf":1.0},"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"116":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"132":{"tf":1.0},"142":{"tf":1.0},"18":{"tf":1.0},"51":{"tf":1.4142135623730951},"53":{"tf":2.449489742783178},"71":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":2.0},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.7320508075688772}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":47,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":3.1622776601683795},"103":{"tf":1.7320508075688772},"109":{"tf":1.4142135623730951},"115":{"tf":1.7320508075688772},"116":{"tf":1.4142135623730951},"117":{"tf":1.0},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"122":{"tf":3.0},"123":{"tf":3.7416573867739413},"124":{"tf":2.23606797749979},"125":{"tf":2.0},"126":{"tf":3.605551275463989},"127":{"tf":2.8284271247461903},"128":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.7320508075688772},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":2.449489742783178},"141":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":4.358898943540674},"18":{"tf":1.4142135623730951},"30":{"tf":1.0},"31":{"tf":1.0},"43":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":2.449489742783178},"57":{"tf":3.1622776601683795},"58":{"tf":4.123105625617661},"59":{"tf":2.449489742783178},"60":{"tf":2.8284271247461903},"61":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":3.872983346207417},"64":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"97":{"tf":1.0},"98":{"tf":2.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"126":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"116":{"tf":1.0},"121":{"tf":1.0},"62":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"t":{"=":{"df":0,"docs":{},"f":{"df":0,"docs":{},"−":{"1":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"j":{"df":0,"docs":{},"≡":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{")":{"=":{"1":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":1,"docs":{"74":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{},"x":{"df":1,"docs":{"58":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"114":{"tf":1.0},"122":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"82":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"16":{"tf":1.0}}},"df":58,"docs":{"100":{"tf":1.0},"101":{"tf":2.6457513110645907},"102":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":2.6457513110645907},"107":{"tf":1.4142135623730951},"108":{"tf":1.7320508075688772},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":2.23606797749979},"117":{"tf":1.4142135623730951},"118":{"tf":1.7320508075688772},"119":{"tf":2.0},"121":{"tf":1.7320508075688772},"123":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951},"129":{"tf":2.0},"134":{"tf":2.23606797749979},"141":{"tf":1.7320508075688772},"16":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":2.0},"26":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":2.449489742783178},"47":{"tf":1.0},"48":{"tf":2.0},"49":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"71":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":3.3166247903554},"75":{"tf":1.7320508075688772},"76":{"tf":2.23606797749979},"77":{"tf":2.23606797749979},"78":{"tf":1.0},"79":{"tf":2.0},"82":{"tf":1.0},"83":{"tf":1.0},"87":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"92":{"tf":2.0},"93":{"tf":1.4142135623730951},"95":{"tf":4.242640687119285},"97":{"tf":2.23606797749979}}}}}}},"d":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"7":{"tf":1.0},"78":{"tf":1.0},"89":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":13,"docs":{"122":{"tf":1.0},"134":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.0},"34":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"77":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"7":{"tf":1.0},"80":{"tf":1.0}}}}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"1":{"tf":1.0},"29":{"tf":1.0},"55":{"tf":1.0},"67":{"tf":1.0},"95":{"tf":1.0}}}}}},"∂":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"81":{"tf":1.0}}}},"df":0,"docs":{}}}}},"p":{"df":4,"docs":{"79":{"tf":1.7320508075688772},"82":{"tf":1.7320508075688772},"83":{"tf":1.0},"86":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"f":{")":{")":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"​":{"=":{"(":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{")":{")":{"df":0,"docs":{},"k":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"​":{"df":0,"docs":{},"v":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"v":{"df":0,"docs":{},"j":{"df":0,"docs":{},"l":{"df":1,"docs":{"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":{}},"σ":{")":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"s":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{")":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"∂":{"df":1,"docs":{"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":{},"f":{")":{"=":{"df":0,"docs":{},"μ":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"−":{"df":0,"docs":{},"f":{"df":0,"docs":{},"−":{"df":0,"docs":{},"t":{")":{"+":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"j":{")":{"df":0,"docs":{},"f":{"df":0,"docs":{},"−":{"df":0,"docs":{},"t":{"df":1,"docs":{"74":{"tf":1.0}}}}}},"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":{},"p":{"^":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"80":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"∈":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"×":{"d":{"df":3,"docs":{"72":{"tf":1.0},"74":{"tf":1.4142135623730951},"76":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"−":{"df":0,"docs":{},"f":{"df":0,"docs":{},"−":{"df":0,"docs":{},"t":{"=":{"0":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"⋅":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"f":{"d":{"df":0,"docs":{},"x":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"g":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"f":{"(":{"2":{")":{"+":{"df":0,"docs":{},"f":{"df":0,"docs":{},"′":{"(":{"2":{")":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"2":{")":{"+":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"f":{"df":0,"docs":{},"′":{"df":0,"docs":{},"′":{"(":{"2":{")":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"2":{")":{"2":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":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":{"20":{"tf":1.4142135623730951},"95":{"tf":1.0}}}},"[":{"0":{"df":1,"docs":{"118":{"tf":1.0}}},"1":{"df":1,"docs":{"118":{"tf":1.0}}},"2":{"df":1,"docs":{"118":{"tf":1.0}}},"3":{"df":1,"docs":{"118":{"tf":1.0}}},"4":{"df":1,"docs":{"118":{"tf":1.0}}},"5":{"df":1,"docs":{"118":{"tf":1.0}}},"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"[":{"df":0,"docs":{},"i":{"]":{"[":{"0":{"df":1,"docs":{"27":{"tf":1.0}}},"1":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{},"j":{"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"0":{"df":1,"docs":{"126":{"tf":1.0}}},"1":{"df":1,"docs":{"126":{"tf":1.0}}},"[":{"0":{"df":1,"docs":{"119":{"tf":1.0}}},"1":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"]":{"[":{"1":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"26":{"tf":1.0},"35":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0}}},"x":{"df":0,"docs":{},"i":{"df":2,"docs":{"119":{"tf":1.0},"126":{"tf":1.0}}}}},"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"27":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"a":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"86":{"tf":1.0}}}},"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"p":{"[":{"2":{":":{"4":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"118":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"v":{"df":1,"docs":{"126":{"tf":2.0}}}},"df":0,"docs":{}}}}},"a":{"df":1,"docs":{"69":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"17":{"tf":1.0},"29":{"tf":1.0},"63":{"tf":1.0}}}},"m":{"df":0,"docs":{},"m":{"a":{"_":{"df":0,"docs":{},"k":{"df":1,"docs":{"16":{"tf":2.6457513110645907}}},"{":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"49":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"—":{"a":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"139":{"tf":1.0},"29":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"113":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":13,"docs":{"118":{"tf":1.4142135623730951},"14":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"86":{"tf":1.4142135623730951},"89":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"1":{".":{"0":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":31,"docs":{"101":{"tf":1.4142135623730951},"105":{"tf":1.0},"11":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":1.4142135623730951},"12":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"25":{"tf":2.23606797749979},"30":{"tf":1.0},"37":{"tf":1.4142135623730951},"40":{"tf":2.0},"41":{"tf":1.0},"42":{"tf":2.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"82":{"tf":1.0},"85":{"tf":1.4142135623730951},"92":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.0}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"101":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"142":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":3,"docs":{"104":{"tf":1.0},"14":{"tf":1.0},"5":{"tf":1.4142135623730951}},"i":{"df":9,"docs":{"12":{"tf":1.4142135623730951},"128":{"tf":1.0},"140":{"tf":1.0},"25":{"tf":1.4142135623730951},"45":{"tf":2.23606797749979},"5":{"tf":3.1622776601683795},"6":{"tf":1.0},"7":{"tf":1.0},"92":{"tf":1.4142135623730951}}}}}}}},"q":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}}},"t":{"df":1,"docs":{"134":{"tf":1.0}},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"c":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"i":{"c":{"(":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"131":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"d":{"(":{"b":{"df":1,"docs":{"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":{}}}}},"i":{"df":1,"docs":{"42":{"tf":1.0}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":2,"docs":{"1":{"tf":1.0},"2":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":11,"docs":{"106":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.0},"16":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.0},"82":{"tf":1.4142135623730951},"92":{"tf":1.0},"96":{"tf":1.0}},"n":{"df":23,"docs":{"10":{"tf":1.0},"103":{"tf":1.0},"11":{"tf":1.4142135623730951},"113":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"136":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"66":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0},"82":{"tf":1.4142135623730951},"9":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}}}}},"l":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":11,"docs":{"113":{"tf":1.0},"115":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"27":{"tf":2.0},"30":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"32":{"tf":1.0},"4":{"tf":1.0}}}},"df":1,"docs":{"92":{"tf":1.0}},"e":{"df":2,"docs":{"142":{"tf":1.0},"76":{"tf":1.0}}},"n":{"df":0,"docs":{},"z":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"z":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}}},"df":0,"docs":{}}},"o":{"d":{"df":2,"docs":{"22":{"tf":1.0},"92":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":7,"docs":{"104":{"tf":1.0},"70":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.4142135623730951},"91":{"tf":1.0},"93":{"tf":1.0},"98":{"tf":1.0}}}}}}},"r":{"a":{"d":{"(":{"df":0,"docs":{},"p":{"0":{"df":1,"docs":{"118":{"tf":1.0}}},"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"v":{"df":1,"docs":{"63":{"tf":1.0}}},"x":{"df":7,"docs":{"26":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"86":{"tf":1.0}}}},"df":1,"docs":{"26":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":45,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"117":{"tf":1.0},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.7320508075688772},"131":{"tf":1.0},"132":{"tf":1.0},"134":{"tf":1.7320508075688772},"139":{"tf":1.0},"14":{"tf":1.0},"141":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":2.23606797749979},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":2.23606797749979},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"71":{"tf":3.0},"72":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":2.449489742783178},"88":{"tf":1.4142135623730951}}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"10":{"tf":1.0},"34":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"69":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"c":{"df":7,"docs":{"128":{"tf":1.0},"20":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"69":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"79":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"p":{"df":1,"docs":{"4":{"tf":1.0}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"14":{"tf":1.7320508075688772},"35":{"tf":1.7320508075688772},"89":{"tf":1.0}},"i":{"df":8,"docs":{"14":{"tf":1.7320508075688772},"18":{"tf":1.0},"35":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0},"91":{"tf":1.0}}},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"35":{"tf":1.0}}}},"v":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"5":{"tf":1.0}}}}},"i":{"d":{"df":7,"docs":{"105":{"tf":1.0},"12":{"tf":1.0},"136":{"tf":1.7320508075688772},"17":{"tf":1.0},"45":{"tf":2.8284271247461903},"5":{"tf":3.4641016151377544},"55":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"n":{"[":{"0":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"117":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951}}},"o":{"[":{"1":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"117":{"tf":1.0},"62":{"tf":1.0}}}},"df":12,"docs":{"117":{"tf":1.4142135623730951},"120":{"tf":2.0},"126":{"tf":1.4142135623730951},"15":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":2.6457513110645907},"61":{"tf":1.0},"62":{"tf":2.23606797749979},"67":{"tf":1.0},"7":{"tf":1.0},"87":{"tf":1.4142135623730951}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"37":{"tf":1.0},"6":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"w":{"df":2,"docs":{"120":{"tf":1.0},"9":{"tf":1.0}}}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":19,"docs":{"11":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"131":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"59":{"tf":1.0}}}}},"i":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}}}},"h":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.0},"35":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"=":{"0":{".":{"0":{"1":{"df":2,"docs":{"52":{"tf":1.0},"54":{"tf":1.0}}},"2":{"df":2,"docs":{"29":{"tf":1.0},"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"[":{"df":0,"docs":{},"h":{"b":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"]":{",":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"=":{"[":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"]":{",":{"df":0,"docs":{},"g":{"=":{"[":{"df":0,"docs":{},"g":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"33":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":1,"docs":{"118":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":0,"docs":{},"}":{"_":{"0":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"^":{"2":{"df":1,"docs":{"49":{"tf":1.0}}},"=":{"df":0,"docs":{},"h":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{},"i":{"=":{"(":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"v":{"/":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"−":{"1":{"df":2,"docs":{"123":{"tf":1.0},"58":{"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":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"27":{"tf":2.0}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"a":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.0},"45":{"tf":1.0},"69":{"tf":1.0}}}},"l":{"df":0,"docs":{},"f":{"df":5,"docs":{"117":{"tf":1.4142135623730951},"45":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"62":{"tf":1.0},"67":{"tf":1.0}}},"t":{"df":1,"docs":{"10":{"tf":1.0}}},"v":{"df":1,"docs":{"21":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"115":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"n":{"d":{"df":4,"docs":{"16":{"tf":1.0},"34":{"tf":1.0},"92":{"tf":2.0},"95":{"tf":1.0}},"l":{"df":16,"docs":{"101":{"tf":1.0},"117":{"tf":1.4142135623730951},"12":{"tf":1.0},"141":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.0},"36":{"tf":1.0},"5":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"6":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":2.449489742783178}}}},"o":{"df":1,"docs":{"142":{"tf":1.0}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"16":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"74":{"tf":1.0},"77":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":5,"docs":{"121":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.7320508075688772},"139":{"tf":1.0},"141":{"tf":1.0}}}},"t":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"m":{"b":{"d":{"a":{"df":1,"docs":{"22":{"tf":1.0}},"}":{"_":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"d":{"df":3,"docs":{"48":{"tf":2.0},"49":{"tf":2.0},"52":{"tf":1.0}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":6,"docs":{"28":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0}}}},"​":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"]":{"[":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"]":{"=":{"[":{"df":0,"docs":{},"−":{"df":0,"docs":{},"g":{"0":{"df":0,"docs":{},"​":{"]":{".":{"(":{"5":{".":{"1":{".":{"3":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":15,"docs":{"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"14":{"tf":2.0},"26":{"tf":1.0},"28":{"tf":4.795831523312719},"29":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":2.8284271247461903},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"67":{"tf":3.0}},"e":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"78":{"tf":1.0},"87":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"p":{"df":7,"docs":{"104":{"tf":1.0},"135":{"tf":1.0},"18":{"tf":1.4142135623730951},"27":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"66":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"63":{"tf":1.0}}}}}},"n":{"c":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"33":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":58,"docs":{"100":{"tf":1.0},"101":{"tf":1.7320508075688772},"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"107":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"118":{"tf":1.0},"119":{"tf":2.23606797749979},"120":{"tf":1.0},"123":{"tf":2.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.7320508075688772},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.0},"6":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"85":{"tf":1.4142135623730951},"87":{"tf":1.7320508075688772},"89":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"p":{"0":{"df":1,"docs":{"118":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":1,"docs":{"63":{"tf":1.0}}},"x":{"df":6,"docs":{"26":{"tf":1.0},"27":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"86":{"tf":1.0}}}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"v":{"[":{"df":0,"docs":{},"r":{"df":1,"docs":{"126":{"tf":1.0}}}},"df":1,"docs":{"126":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"26":{"tf":1.4142135623730951}},"i":{"a":{"df":0,"docs":{},"n":{"df":30,"docs":{"114":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.7320508075688772},"131":{"tf":1.4142135623730951},"139":{"tf":1.0},"22":{"tf":1.7320508075688772},"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.7320508075688772},"27":{"tf":2.23606797749979},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.0},"41":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.4142135623730951},"58":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"67":{"tf":1.7320508075688772},"86":{"tf":2.449489742783178},"88":{"tf":1.0}}}},"df":0,"docs":{}}}}},"h":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"126":{"tf":1.4142135623730951},"63":{"tf":3.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":4,"docs":{"121":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.7320508075688772},"141":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"h":{"df":10,"docs":{"12":{"tf":1.0},"133":{"tf":1.0},"16":{"tf":1.0},"24":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"21":{"tf":1.0},"45":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"76":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"113":{"tf":1.0},"18":{"tf":1.0}},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"102":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.0}}}},"t":{"df":2,"docs":{"52":{"tf":1.0},"53":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":9,"docs":{"119":{"tf":1.0},"134":{"tf":1.0},"21":{"tf":1.0},"34":{"tf":1.0},"49":{"tf":1.4142135623730951},"75":{"tf":1.0},"82":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"92":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"'":{"df":2,"docs":{"27":{"tf":1.0},"79":{"tf":1.0}}},"a":{"df":0,"docs":{},"n":{"df":12,"docs":{"142":{"tf":1.0},"20":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.4142135623730951},"86":{"tf":1.0},"88":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"25":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0}}}}}}}},"w":{"df":1,"docs":{"142":{"tf":1.0}}}},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"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":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":8,"docs":{"116":{"tf":1.0},"122":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"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":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"b":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"−":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"33":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"−":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{",":{"(":{"5":{".":{"2":{".":{"3":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{}},"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":{},"​":{"]":{"[":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"]":{"=":{"[":{"df":0,"docs":{},"−":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"0":{"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":{}}}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"68":{"tf":1.0},"79":{"tf":1.7320508075688772},"83":{"tf":1.0},"88":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"∈":{"[":{"0":{",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"(":{"0":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{},"x":{"df":2,"docs":{"114":{"tf":1.0},"134":{"tf":1.0}}}},"+":{"1":{"df":1,"docs":{"29":{"tf":1.7320508075688772}}},"df":0,"docs":{}},",":{"df":0,"docs":{},"j":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}},".":{"df":4,"docs":{"107":{"tf":1.0},"139":{"tf":1.0},"74":{"tf":1.0},"96":{"tf":1.0}}},"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"j":{"2":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}}}}},"=":{"0":{",":{"1":{",":{"2":{",":{".":{".":{".":{",":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"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":{},"i":{"^":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"95":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"j":{"df":1,"docs":{"75":{"tf":1.0}}}},"\\":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{}},"^":{"=":{"1":{",":{"2":{",":{"df":0,"docs":{},"…":{",":{"d":{"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":{}},"b":{"[":{"0":{"df":1,"docs":{"86":{"tf":3.4641016151377544}}},"1":{"df":1,"docs":{"86":{"tf":3.4641016151377544}}},"df":0,"docs":{},"i":{"df":2,"docs":{"85":{"tf":1.0},"86":{"tf":2.23606797749979}}}},"df":2,"docs":{"85":{"tf":1.0},"86":{"tf":2.449489742783178}}},"d":{"=":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"[":{"2":{"df":1,"docs":{"82":{"tf":1.0}}},"3":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":4,"docs":{"101":{"tf":1.0},"125":{"tf":1.0},"136":{"tf":1.0},"80":{"tf":1.0}},"l":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":7,"docs":{"32":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"80":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"16":{"tf":1.0}},"i":{"df":8,"docs":{"108":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"136":{"tf":1.0},"26":{"tf":1.0},"35":{"tf":1.0},"41":{"tf":1.0},"67":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"111":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"76":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}}}}}},"i":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}},"j":{"=":{"1":{"1":{",":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"=":{"2":{"2":{",":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"=":{"3":{"3":{"df":1,"docs":{"81":{"tf":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":{"81":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"81":{"tf":1.0},"86":{"tf":1.0}},"v":{"[":{"0":{"]":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":2,"docs":{"62":{"tf":1.0},"63":{"tf":1.0}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":3,"docs":{"119":{"tf":1.0},"126":{"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":{},"i":{"df":2,"docs":{"26":{"tf":1.0},"54":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"86":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"28":{"tf":1.0}}},"1":{"]":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":2,"docs":{"62":{"tf":1.0},"63":{"tf":1.0}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"j":{"df":3,"docs":{"119":{"tf":1.0},"126":{"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":{},"i":{"df":2,"docs":{"26":{"tf":1.0},"54":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"86":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"28":{"tf":1.0}}},"2":{"]":{"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"26":{"tf":1.0},"54":{"tf":1.4142135623730951}},"n":{"d":{"df":1,"docs":{"86":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":5,"docs":{"119":{"tf":1.0},"126":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"28":{"tf":1.0}}}},"m":{"df":1,"docs":{"28":{"tf":1.4142135623730951}},"s":{"[":{"2":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":8,"docs":{"26":{"tf":1.7320508075688772},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"54":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951}}},"​":{"=":{"1":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"λ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∗":{")":{"=":{"0":{".":{"df":0,"docs":{},"​":{"(":{"7":{".":{"3":{".":{"1":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}}}},"k":{"df":1,"docs":{"81":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":16,"docs":{"10":{"tf":1.4142135623730951},"114":{"tf":1.0},"20":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0}}}}}}}},"m":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"5":{"tf":1.4142135623730951},"67":{"tf":1.0},"87":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"36":{"tf":1.0}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"15":{"tf":1.0}}}}},"p":{"a":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0},"41":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}},"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":43,"docs":{"104":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.7320508075688772},"116":{"tf":1.7320508075688772},"117":{"tf":1.4142135623730951},"118":{"tf":2.23606797749979},"119":{"tf":2.23606797749979},"120":{"tf":2.449489742783178},"121":{"tf":1.7320508075688772},"122":{"tf":2.0},"123":{"tf":1.0},"125":{"tf":2.0},"126":{"tf":2.8284271247461903},"127":{"tf":1.4142135623730951},"131":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"28":{"tf":2.0},"29":{"tf":2.23606797749979},"30":{"tf":1.4142135623730951},"32":{"tf":1.0},"35":{"tf":2.449489742783178},"5":{"tf":1.0},"54":{"tf":2.23606797749979},"61":{"tf":1.4142135623730951},"62":{"tf":2.6457513110645907},"63":{"tf":2.6457513110645907},"64":{"tf":1.0},"67":{"tf":3.605551275463989},"79":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.7320508075688772},"86":{"tf":2.23606797749979},"87":{"tf":1.7320508075688772},"88":{"tf":1.0}}}}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":22,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":2.23606797749979},"12":{"tf":1.0},"122":{"tf":1.4142135623730951},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.4142135623730951},"141":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":2.23606797749979},"35":{"tf":1.4142135623730951},"58":{"tf":2.8284271247461903},"59":{"tf":1.7320508075688772},"60":{"tf":1.7320508075688772},"63":{"tf":2.0},"64":{"tf":1.4142135623730951},"79":{"tf":1.0},"83":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":9,"docs":{"10":{"tf":1.0},"129":{"tf":1.0},"20":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"9":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":23,"docs":{"11":{"tf":1.0},"118":{"tf":2.23606797749979},"120":{"tf":2.0},"123":{"tf":1.0},"127":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"27":{"tf":2.23606797749979},"28":{"tf":2.8284271247461903},"29":{"tf":2.449489742783178},"30":{"tf":1.0},"35":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.4142135623730951},"6":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"67":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"86":{"tf":1.7320508075688772}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"71":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"40":{"tf":1.0},"41":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":3,"docs":{"1":{"tf":1.0},"11":{"tf":1.0},"120":{"tf":1.0}}}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"105":{"tf":1.0}}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"52":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}}}}}}}},"c":{"df":0,"docs":{},"i":{"d":{"df":12,"docs":{"106":{"tf":1.4142135623730951},"107":{"tf":1.0},"112":{"tf":2.0},"113":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.4142135623730951},"130":{"tf":1.0},"134":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"62":{"tf":1.0},"63":{"tf":1.0}}}},"u":{"d":{"df":14,"docs":{"100":{"tf":1.0},"106":{"tf":1.0},"118":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.4142135623730951},"31":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"58":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"99":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":1,"docs":{"27":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"74":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":11,"docs":{"123":{"tf":1.0},"127":{"tf":1.0},"132":{"tf":1.0},"27":{"tf":1.4142135623730951},"36":{"tf":1.0},"47":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"67":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.7320508075688772}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":11,"docs":{"105":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"118":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"41":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"71":{"tf":1.0}}}},"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":30,"docs":{"14":{"tf":1.4142135623730951},"142":{"tf":1.7320508075688772},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"28":{"tf":1.7320508075688772},"30":{"tf":1.0},"32":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"35":{"tf":1.0},"36":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"91":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"21":{"tf":1.0}}}}},"d":{"df":1,"docs":{"86":{"tf":1.0}},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"112":{"tf":1.0},"41":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}}},"x":{"df":12,"docs":{"107":{"tf":1.0},"117":{"tf":1.7320508075688772},"119":{"tf":1.0},"121":{"tf":1.0},"126":{"tf":1.0},"26":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"71":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.4142135623730951}}}},"i":{"c":{"df":19,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"117":{"tf":1.4142135623730951},"124":{"tf":1.0},"136":{"tf":1.4142135623730951},"16":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.4142135623730951},"35":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":2.23606797749979},"72":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"u":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}}},"q":{"df":0,"docs":{},"u":{"df":5,"docs":{"16":{"tf":2.0},"18":{"tf":1.0},"30":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":6,"docs":{"128":{"tf":1.0},"14":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":2.8284271247461903},"29":{"tf":1.0},"66":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}},"y":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.0},"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"26":{"tf":1.0}}}},"v":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.0},"35":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"f":{"df":2,"docs":{"28":{"tf":1.7320508075688772},"67":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"16":{"tf":1.0},"34":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"101":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"76":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"42":{"tf":1.0},"95":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":6,"docs":{"101":{"tf":1.0},"113":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}}}}}}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":3,"docs":{"14":{"tf":1.0},"17":{"tf":1.0},"29":{"tf":1.0}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":7,"docs":{"124":{"tf":2.449489742783178},"125":{"tf":1.4142135623730951},"33":{"tf":1.0},"5":{"tf":1.4142135623730951},"67":{"tf":1.0},"85":{"tf":1.0},"98":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"53":{"tf":1.0},"54":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"4":{"tf":1.0},"50":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"df":3,"docs":{"54":{"tf":1.0},"62":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"29":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":29,"docs":{"11":{"tf":1.7320508075688772},"117":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":2.6457513110645907},"30":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"4":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":2.449489742783178},"7":{"tf":1.4142135623730951},"70":{"tf":1.7320508075688772},"71":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"64":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"126":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"114":{"tf":1.0},"124":{"tf":1.4142135623730951},"58":{"tf":1.0},"74":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":9,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"108":{"tf":1.0},"118":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.0},"91":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":6,"docs":{"120":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0},"37":{"tf":1.0},"41":{"tf":1.0},"70":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"27":{"tf":1.0},"58":{"tf":1.0}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"12":{"tf":1.4142135623730951},"131":{"tf":1.0},"29":{"tf":1.0}}}},"df":0,"docs":{},"n":{"c":{"df":9,"docs":{"25":{"tf":1.0},"29":{"tf":1.0},"38":{"tf":1.0},"45":{"tf":1.0},"6":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"d":{"df":5,"docs":{"121":{"tf":1.0},"29":{"tf":1.0},"53":{"tf":1.4142135623730951},"84":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"53":{"tf":1.0},"55":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":71,"docs":{"10":{"tf":2.0},"100":{"tf":1.0},"101":{"tf":2.6457513110645907},"103":{"tf":1.0},"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":3.0},"111":{"tf":1.0},"112":{"tf":2.449489742783178},"113":{"tf":2.449489742783178},"114":{"tf":1.4142135623730951},"115":{"tf":2.449489742783178},"117":{"tf":1.0},"12":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":2.0},"124":{"tf":1.7320508075688772},"127":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"134":{"tf":1.4142135623730951},"14":{"tf":2.23606797749979},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":2.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":2.23606797749979},"29":{"tf":1.7320508075688772},"30":{"tf":1.0},"32":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"5":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"56":{"tf":1.0},"58":{"tf":2.8284271247461903},"6":{"tf":1.0},"60":{"tf":2.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"7":{"tf":2.23606797749979},"73":{"tf":1.4142135623730951},"77":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":2.0},"83":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":2.0},"92":{"tf":2.23606797749979},"93":{"tf":2.0},"95":{"tf":2.0},"96":{"tf":1.0},"97":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}}}},"n":{"d":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":4,"docs":{"12":{"tf":1.0},"135":{"tf":1.0},"15":{"tf":1.0},"79":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"71":{"tf":1.0}}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":7,"docs":{"117":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"25":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"1":{"tf":1.0},"115":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"105":{"tf":1.0}}}}}}}}}},"f":{"a":{"c":{"df":6,"docs":{"114":{"tf":1.0},"118":{"tf":1.0},"126":{"tf":1.0},"56":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"111":{"tf":1.0},"128":{"tf":1.0},"16":{"tf":1.7320508075688772},"45":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.0}}},"1":{"df":1,"docs":{"86":{"tf":1.0}}},"2":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"86":{"tf":2.8284271247461903}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":7,"docs":{"107":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"48":{"tf":1.0},"86":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":3,"docs":{"71":{"tf":1.0},"79":{"tf":1.0},"91":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":25,"docs":{"100":{"tf":2.23606797749979},"101":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":1.0},"127":{"tf":1.0},"133":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.7320508075688772},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"67":{"tf":1.0},"68":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"87":{"tf":1.7320508075688772},"88":{"tf":1.4142135623730951}}}}}}},"o":{"df":0,"docs":{},"l":{"df":7,"docs":{"105":{"tf":1.7320508075688772},"108":{"tf":1.0},"21":{"tf":1.0},"45":{"tf":2.23606797749979},"55":{"tf":1.0},"95":{"tf":2.8284271247461903},"97":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"48":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":7,"docs":{"121":{"tf":1.0},"136":{"tf":1.4142135623730951},"142":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":3,"docs":{"11":{"tf":1.0},"7":{"tf":1.4142135623730951},"96":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"41":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"c":{"a":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"16":{"tf":1.0},"31":{"tf":1.0},"45":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"16":{"tf":1.0}}}}},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":34,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"11":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"18":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"31":{"tf":1.0},"4":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"50":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"74":{"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.4142135623730951},"84":{"tf":1.0},"94":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.0}},"t":{"df":3,"docs":{"24":{"tf":1.0},"50":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":13,"docs":{"130":{"tf":1.0},"133":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"34":{"tf":1.0},"4":{"tf":1.0},"53":{"tf":1.4142135623730951},"66":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951},"77":{"tf":1.0}}}}}},"v":{"0":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}},"1":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}},"2":{"_":{"0":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}},"1":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"29":{"tf":1.0},"5":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"20":{"tf":1.4142135623730951},"74":{"tf":2.449489742783178},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":20,"docs":{"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"116":{"tf":1.4142135623730951},"117":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"142":{"tf":1.0},"68":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"76":{"tf":1.7320508075688772},"77":{"tf":1.4142135623730951},"83":{"tf":1.0},"84":{"tf":2.23606797749979},"85":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":3.0},"88":{"tf":2.0}}},"t":{"df":7,"docs":{"142":{"tf":1.4142135623730951},"22":{"tf":1.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.0},"76":{"tf":2.23606797749979},"77":{"tf":1.0},"82":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":29,"docs":{"107":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"140":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.7320508075688772},"22":{"tf":1.0},"23":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.4142135623730951},"41":{"tf":1.0},"5":{"tf":1.7320508075688772},"50":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}}}}}}},"p":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951}}}},"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"35":{"tf":1.0}}}},"df":1,"docs":{"28":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"x":{"df":4,"docs":{"28":{"tf":2.0},"35":{"tf":1.0},"54":{"tf":1.0},"67":{"tf":1.0}}}},"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}},"c":{"df":18,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"122":{"tf":1.0},"134":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.7320508075688772},"51":{"tf":1.7320508075688772},"52":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":2.0},"64":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}},"df":2,"docs":{"35":{"tf":1.4142135623730951},"53":{"tf":2.0}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"45":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"v":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"82":{"tf":1.0}}}},"s":{"_":{"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"35":{"tf":1.4142135623730951},"67":{"tf":1.0}},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":2,"docs":{"35":{"tf":1.0},"67":{"tf":1.0}}},"j":{"df":2,"docs":{"35":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":3,"docs":{"35":{"tf":2.0},"63":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"55":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":7,"docs":{"74":{"tf":2.0},"75":{"tf":1.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"82":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"u":{"df":16,"docs":{"118":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.4142135623730951},"134":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":2.0},"21":{"tf":1.0},"23":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":2.23606797749979},"53":{"tf":2.449489742783178},"55":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}}}}},"t":{"'":{"df":14,"docs":{"100":{"tf":1.0},"11":{"tf":1.7320508075688772},"116":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"37":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"6":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"78":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":19,"docs":{"11":{"tf":2.0},"120":{"tf":1.7320508075688772},"121":{"tf":1.0},"122":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"21":{"tf":1.7320508075688772},"28":{"tf":1.7320508075688772},"29":{"tf":1.0},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.8284271247461903},"54":{"tf":1.4142135623730951},"59":{"tf":3.1622776601683795},"60":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":5,"docs":{"134":{"tf":1.0},"16":{"tf":1.0},"30":{"tf":1.0},"53":{"tf":1.0},"92":{"tf":1.0}}}}}}},"​":{"+":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"→":{"0":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}}}}},"=":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":2,"docs":{"75":{"tf":1.0},"77":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"95":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"σ":{"df":0,"docs":{},"j":{"df":1,"docs":{"82":{"tf":1.0}}}},"​":{"+":{"df":0,"docs":{},"ψ":{"^":{",":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"→":{"0":{"df":1,"docs":{"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":{},"j":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"→":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"j":{"df":1,"docs":{"82":{"tf":1.0}}}}},"∂":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"2":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"−":{"a":{"df":0,"docs":{},"t":{"(":{"a":{"a":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"−":{"1":{"a":{")":{"df":0,"docs":{},"h":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"=":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"−":{"a":{"df":0,"docs":{},"t":{"(":{"a":{"a":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"−":{"1":{"a":{")":{"(":{"df":0,"docs":{},"−":{"df":0,"docs":{},"g":{")":{",":{"(":{"6":{".":{"2":{".":{"2":{"df":1,"docs":{"40":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":{},"h":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"=":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"−":{"a":{"df":0,"docs":{},"t":{"a":{")":{"(":{"df":0,"docs":{},"−":{"df":0,"docs":{},"g":{")":{".":{"(":{"5":{".":{"2":{".":{"2":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"j":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"=":{"1":{"df":2,"docs":{"89":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"t":{")":{"=":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"+":{"1":{"df":1,"docs":{"29":{"tf":1.7320508075688772}}},"df":0,"docs":{}},".":{"(":{"7":{".":{"2":{".":{"1":{"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":{}},"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"p":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"=":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{")":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ψ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"79":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"<":{"0":{"df":1,"docs":{"71":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"=":{"0":{"df":1,"docs":{"71":{"tf":1.0}}},"1":{"df":2,"docs":{"71":{"tf":1.4142135623730951},"74":{"tf":1.0}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"∏":{"df":0,"docs":{},"i":{"=":{"1":{"d":{"df":0,"docs":{},"​":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"σ":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"σ":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"…":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"σ":{"d":{"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":{}}}},">":{"1":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":7,"docs":{"32":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"41":{"tf":1.0},"71":{"tf":1.7320508075688772},"72":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}}},"df":11,"docs":{"117":{"tf":1.0},"134":{"tf":1.4142135623730951},"25":{"tf":3.7416573867739413},"29":{"tf":2.0},"35":{"tf":1.7320508075688772},"47":{"tf":1.0},"53":{"tf":1.7320508075688772},"67":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772},"85":{"tf":3.605551275463989},"86":{"tf":3.4641016151377544}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"j":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}}},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":5,"docs":{"1":{"tf":1.0},"142":{"tf":2.449489742783178},"2":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.7320508075688772}}}}}}}},"k":{"1":{"df":1,"docs":{"82":{"tf":1.0}}},"2":{",":{"df":0,"docs":{},"k":{"1":{",":{"0":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"3":{",":{"df":0,"docs":{},"k":{"2":{"df":0,"docs":{},"}":{",":{"df":0,"docs":{},"{":{"df":0,"docs":{},"k":{"3":{",":{"0":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"=":{"1":{"df":0,"docs":{},"e":{"3":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}}},"2":{"df":0,"docs":{},"e":{"4":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"q":{"df":1,"docs":{"82":{"tf":1.0}}}}}},"∣":{"df":0,"docs":{},"r":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"r":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"θ":{"=":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"r":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"27":{"tf":1.7320508075688772}}}},"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"a":{"df":7,"docs":{"119":{"tf":1.7320508075688772},"125":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":2.0},"62":{"tf":2.0},"63":{"tf":1.0},"67":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":7,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"32":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"142":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}},"df":14,"docs":{"123":{"tf":1.0},"124":{"tf":1.0},"16":{"tf":1.7320508075688772},"27":{"tf":2.23606797749979},"28":{"tf":3.872983346207417},"29":{"tf":2.23606797749979},"35":{"tf":2.6457513110645907},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"57":{"tf":2.0},"63":{"tf":1.0},"66":{"tf":2.0},"67":{"tf":2.8284271247461903},"82":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":8,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"114":{"tf":1.0},"124":{"tf":1.0},"63":{"tf":1.4142135623730951},"76":{"tf":1.0},"85":{"tf":1.0},"98":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"26":{"tf":1.0}}}},"y":{"df":15,"docs":{"120":{"tf":1.0},"124":{"tf":1.0},"16":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.4142135623730951},"6":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0},"80":{"tf":1.0}}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"142":{"tf":1.0}}},"n":{"d":{"df":2,"docs":{"134":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":8,"docs":{"107":{"tf":1.0},"129":{"tf":1.7320508075688772},"132":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.7320508075688772},"70":{"tf":1.7320508075688772},"71":{"tf":1.0},"72":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}},"r":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":3,"docs":{"79":{"tf":2.449489742783178},"80":{"tf":1.0},"83":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":3,"docs":{"107":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"t":{"df":7,"docs":{"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"32":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"41":{"tf":1.0},"49":{"tf":1.7320508075688772},"50":{"tf":1.0}}}},"m":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}},"n":{"df":2,"docs":{"58":{"tf":1.0},"63":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"w":{"df":12,"docs":{"107":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":1.0},"21":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"49":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"81":{"tf":1.4142135623730951},"9":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":13,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"7":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0}}}}},"​":{"=":{"2":{"1":{"df":0,"docs":{},"​":{"a":{"a":{"^":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"−":{"df":0,"docs":{},"∂":{"d":{"df":0,"docs":{},"∂":{"b":{"(":{"d":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"e":{")":{",":{"d":{"df":1,"docs":{"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{},"h":{"df":0,"docs":{},"n":{"df":7,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"32":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0}}}}},"​":{"(":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"ϵ":{")":{"=":{"0":{".":{"df":0,"docs":{},"​":{"(":{"2":{".":{"3":{".":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"b":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"∥":{"df":0,"docs":{},"−":{"df":0,"docs":{},"w":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"∥":{"=":{"df":0,"docs":{},"−":{"df":0,"docs":{},"w":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"b":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}}}},"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":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"(":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"λ":{")":{"=":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"+":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"+":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":1,"docs":{"32":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"2":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"df":0,"docs":{}},"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":1,"docs":{"27":{"tf":2.23606797749979}}}},"df":7,"docs":{"27":{"tf":2.0},"28":{"tf":3.872983346207417},"29":{"tf":1.7320508075688772},"35":{"tf":2.6457513110645907},"54":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.4142135623730951}}},"a":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"27":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"p":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772}}},"x":{"[":{"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"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":{}}}}}},"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"16":{"tf":1.0},"5":{"tf":1.0},"77":{"tf":1.0}}}},"df":2,"docs":{"27":{"tf":1.0},"28":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":4,"docs":{"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"32":{"tf":1.0},"40":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"n":{"df":5,"docs":{"115":{"tf":1.0},"32":{"tf":1.0},"70":{"tf":1.4142135623730951},"90":{"tf":1.4142135623730951},"93":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"m":{"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"27":{"tf":1.4142135623730951},"86":{"tf":1.7320508075688772}}}},"b":{"d":{"a":{"_":{"1":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}}},"n":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":9,"docs":{"125":{"tf":1.0},"15":{"tf":1.0},"22":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"27":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":4.47213595499958}},"e":{"df":3,"docs":{"74":{"tf":1.7320508075688772},"77":{"tf":1.0},"85":{"tf":1.4142135623730951}}}},"n":{"d":{"df":1,"docs":{"20":{"tf":1.0}}},"df":1,"docs":{"142":{"tf":1.0}},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}},"u":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"4":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":31,"docs":{"101":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.4142135623730951},"126":{"tf":1.0},"142":{"tf":1.4142135623730951},"17":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"76":{"tf":1.7320508075688772},"82":{"tf":1.0},"87":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"135":{"tf":1.0},"14":{"tf":1.0},"141":{"tf":1.0},"51":{"tf":1.0},"63":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":6,"docs":{"122":{"tf":1.0},"123":{"tf":2.0},"54":{"tf":1.0},"58":{"tf":1.0},"77":{"tf":1.0},"81":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"11":{"tf":1.0},"121":{"tf":1.0},"15":{"tf":1.0},"22":{"tf":1.0},"4":{"tf":1.4142135623730951},"89":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"82":{"tf":1.0}}}}}},"w":{"df":13,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"27":{"tf":1.0},"6":{"tf":2.23606797749979},"69":{"tf":1.0},"7":{"tf":1.0},"79":{"tf":1.0},"89":{"tf":1.7320508075688772},"9":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.0}},"s":{"df":0,"docs":{},"—":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"89":{"tf":1.0}}}}}}}},"y":{"df":3,"docs":{"37":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"16":{"tf":1.0},"32":{"tf":1.0},"48":{"tf":2.0},"54":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"f":{")":{"=":{"df":0,"docs":{},"ψ":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"(":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"120":{"tf":2.0},"16":{"tf":1.0},"27":{"tf":1.4142135623730951},"53":{"tf":1.0}},"e":{"a":{"d":{"df":22,"docs":{"11":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.4142135623730951},"21":{"tf":1.0},"29":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.4142135623730951},"40":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.4142135623730951},"82":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":4,"docs":{"4":{"tf":1.0},"61":{"tf":1.0},"85":{"tf":1.0},"98":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":39,"docs":{"109":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"12":{"tf":1.0},"121":{"tf":1.4142135623730951},"122":{"tf":1.0},"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"4":{"tf":1.7320508075688772},"44":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.7320508075688772},"83":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":3,"docs":{"21":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.0}}}}}}},"df":15,"docs":{"10":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"29":{"tf":1.0},"33":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"45":{"tf":1.0},"5":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}}}},"i":{"df":1,"docs":{"142":{"tf":1.0}}},"n":{"(":{"d":{"b":{"c":{"df":1,"docs":{"67":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"117":{"tf":1.0},"27":{"tf":2.449489742783178},"29":{"tf":1.4142135623730951},"85":{"tf":2.23606797749979},"86":{"tf":2.449489742783178},"87":{"tf":1.0}},"l":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"u":{"_":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"m":{"b":{"d":{"a":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"126":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"v":{"df":1,"docs":{"63":{"tf":2.0}}},"x":{"df":11,"docs":{"117":{"tf":1.0},"26":{"tf":2.6457513110645907},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.7320508075688772},"35":{"tf":2.23606797749979},"54":{"tf":3.0},"62":{"tf":2.23606797749979},"63":{"tf":1.4142135623730951},"67":{"tf":2.8284271247461903},"86":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":6,"docs":{"112":{"tf":2.0},"25":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"7":{"tf":1.0},"91":{"tf":1.0}}}}}},"q":{"df":3,"docs":{"32":{"tf":1.0},"45":{"tf":1.4142135623730951},"49":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"114":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0}}}},"t":{"'":{"df":11,"docs":{"101":{"tf":1.0},"112":{"tf":1.0},"125":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.4142135623730951},"82":{"tf":1.0},"92":{"tf":1.0}}},"df":1,"docs":{"89":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":4,"docs":{"18":{"tf":1.0},"24":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.7320508075688772}}},"r":{"a":{"df":0,"docs":{},"g":{"df":6,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0}}}},"df":0,"docs":{}}}},"w":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"25":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":9,"docs":{"1":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":1.0},"134":{"tf":1.0},"142":{"tf":2.6457513110645907},"2":{"tf":1.0},"42":{"tf":1.4142135623730951},"45":{"tf":1.0},"58":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"45":{"tf":1.0},"5":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"df":0,"docs":{}},"t":{"df":14,"docs":{"10":{"tf":1.0},"101":{"tf":1.4142135623730951},"117":{"tf":1.0},"16":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"54":{"tf":1.0},"67":{"tf":1.4142135623730951},"82":{"tf":1.7320508075688772},"97":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"e":{"1":{"df":2,"docs":{"118":{"tf":1.4142135623730951},"125":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"r":{"df":45,"docs":{"103":{"tf":1.0},"104":{"tf":2.0},"105":{"tf":3.1622776601683795},"106":{"tf":1.4142135623730951},"107":{"tf":2.23606797749979},"108":{"tf":2.449489742783178},"109":{"tf":2.23606797749979},"11":{"tf":1.7320508075688772},"110":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.7320508075688772},"115":{"tf":1.0},"116":{"tf":1.0},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":1.7320508075688772},"131":{"tf":1.0},"134":{"tf":1.0},"15":{"tf":1.7320508075688772},"18":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":2.0},"34":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.4142135623730951},"40":{"tf":1.0},"41":{"tf":1.7320508075688772},"43":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0},"6":{"tf":1.0},"74":{"tf":2.8284271247461903},"75":{"tf":1.7320508075688772},"76":{"tf":2.0},"77":{"tf":2.0},"85":{"tf":2.23606797749979},"87":{"tf":1.0},"88":{"tf":1.0},"99":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"11":{"tf":1.0},"41":{"tf":1.0},"88":{"tf":1.0}}}}}},"df":40,"docs":{"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":2.0},"118":{"tf":1.4142135623730951},"12":{"tf":1.0},"120":{"tf":1.7320508075688772},"121":{"tf":1.0},"125":{"tf":1.0},"132":{"tf":1.0},"134":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":3.3166247903554},"23":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"30":{"tf":1.0},"32":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"38":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"45":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":2.23606797749979},"52":{"tf":1.7320508075688772},"53":{"tf":3.7416573867739413},"54":{"tf":2.449489742783178},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.4142135623730951},"71":{"tf":1.0},"76":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":2.449489742783178},"88":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"k":{"df":5,"docs":{"12":{"tf":1.0},"4":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"96":{"tf":1.0}}},"​":{"(":{"df":0,"docs":{},"f":{")":{"=":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"ϵ":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"f":{"2":{"df":0,"docs":{},"​":{"+":{"2":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"2":{"(":{"df":0,"docs":{},"ϵ":{")":{".":{"(":{"1":{"3":{".":{"1":{".":{"4":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":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":{"74":{"tf":1.0}}}},"df":0,"docs":{}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"(":{"b":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"117":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"1":{"tf":1.0},"26":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"​":{"=":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"×":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"86":{"tf":2.449489742783178}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"j":{"df":1,"docs":{"86":{"tf":2.0}}}},"o":{"a":{"d":{"df":1,"docs":{"139":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"[":{"0":{":":{"2":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{":":{"4":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{":":{"6":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"119":{"tf":1.0},"67":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"119":{"tf":1.0}}}},"r":{"df":3,"docs":{"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0}}},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"86":{"tf":1.0}}}}},"df":5,"docs":{"119":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0},"86":{"tf":1.0}}}}}}},"df":22,"docs":{"106":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":2.449489742783178},"27":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":2.449489742783178},"57":{"tf":1.7320508075688772},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"73":{"tf":1.7320508075688772},"74":{"tf":1.4142135623730951},"77":{"tf":1.0},"92":{"tf":1.0}}},"t":{"df":10,"docs":{"105":{"tf":1.0},"134":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"5":{"tf":1.0},"61":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"118":{"tf":1.0}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"85":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}},"o":{"df":0,"docs":{},"k":{"df":3,"docs":{"113":{"tf":1.0},"125":{"tf":1.0},"76":{"tf":1.0}}},"p":{"df":6,"docs":{"136":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"112":{"tf":1.0},"113":{"tf":1.0}}}},"t":{"df":2,"docs":{"76":{"tf":1.0},"92":{"tf":1.0}}},"w":{"df":1,"docs":{"66":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"63":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":6,"docs":{"106":{"tf":2.0},"130":{"tf":1.0},"6":{"tf":1.4142135623730951},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0}}}}},"y":{"df":1,"docs":{"62":{"tf":1.0}}}},"m":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"26":{"tf":1.0}},"n":{"+":{"1":{"df":0,"docs":{},"−":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"+":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{")":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"2":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"+":{"1":{")":{"=":{"0":{".":{"(":{"1":{".":{"5":{".":{"2":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"96":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":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":{"57":{"tf":1.0}}},"[":{"0":{"df":1,"docs":{"86":{"tf":2.0}}},"1":{"df":1,"docs":{"86":{"tf":2.0}}},"2":{"df":1,"docs":{"86":{"tf":2.0}}},"3":{"df":1,"docs":{"86":{"tf":2.0}}},"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":2,"docs":{"26":{"tf":1.7320508075688772},"35":{"tf":1.4142135623730951}}}},"\\":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"b":{"df":0,"docs":{},"{":{"df":0,"docs":{},"r":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"d":{"df":0,"docs":{},"n":{"\\":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"6":{"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":{},"q":{"df":1,"docs":{"15":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"15":{"tf":1.0},"32":{"tf":1.0}}}}}}},"_":{"1":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"a":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"e":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"t":{"(":{"a":{")":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"4":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"m":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"=":{"0":{"(":{"a":{"df":0,"docs":{},"":{"=":{"b":{"df":1,"docs":{"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":{}},"df":0,"docs":{}}},"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":{},"∈":{"df":0,"docs":{},"v":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"d":{"df":0,"docs":{},"x":{",":{"(":{"1":{"9":{".":{"2":{".":{"5":{"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":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}},"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"δ":{"a":{"b":{"df":0,"docs":{},"​":{"c":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"a":{"c":{"df":1,"docs":{"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"∑":{"c":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"a":{"c":{"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":{},"e":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"d":{"df":0,"docs":{},"x":{",":{"(":{"1":{"9":{".":{"2":{".":{"2":{"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":1,"docs":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"∫":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"d":{"df":0,"docs":{},"x":{"(":{"1":{"7":{".":{"1":{".":{"2":{"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":{}},".":{"(":{"1":{"9":{".":{"2":{".":{"1":{"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":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"101":{"tf":1.0},"56":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"e":{"df":2,"docs":{"34":{"tf":1.0},"54":{"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":14,"docs":{"120":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.0},"57":{"tf":2.0},"58":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"141":{"tf":1.0},"4":{"tf":1.0},"66":{"tf":1.0}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":21,"docs":{"10":{"tf":1.0},"100":{"tf":1.0},"101":{"tf":1.0},"132":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0}}}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"d":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"27":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":32,"docs":{"0":{"tf":1.0},"105":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.4142135623730951},"119":{"tf":1.0},"124":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"16":{"tf":2.0},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.4142135623730951},"4":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.7320508075688772},"66":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.4142135623730951},"87":{"tf":1.0},"92":{"tf":1.4142135623730951}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":7,"docs":{"135":{"tf":1.0},"139":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":10,"docs":{"11":{"tf":1.0},"29":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"79":{"tf":1.0}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"31":{"tf":1.0},"33":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"15":{"tf":1.0},"29":{"tf":1.0},"45":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0}}}}}},"p":{"df":5,"docs":{"100":{"tf":1.0},"70":{"tf":3.0},"71":{"tf":2.23606797749979},"72":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951}},"l":{"df":1,"docs":{"79":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"131":{"tf":1.0}}}}},"k":{"df":4,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"(":{"b":{"df":0,"docs":{},"ϵ":{"df":0,"docs":{},"t":{"df":1,"docs":{"90":{"tf":1.0}},"​":{")":{"=":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"(":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":1,"docs":{"90":{"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":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"89":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":34,"docs":{"10":{"tf":1.0},"106":{"tf":2.6457513110645907},"108":{"tf":1.4142135623730951},"11":{"tf":1.0},"130":{"tf":2.6457513110645907},"132":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":2.6457513110645907},"28":{"tf":1.0},"29":{"tf":3.1622776601683795},"30":{"tf":1.4142135623730951},"35":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":2.0},"6":{"tf":2.23606797749979},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.7320508075688772},"9":{"tf":1.4142135623730951},"90":{"tf":3.4641016151377544},"93":{"tf":1.4142135623730951},"95":{"tf":2.449489742783178},"96":{"tf":1.0},"97":{"tf":1.0}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}},"y":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.0},"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"27":{"tf":1.0}}}},"v":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.0},"35":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":5,"docs":{"101":{"tf":1.0},"14":{"tf":1.0},"48":{"tf":1.0},"57":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"'":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"—":{"df":0,"docs":{},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"69":{"tf":1.0}}}}}}}}}}},"df":27,"docs":{"101":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"12":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"142":{"tf":1.7320508075688772},"17":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.4142135623730951},"69":{"tf":1.7320508075688772},"70":{"tf":4.0},"71":{"tf":3.1622776601683795},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.7320508075688772},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":3.0},"80":{"tf":1.7320508075688772},"83":{"tf":1.4142135623730951},"88":{"tf":1.0},"90":{"tf":2.0},"91":{"tf":2.23606797749979},"92":{"tf":1.0},"93":{"tf":1.0}}}}},"h":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"(":{"df":6,"docs":{"119":{"tf":1.7320508075688772},"125":{"tf":1.0},"54":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":1.4142135623730951}},"j":{"df":1,"docs":{"86":{"tf":1.0}}},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"s":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":1,"docs":{"125":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"2":{"_":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"d":{"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"120":{"tf":1.0}}},"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":{"b":{"df":0,"docs":{},"{":{"df":0,"docs":{},"r":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"m":{"\\":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"df":1,"docs":{"15":{"tf":1.4142135623730951}}},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"a":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}},"c":{"df":2,"docs":{"45":{"tf":1.4142135623730951},"5":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}},"n":{"df":1,"docs":{"45":{"tf":1.0}}},"p":{"df":1,"docs":{"54":{"tf":1.4142135623730951}},"}":{"_":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"}":{"_":{"0":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}},"x":{"df":3,"docs":{"45":{"tf":1.0},"47":{"tf":1.0},"54":{"tf":1.0}},"}":{"_":{"0":{"df":1,"docs":{"52":{"tf":1.7320508075688772}}},"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}},"{":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":1,"docs":{"45":{"tf":1.0}}}},"df":0,"docs":{}},"j":{"df":0,"docs":{},"k":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}}},"z":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":4,"docs":{"120":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"86":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":10,"docs":{"14":{"tf":1.0},"34":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"79":{"tf":1.0}},"i":{"c":{"a":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"c":{"df":9,"docs":{"131":{"tf":1.0},"22":{"tf":1.7320508075688772},"23":{"tf":1.0},"28":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.7320508075688772},"75":{"tf":1.0},"82":{"tf":1.7320508075688772}},"i":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":31,"docs":{"10":{"tf":1.0},"106":{"tf":2.0},"108":{"tf":1.4142135623730951},"11":{"tf":1.0},"130":{"tf":2.449489742783178},"132":{"tf":1.0},"15":{"tf":1.7320508075688772},"20":{"tf":1.0},"22":{"tf":3.1622776601683795},"23":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":2.23606797749979},"32":{"tf":2.8284271247461903},"33":{"tf":2.0},"37":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":2.449489742783178},"42":{"tf":2.0},"6":{"tf":2.23606797749979},"63":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":2.6457513110645907},"72":{"tf":1.0},"74":{"tf":2.449489742783178},"75":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"82":{"tf":2.8284271247461903},"85":{"tf":1.4142135623730951},"9":{"tf":1.0},"95":{"tf":2.23606797749979}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"x":{"(":{"0":{"df":1,"docs":{"27":{"tf":1.0}}},"a":{"1":{"df":0,"docs":{},"​":{",":{"a":{"2":{"df":0,"docs":{},"​":{",":{".":{".":{".":{",":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"≈":{"(":{"a":{"1":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"+":{"a":{"2":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"…":{"+":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"p":{"1":{"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":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":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"_":{"df":1,"docs":{"120":{"tf":1.4142135623730951}},"p":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"120":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}},"df":4,"docs":{"114":{"tf":1.7320508075688772},"123":{"tf":1.0},"134":{"tf":1.4142135623730951},"32":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"102":{"tf":1.0},"17":{"tf":1.0},"57":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"22":{"tf":1.0},"54":{"tf":1.0}}}}}},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":1,"docs":{"32":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}},"d":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":21,"docs":{"14":{"tf":1.4142135623730951},"142":{"tf":2.23606797749979},"15":{"tf":1.7320508075688772},"26":{"tf":2.0},"28":{"tf":3.872983346207417},"29":{"tf":1.7320508075688772},"32":{"tf":1.7320508075688772},"33":{"tf":1.4142135623730951},"35":{"tf":3.3166247903554},"40":{"tf":1.4142135623730951},"41":{"tf":1.7320508075688772},"52":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"6":{"tf":1.7320508075688772},"63":{"tf":1.0},"66":{"tf":3.1622776601683795},"67":{"tf":2.23606797749979},"86":{"tf":1.0},"9":{"tf":1.0},"95":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"n":{"df":18,"docs":{"106":{"tf":1.0},"122":{"tf":1.0},"134":{"tf":1.0},"140":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"70":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"77":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.7320508075688772},"87":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"119":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":12,"docs":{"119":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"5":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":2.0},"74":{"tf":1.4142135623730951},"79":{"tf":1.0},"90":{"tf":1.0},"94":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":13,"docs":{"111":{"tf":1.0},"115":{"tf":1.4142135623730951},"142":{"tf":1.0},"4":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.7320508075688772},"74":{"tf":1.0},"83":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"34":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"26":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"38":{"tf":1.0},"42":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"55":{"tf":1.0},"71":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"df":20,"docs":{"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"128":{"tf":1.0},"133":{"tf":1.7320508075688772},"134":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"25":{"tf":2.8284271247461903},"27":{"tf":1.7320508075688772},"29":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"5":{"tf":3.3166247903554},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.0},"92":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":3,"docs":{"15":{"tf":1.0},"36":{"tf":1.0},"66":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"d":{"'":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":62,"docs":{"10":{"tf":2.0},"103":{"tf":1.4142135623730951},"105":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":3.1622776601683795},"111":{"tf":1.0},"12":{"tf":2.449489742783178},"120":{"tf":1.4142135623730951},"121":{"tf":1.4142135623730951},"128":{"tf":1.0},"134":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"142":{"tf":1.7320508075688772},"15":{"tf":1.4142135623730951},"16":{"tf":3.872983346207417},"17":{"tf":1.7320508075688772},"18":{"tf":2.449489742783178},"20":{"tf":2.8284271247461903},"21":{"tf":2.8284271247461903},"22":{"tf":3.3166247903554},"23":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.7320508075688772},"33":{"tf":1.7320508075688772},"34":{"tf":2.23606797749979},"36":{"tf":1.4142135623730951},"37":{"tf":1.0},"38":{"tf":1.0},"4":{"tf":1.0},"40":{"tf":2.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"5":{"tf":3.7416573867739413},"50":{"tf":1.0},"51":{"tf":1.7320508075688772},"52":{"tf":1.7320508075688772},"53":{"tf":2.449489742783178},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"6":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":2.23606797749979},"67":{"tf":1.0},"68":{"tf":1.4142135623730951},"7":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":1.4142135623730951},"82":{"tf":1.0},"89":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772},"90":{"tf":2.0},"92":{"tf":1.0},"93":{"tf":1.0}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":4,"docs":{"115":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"79":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.0}}}}},"df":0,"docs":{}}}},"g":{"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"df":0,"docs":{},"z":{"df":1,"docs":{"14":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"h":{"df":1,"docs":{"14":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"56":{"tf":1.0},"69":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"d":{"d":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.0},"5":{"tf":1.4142135623730951},"52":{"tf":1.0},"63":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.4142135623730951}},"n":{"(":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":4,"docs":{"54":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}}}}},"b":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"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":1,"docs":{"120":{"tf":1.0}},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"1":{"tf":1.0},"142":{"tf":2.0},"2":{"tf":1.0},"3":{"tf":1.0}}}}}},"df":3,"docs":{"101":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"32":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"a":{"df":1,"docs":{"51":{"tf":1.0}}},"df":15,"docs":{"101":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"55":{"tf":1.0},"59":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":15,"docs":{"101":{"tf":1.0},"120":{"tf":1.4142135623730951},"131":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"27":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"74":{"tf":1.4142135623730951},"87":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{",":{"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":{},"e":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"+":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"20":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"16":{"tf":1.0},"7":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":2,"docs":{"51":{"tf":1.0},"55":{"tf":1.0}}}}},"​":{"=":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"×":{"[":{"0":{"df":0,"docs":{},"​":{"1":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"1":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"k":{"df":1,"docs":{"66":{"tf":1.0}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"106":{"tf":1.0}}}}}},"o":{"d":{"df":1,"docs":{"15":{"tf":1.0}},"e":{"df":2,"docs":{"74":{"tf":1.0},"77":{"tf":1.0}},"l":{"df":42,"docs":{"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"107":{"tf":1.0},"113":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":2.6457513110645907},"17":{"tf":3.0},"18":{"tf":2.23606797749979},"20":{"tf":1.4142135623730951},"27":{"tf":1.0},"31":{"tf":1.0},"4":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":2.23606797749979},"5":{"tf":1.7320508075688772},"51":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":2.23606797749979},"68":{"tf":1.0},"69":{"tf":1.7320508075688772},"7":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":3.0},"75":{"tf":1.0},"76":{"tf":2.449489742783178},"77":{"tf":2.23606797749979},"79":{"tf":2.0},"80":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"84":{"tf":1.7320508075688772},"85":{"tf":1.0},"88":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"5":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"f":{"df":5,"docs":{"16":{"tf":1.0},"27":{"tf":1.4142135623730951},"34":{"tf":1.0},"5":{"tf":1.4142135623730951},"53":{"tf":1.0}},"i":{"df":11,"docs":{"11":{"tf":1.0},"131":{"tf":1.0},"21":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.0},"42":{"tf":1.0},"62":{"tf":1.4142135623730951},"67":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":5,"docs":{"101":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":2,"docs":{"102":{"tf":1.0},"141":{"tf":1.0}},"i":{"df":3,"docs":{"134":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.4142135623730951}}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"12":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":12,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"63":{"tf":1.0},"89":{"tf":1.7320508075688772},"91":{"tf":2.449489742783178},"92":{"tf":2.0},"93":{"tf":1.7320508075688772},"94":{"tf":1.4142135623730951},"97":{"tf":1.0},"99":{"tf":1.0}},"—":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"93":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"5":{"tf":1.0},"93":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"120":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":38,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"11":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.0},"126":{"tf":1.0},"135":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"141":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"23":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951},"37":{"tf":1.0},"4":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.7320508075688772},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.4142135623730951},"99":{"tf":1.0}},"o":{"df":0,"docs":{},"v":{"df":3,"docs":{"10":{"tf":1.0},"18":{"tf":1.0},"75":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":20,"docs":{"10":{"tf":1.4142135623730951},"15":{"tf":1.0},"17":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"38":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.449489742783178},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"58":{"tf":1.0},"6":{"tf":1.4142135623730951},"60":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":2.8284271247461903},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"91":{"tf":1.0}}}},"v":{"df":1,"docs":{"4":{"tf":1.0}}}}},"v":{"df":1,"docs":{"120":{"tf":2.0}},"e":{"df":21,"docs":{"120":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"18":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.0},"50":{"tf":1.4142135623730951},"57":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"68":{"tf":1.7320508075688772},"70":{"tf":1.7320508075688772},"71":{"tf":1.0},"87":{"tf":1.4142135623730951},"95":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":9,"docs":{"131":{"tf":1.0},"17":{"tf":1.4142135623730951},"29":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"45":{"tf":1.0},"6":{"tf":1.4142135623730951},"67":{"tf":1.0},"87":{"tf":1.0}}}}}}}}},"p":{"df":0,"docs":{},"m":{"df":5,"docs":{"12":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":2.23606797749979}}}},"u":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}}},"_":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"m":{"b":{"d":{"a":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"63":{"tf":2.6457513110645907}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"[":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"125":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"126":{"tf":1.7320508075688772}}}},"df":1,"docs":{"125":{"tf":1.0}}}}}}},"df":2,"docs":{"63":{"tf":2.6457513110645907},"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"125":{"tf":1.4142135623730951},"126":{"tf":2.449489742783178},"85":{"tf":1.0}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"113":{"tf":1.0},"120":{"tf":1.0},"43":{"tf":1.0},"87":{"tf":1.0}}}},"d":{"df":1,"docs":{"69":{"tf":1.0}}},"df":4,"docs":{"117":{"tf":1.0},"125":{"tf":1.0},"63":{"tf":2.8284271247461903},"86":{"tf":4.58257569495584}},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"58":{"tf":1.0}},"p":{"df":0,"docs":{},"l":{"df":6,"docs":{"101":{"tf":1.0},"114":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.0},"69":{"tf":1.0}},"i":{"df":11,"docs":{"101":{"tf":1.0},"112":{"tf":1.0},"134":{"tf":1.0},"141":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"40":{"tf":1.0},"42":{"tf":1.7320508075688772},"74":{"tf":1.0}}}}}}}},"s":{"c":{"df":0,"docs":{},"l":{"df":2,"docs":{"69":{"tf":1.0},"74":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"95":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}}},"×":{"d":{"df":0,"docs":{},"n":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"42":{"tf":1.0}}}}},"n":{"(":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"134":{"tf":1.0}}},"df":0,"docs":{}},"x":{")":{"=":{"df":0,"docs":{},"{":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∥":{"<":{"df":0,"docs":{},"r":{"df":1,"docs":{"101":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},",":{"df":0,"docs":{},"t":{")":{"=":{"0":{".":{"df":0,"docs":{},"​":{"(":{"1":{"8":{".":{"4":{".":{"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":{}},"df":0,"docs":{}}},"df":1,"docs":{"103":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.0}}}},"df":5,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"91":{"tf":1.0}}}},"+":{"1":{"df":6,"docs":{"10":{"tf":1.0},"104":{"tf":1.0},"123":{"tf":1.0},"66":{"tf":1.0},"76":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"i":{"df":3,"docs":{"62":{"tf":2.0},"63":{"tf":1.0},"67":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"/":{"a":{"df":1,"docs":{"142":{"tf":3.4641016151377544}}},"df":0,"docs":{}},"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"95":{"tf":1.0}}},"β":{",":{"df":0,"docs":{},"γ":{")":{"+":{"df":0,"docs":{},"n":{"2":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"β":{",":{"df":0,"docs":{},"γ":{")":{"+":{"df":0,"docs":{},"n":{"3":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"β":{",":{"df":0,"docs":{},"γ":{")":{"=":{"1":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":0,"docs":{},"−":{"df":0,"docs":{},"β":{"df":0,"docs":{},"−":{"df":0,"docs":{},"γ":{",":{"df":0,"docs":{},"n":{"2":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"β":{",":{"df":0,"docs":{},"γ":{")":{"=":{"df":0,"docs":{},"β":{",":{"df":0,"docs":{},"n":{"3":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"2":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"95":{"tf":1.0}}}},"df":0,"docs":{}}},"3":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"95":{"tf":1.0}}}},"df":0,"docs":{}}},"=":{"(":{"0":{",":{"df":0,"docs":{},"−":{"1":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{",":{"1":{",":{"2":{",":{"\\":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{}},"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":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}}},"df":0,"docs":{}}},"\\":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}},"^":{"=":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"−":{"df":0,"docs":{},"n":{"df":0,"docs":{},"x":{"df":1,"docs":{"62":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"+":{"1":{")":{"*":{"(":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"+":{"1":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"29":{"tf":2.449489742783178}}},"df":0,"docs":{}},"df":7,"docs":{"117":{"tf":2.0},"25":{"tf":4.58257569495584},"29":{"tf":3.1622776601683795},"35":{"tf":1.7320508075688772},"54":{"tf":1.0},"67":{"tf":1.7320508075688772},"85":{"tf":3.7416573867739413}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"a":{"^":{"2":{"df":3,"docs":{"21":{"tf":2.0},"22":{"tf":2.8284271247461903},"26":{"tf":1.0}}},"df":0,"docs":{}},"df":7,"docs":{"11":{"tf":1.0},"14":{"tf":1.7320508075688772},"16":{"tf":1.0},"21":{"tf":2.449489742783178},"22":{"tf":1.0},"26":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":4,"docs":{"104":{"tf":1.0},"106":{"tf":1.4142135623730951},"112":{"tf":1.0},"113":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":3,"docs":{"115":{"tf":1.0},"21":{"tf":1.0},"75":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"_":{"c":{"c":{"d":{"(":{"_":{"df":0,"docs":{},"p":{"df":1,"docs":{"120":{"tf":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":{"120":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"1":{"tf":1.0},"27":{"tf":1.4142135623730951},"5":{"tf":1.0},"71":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"37":{"tf":1.0}}}}},"​":{"(":{"df":0,"docs":{},"x":{")":{":":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"df":1,"docs":{"95":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"b":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}},"d":{"df":3,"docs":{"104":{"tf":1.0},"95":{"tf":1.7320508075688772},"97":{"tf":1.4142135623730951}}},"df":28,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"11":{"tf":1.0},"117":{"tf":1.4142135623730951},"124":{"tf":2.0},"125":{"tf":2.6457513110645907},"126":{"tf":2.6457513110645907},"127":{"tf":1.0},"22":{"tf":1.7320508075688772},"25":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":2.8284271247461903},"63":{"tf":3.0},"67":{"tf":2.8284271247461903},"7":{"tf":1.7320508075688772},"70":{"tf":1.0},"87":{"tf":1.0},"9":{"tf":1.7320508075688772},"91":{"tf":1.7320508075688772},"94":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"99":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"i":{"df":5,"docs":{"136":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"23":{"tf":1.0},"53":{"tf":1.0},"71":{"tf":1.0}}}},"df":1,"docs":{"42":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"120":{"tf":1.0},"126":{"tf":1.0},"82":{"tf":1.7320508075688772}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"100":{"tf":1.0},"141":{"tf":1.0},"15":{"tf":1.0},"29":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"75":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"105":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"41":{"tf":1.0},"6":{"tf":1.0}}}}}}},"df":1,"docs":{"29":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":7,"docs":{"11":{"tf":1.0},"133":{"tf":1.0},"14":{"tf":1.0},"5":{"tf":1.0},"55":{"tf":1.0},"79":{"tf":1.0},"85":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"d":{"df":41,"docs":{"101":{"tf":1.4142135623730951},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"111":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.4142135623730951},"53":{"tf":1.0},"55":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"g":{"df":16,"docs":{"101":{"tf":1.0},"131":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"27":{"tf":1.7320508075688772},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"55":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.4142135623730951},"82":{"tf":1.0},"87":{"tf":1.0}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"101":{"tf":1.0},"113":{"tf":1.4142135623730951},"134":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"df":12,"docs":{"142":{"tf":1.0},"20":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.4142135623730951},"86":{"tf":1.0},"88":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"86":{"tf":1.7320508075688772},"87":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}},"q":{"df":2,"docs":{"16":{"tf":1.0},"21":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"136":{"tf":1.0}}}},"t":{"df":1,"docs":{"91":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}}}}},"u":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":6,"docs":{"100":{"tf":1.7320508075688772},"103":{"tf":1.4142135623730951},"109":{"tf":1.0},"112":{"tf":2.8284271247461903},"113":{"tf":1.0},"99":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"r":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.0},"53":{"tf":1.0}}}}},"w":{"df":7,"docs":{"10":{"tf":1.0},"117":{"tf":1.4142135623730951},"21":{"tf":1.7320508075688772},"41":{"tf":1.7320508075688772},"53":{"tf":1.0},"66":{"tf":1.0},"87":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":15,"docs":{"10":{"tf":1.0},"11":{"tf":2.6457513110645907},"12":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":2.8284271247461903},"21":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"27":{"tf":1.0},"6":{"tf":2.23606797749979},"69":{"tf":1.0},"7":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.0}}},"df":16,"docs":{"142":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.7320508075688772},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.7320508075688772},"23":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"32":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":2.0},"67":{"tf":1.0}}}}}},"x":{"df":0,"docs":{},"t":{"df":34,"docs":{"101":{"tf":1.4142135623730951},"103":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"118":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"134":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"77":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":1.0},"9":{"tf":1.4142135623730951},"93":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.4142135623730951}}}}},"h":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"f":{")":{"=":{"2":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{")":{"df":0,"docs":{},"−":{"d":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"j":{")":{"+":{"2":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"2":{"(":{"df":0,"docs":{},"j":{")":{".":{"(":{"1":{"3":{".":{"1":{".":{"2":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{},"h":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{")":{"=":{"2":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"i":{"=":{"1":{"df":0,"docs":{},"∑":{"d":{"df":0,"docs":{},"​":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"d":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"j":{")":{"+":{"2":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"2":{"(":{"df":0,"docs":{},"j":{"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":2,"docs":{"74":{"tf":1.0},"76":{"tf":1.0}}},"σ":{")":{"=":{"2":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"∑":{"d":{"df":0,"docs":{},"​":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"d":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"j":{")":{"+":{"2":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"2":{"(":{"df":0,"docs":{},"j":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"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":7,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"119":{"tf":1.0},"126":{"tf":1.0},"27":{"tf":1.4142135623730951},"42":{"tf":2.0},"67":{"tf":1.4142135623730951}},"t":{"df":1,"docs":{"42":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"′":{"df":0,"docs":{},"​":{")":{"=":{"0":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"=":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"=":{"1":{"[":{"1":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"​":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{",":{"(":{"6":{".":{"3":{".":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}}}}}},"df":0,"docs":{}}},"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":{},"​":{"=":{"0":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"95":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"j":{"df":4,"docs":{"119":{"tf":1.4142135623730951},"126":{"tf":1.0},"27":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}}},"k":{"df":1,"docs":{"57":{"tf":1.4142135623730951}},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"57":{"tf":1.0}}}},"=":{"0":{",":{"(":{"9":{".":{"1":{".":{"1":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"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":1,"docs":{"123":{"tf":1.0}}},"o":{"d":{"a":{"df":0,"docs":{},"l":{"df":16,"docs":{"101":{"tf":1.0},"107":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"125":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"47":{"tf":1.0},"54":{"tf":1.0},"60":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":47,"docs":{"105":{"tf":1.4142135623730951},"106":{"tf":2.0},"107":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":2.0},"113":{"tf":1.4142135623730951},"117":{"tf":3.0},"118":{"tf":1.4142135623730951},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"130":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"134":{"tf":2.0},"15":{"tf":1.4142135623730951},"22":{"tf":2.0},"23":{"tf":1.0},"25":{"tf":2.0},"29":{"tf":2.8284271247461903},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":3.605551275463989},"33":{"tf":2.23606797749979},"34":{"tf":3.0},"35":{"tf":2.0},"36":{"tf":1.4142135623730951},"38":{"tf":2.0},"42":{"tf":3.0},"43":{"tf":1.0},"45":{"tf":1.7320508075688772},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"5":{"tf":2.6457513110645907},"53":{"tf":1.7320508075688772},"54":{"tf":2.6457513110645907},"57":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":3.1622776601683795},"67":{"tf":3.4641016151377544},"68":{"tf":1.7320508075688772},"7":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}},"df":37,"docs":{"100":{"tf":2.0},"101":{"tf":1.4142135623730951},"114":{"tf":1.7320508075688772},"117":{"tf":1.0},"121":{"tf":1.7320508075688772},"123":{"tf":1.0},"125":{"tf":1.0},"131":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"27":{"tf":1.0},"34":{"tf":1.4142135623730951},"40":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":2.0},"47":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.0},"67":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.7320508075688772},"84":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":2.6457513110645907},"88":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"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":{"43":{"tf":1.0}}}}}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":12,"docs":{"107":{"tf":1.4142135623730951},"11":{"tf":1.7320508075688772},"113":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"142":{"tf":1.0},"15":{"tf":1.4142135623730951},"20":{"tf":2.0},"58":{"tf":1.0},"59":{"tf":1.0},"74":{"tf":1.0},"77":{"tf":1.0}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0}}}}}}},"h":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"102":{"tf":1.4142135623730951},"123":{"tf":1.0},"17":{"tf":1.0},"57":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"124":{"tf":1.0}}}}}}},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":4,"docs":{"101":{"tf":1.4142135623730951},"105":{"tf":1.0},"106":{"tf":1.0},"26":{"tf":2.0}}}}}}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":25,"docs":{"100":{"tf":2.0},"102":{"tf":1.4142135623730951},"109":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.7320508075688772},"122":{"tf":1.0},"123":{"tf":2.6457513110645907},"124":{"tf":2.6457513110645907},"125":{"tf":2.23606797749979},"127":{"tf":1.4142135623730951},"32":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":2.23606797749979},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"67":{"tf":1.4142135623730951},"82":{"tf":1.0},"91":{"tf":1.4142135623730951}}}},"df":2,"docs":{"114":{"tf":1.4142135623730951},"4":{"tf":1.0}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":11,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"17":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":5,"docs":{"71":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":22,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"106":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.7320508075688772},"86":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0}}}},"w":{"df":31,"docs":{"113":{"tf":1.4142135623730951},"116":{"tf":1.0},"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"132":{"tf":1.4142135623730951},"134":{"tf":1.4142135623730951},"140":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"28":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"57":{"tf":1.0},"6":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"7":{"tf":1.0},"78":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":2.449489742783178},"87":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0}}}},"p":{".":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":1,"docs":{"120":{"tf":1.0}},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":1,"docs":{"117":{"tf":1.0}},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"v":{"[":{"2":{"df":5,"docs":{"119":{"tf":1.0},"126":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{}}}},"x":{"df":2,"docs":{"117":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"(":{"[":{"0":{".":{"0":{"df":9,"docs":{"117":{"tf":2.0},"118":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"67":{"tf":2.6457513110645907},"86":{"tf":1.0}}},"1":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"0":{"0":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"[":{"0":{".":{"0":{"df":11,"docs":{"118":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"_":{"d":{"df":0,"docs":{},"x":{"_":{"2":{"df":1,"docs":{"86":{"tf":1.0}}},"4":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":1,"docs":{"117":{"tf":1.0}}},"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"(":{"d":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"118":{"tf":2.449489742783178},"125":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"2":{"df":3,"docs":{"126":{"tf":2.0},"27":{"tf":1.0},"63":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}}},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"[":{"df":0,"docs":{},"p":{"2":{"1":{"df":1,"docs":{"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"x":{"2":{"1":{"df":1,"docs":{"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"b":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"u":{"df":1,"docs":{"86":{"tf":1.0}}},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"86":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"t":{"b":{"df":1,"docs":{"85":{"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":{},"r":{"df":0,"docs":{},"m":{"(":{"d":{"df":0,"docs":{},"p":{"df":1,"docs":{"120":{"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":0,"docs":{},"n":{"df":2,"docs":{"117":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"n":{"df":1,"docs":{"125":{"tf":1.0}}},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"126":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"v":{"d":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"v":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"27":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":4,"docs":{"126":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"67":{"tf":1.0}}},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"126":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"(":{"[":{"2":{"df":1,"docs":{"118":{"tf":1.0}}},"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"[":{"0":{":":{"2":{"df":1,"docs":{"118":{"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":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"f":{")":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}}}},"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":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"f":{")":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"b":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"t":{")":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"v":{"df":1,"docs":{"126":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"v":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"63":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"v":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":13,"docs":{"118":{"tf":1.7320508075688772},"120":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0},"86":{"tf":1.0}}},"u":{"=":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"[":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"[":{"df":0,"docs":{},"v":{"df":0,"docs":{},"u":{",":{"df":0,"docs":{},"v":{"df":0,"docs":{},"u":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"117":{"tf":1.0},"85":{"tf":2.23606797749979}},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"74":{"tf":2.23606797749979},"77":{"tf":1.4142135623730951}}}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":16,"docs":{"120":{"tf":1.0},"135":{"tf":1.4142135623730951},"141":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.0},"5":{"tf":1.4142135623730951},"54":{"tf":1.0},"57":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}}}},"df":2,"docs":{"117":{"tf":1.0},"29":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":14,"docs":{"10":{"tf":1.0},"118":{"tf":2.0},"12":{"tf":1.0},"120":{"tf":1.7320508075688772},"121":{"tf":1.4142135623730951},"131":{"tf":1.0},"29":{"tf":1.0},"4":{"tf":1.0},"66":{"tf":1.4142135623730951},"71":{"tf":1.0},"87":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}}}},"p":{"df":0,"docs":{},"i":{"df":13,"docs":{"118":{"tf":1.7320508075688772},"120":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"35":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"67":{"tf":1.0},"86":{"tf":1.0}}},"y":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"df":2,"docs":{"27":{"tf":1.0},"28":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"v":{"=":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"[":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"[":{"df":0,"docs":{},"v":{"df":0,"docs":{},"v":{",":{"df":0,"docs":{},"v":{"df":0,"docs":{},"v":{"df":1,"docs":{"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":{},"x":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{")":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{")":{".":{"(":{"2":{"0":{".":{"1":{".":{"1":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":1,"docs":{"99":{"tf":1.0}}},"df":0,"docs":{}}},"∪":{"df":0,"docs":{},"γ":{"d":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ω":{"0":{"df":1,"docs":{"99":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"o":{"(":{"df":0,"docs":{},"n":{"^":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"+":{"3":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"j":{"df":1,"docs":{"29":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"t":{"'":{"df":2,"docs":{"5":{"tf":1.0},"50":{"tf":1.0}}},"df":21,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":2.23606797749979},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"45":{"tf":1.4142135623730951},"49":{"tf":1.0},"5":{"tf":2.0},"50":{"tf":2.23606797749979},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0}},"’":{"df":1,"docs":{"5":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":8,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"126":{"tf":1.0},"56":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"77":{"tf":1.0},"81":{"tf":1.0}}}}},"t":{"a":{"c":{"df":0,"docs":{},"l":{"df":14,"docs":{"101":{"tf":1.4142135623730951},"113":{"tf":2.449489742783178},"114":{"tf":1.0},"15":{"tf":1.0},"44":{"tf":1.4142135623730951},"47":{"tf":2.23606797749979},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":2.449489742783178},"53":{"tf":2.23606797749979},"55":{"tf":1.4142135623730951},"64":{"tf":1.0},"66":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":26,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.0},"118":{"tf":1.4142135623730951},"120":{"tf":1.0},"121":{"tf":1.4142135623730951},"123":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"134":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.7320508075688772},"42":{"tf":2.23606797749979},"52":{"tf":1.0},"53":{"tf":2.0},"57":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":1.0},"74":{"tf":1.0},"87":{"tf":1.7320508075688772},"91":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"96":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"32":{"tf":1.0},"70":{"tf":1.0}}}},"r":{"df":9,"docs":{"101":{"tf":1.0},"117":{"tf":1.0},"131":{"tf":1.0},"16":{"tf":1.0},"53":{"tf":1.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0}},"r":{"df":1,"docs":{"101":{"tf":1.0}}}}}},"df":0,"docs":{}},"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":5,"docs":{"113":{"tf":1.0},"62":{"tf":3.0},"63":{"tf":2.0},"67":{"tf":2.0},"87":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"12":{"tf":1.0},"18":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"[":{"0":{"df":1,"docs":{"29":{"tf":1.0}}},"1":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"117":{"tf":1.0},"29":{"tf":1.0}}}}}}},"l":{"d":{"df":2,"docs":{"82":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"130":{"tf":1.0},"134":{"tf":1.0},"92":{"tf":1.0},"98":{"tf":1.0}}}}},"n":{"c":{"df":10,"docs":{"100":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"41":{"tf":1.0},"54":{"tf":1.0},"85":{"tf":1.0}}},"df":25,"docs":{"105":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"120":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.4142135623730951},"45":{"tf":1.0},"5":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"6":{"tf":1.0},"63":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.4142135623730951},"87":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"o":{"df":17,"docs":{"117":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"134":{"tf":1.0},"16":{"tf":1.4142135623730951},"22":{"tf":1.0},"23":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":1.7320508075688772},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.4142135623730951},"87":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"41":{"tf":1.0}}},"r":{"df":15,"docs":{"101":{"tf":1.4142135623730951},"114":{"tf":2.0},"122":{"tf":1.0},"123":{"tf":1.4142135623730951},"132":{"tf":1.0},"134":{"tf":1.4142135623730951},"27":{"tf":1.0},"29":{"tf":1.0},"42":{"tf":1.0},"5":{"tf":2.0},"58":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.0},"91":{"tf":1.0}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"17":{"tf":1.0},"71":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"29":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"a":{"df":1,"docs":{"53":{"tf":1.0}}},"df":52,"docs":{"101":{"tf":1.7320508075688772},"102":{"tf":1.0},"103":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.0},"122":{"tf":1.4142135623730951},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"134":{"tf":1.4142135623730951},"14":{"tf":2.8284271247461903},"140":{"tf":1.0},"141":{"tf":1.0},"15":{"tf":2.23606797749979},"16":{"tf":2.449489742783178},"17":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":2.23606797749979},"24":{"tf":1.0},"28":{"tf":2.0},"29":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"32":{"tf":2.23606797749979},"34":{"tf":1.7320508075688772},"36":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.8284271247461903},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.7320508075688772},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"tf":1.0},"99":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"49":{"tf":1.0},"53":{"tf":1.4142135623730951}}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"119":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"45":{"tf":1.0},"58":{"tf":1.0},"6":{"tf":1.0},"76":{"tf":1.0},"94":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":5,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"137":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"20":{"tf":1.0},"57":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":14,"docs":{"100":{"tf":1.0},"120":{"tf":1.0},"16":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"34":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.4142135623730951},"58":{"tf":1.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.0},"92":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":8,"docs":{"102":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"41":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"95":{"tf":2.23606797749979},"97":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"41":{"tf":1.0},"42":{"tf":1.4142135623730951}}}}}}}}}},"s":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{"'":{"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":{"29":{"tf":1.0}}}}}}}}},"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":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"'":{"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":{"29":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"142":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"29":{"tf":1.0}}}}},"df":1,"docs":{"25":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"5":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"22":{"tf":1.0},"75":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":4,"docs":{"17":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.0}}}}},"df":5,"docs":{"121":{"tf":1.0},"22":{"tf":1.4142135623730951},"33":{"tf":1.0},"81":{"tf":1.0},"95":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"14":{"tf":1.0},"20":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"79":{"tf":1.0},"89":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":6,"docs":{"101":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"91":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"121":{"tf":1.0},"21":{"tf":1.0}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":21,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"112":{"tf":1.7320508075688772},"12":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.0},"17":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"89":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"l":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"100":{"tf":1.4142135623730951},"114":{"tf":1.7320508075688772},"120":{"tf":1.7320508075688772},"121":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":1,"docs":{"51":{"tf":1.0}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.0}}}}}}}}}}}},"−":{"3":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"(":{"df":0,"docs":{},"f":{")":{"=":{"df":0,"docs":{},"k":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ψ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"f":{")":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"81":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}},"p":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"q":{"df":0,"docs":{},"q":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"q":{")":{"df":0,"docs":{},"q":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"u":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"σ":{")":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"=":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"^":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"80":{"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":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"k":{")":{"df":0,"docs":{},"q":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"81":{"tf":1.4142135623730951}},"r":{")":{"=":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"f":{")":{"df":0,"docs":{},"r":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"f":{")":{"=":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"x":{")":{"=":{"df":0,"docs":{},"e":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"g":{",":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"−":{"df":0,"docs":{},"m":{"df":0,"docs":{},"g":{",":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"∇":{"2":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{")":{"=":{"0":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"a":{"^":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":1,"docs":{"107":{"tf":1.0}}}}},"df":3,"docs":{"14":{"tf":1.4142135623730951},"25":{"tf":1.0},"27":{"tf":1.0}}},"σ":{")":{"=":{"df":0,"docs":{},"p":{"df":1,"docs":{"81":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"⋅":{",":{"df":0,"docs":{},"t":{")":{":":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"×":{"d":{"df":1,"docs":{"91":{"tf":1.0}}},"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":2,"docs":{"131":{"tf":1.0},"82":{"tf":1.7320508075688772}}}}},"0":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"1":{"df":2,"docs":{"114":{"tf":1.0},"118":{"tf":2.23606797749979}}},"2":{"1":{"df":1,"docs":{"87":{"tf":1.0}}},"df":0,"docs":{}},"3":{"1":{"df":1,"docs":{"87":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"=":{"(":{"0":{".":{"5":{",":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{")":{"+":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{")":{"+":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{")":{"(":{"3":{".":{"3":{".":{"1":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{"df":0,"docs":{},"v":{"0":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"[":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"k":{")":{":":{"df":0,"docs":{},"δ":{"(":{"df":0,"docs":{},"k":{")":{"]":{"df":0,"docs":{},"q":{"df":0,"docs":{},"t":{"=":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"k":{")":{":":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"f":{"df":0,"docs":{},"q":{")":{"]":{"df":0,"docs":{},"q":{"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":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"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":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"[":{"df":0,"docs":{},"v":{"df":1,"docs":{"82":{"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":{},"∂":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{")":{":":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"f":{"df":0,"docs":{},"v":{")":{"]":{"df":0,"docs":{},"v":{"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":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"x":{"df":1,"docs":{"21":{"tf":1.0}}},"∂":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}},"∂":{"df":0,"docs":{},"ψ":{"df":0,"docs":{},"​":{".":{"(":{"1":{"4":{".":{"1":{".":{"1":{"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":{}}}}}}},">":{"0":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"[":{"0":{"df":2,"docs":{"118":{"tf":2.0},"86":{"tf":2.0}}},"1":{"df":2,"docs":{"118":{"tf":2.0},"86":{"tf":2.0}}},"df":0,"docs":{},"e":{"[":{"df":0,"docs":{},"i":{"]":{"[":{"0":{"df":1,"docs":{"87":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"87":{"tf":1.0}}},"2":{"df":1,"docs":{"87":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"[":{"0":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"]":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"[":{"1":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"67":{"tf":1.0}}},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}}}},"^":{"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"μ":{"(":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"1":{"df":0,"docs":{},"​":{")":{"+":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"j":{")":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"1":{"df":1,"docs":{"80":{"tf":1.0}}},"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":{"21":{"tf":1.4142135623730951}}}},"_":{"b":{"(":{"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"df":0,"docs":{},"x":{"df":2,"docs":{"48":{"tf":2.0},"52":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":2,"docs":{"62":{"tf":1.7320508075688772},"67":{"tf":1.7320508075688772}}}},"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"81":{"tf":1.0}}}},"i":{"df":0,"docs":{},"r":{"df":21,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"120":{"tf":2.8284271247461903},"121":{"tf":1.4142135623730951},"123":{"tf":2.0},"124":{"tf":2.23606797749979},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.7320508075688772},"133":{"tf":1.7320508075688772},"135":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":2.0},"141":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"z":{"df":0,"docs":{},"z":{"df":0,"docs":{},"o":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}}},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"120":{"tf":1.0},"134":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":13,"docs":{"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"112":{"tf":1.0},"132":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"48":{"tf":1.0},"5":{"tf":1.0},"74":{"tf":2.449489742783178},"77":{"tf":1.0},"82":{"tf":1.0},"85":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"125":{"tf":1.4142135623730951},"45":{"tf":2.0},"76":{"tf":1.0},"82":{"tf":1.0}}}},"r":{"df":2,"docs":{"5":{"tf":1.4142135623730951},"82":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"82":{"tf":1.0}}}}}}},"t":{"df":8,"docs":{"100":{"tf":1.0},"139":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"58":{"tf":1.0},"92":{"tf":1.7320508075688772},"93":{"tf":1.0},"99":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"125":{"tf":2.449489742783178},"4":{"tf":1.0},"82":{"tf":1.0}}}},"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"l":{"df":9,"docs":{"10":{"tf":1.0},"105":{"tf":1.7320508075688772},"118":{"tf":1.0},"5":{"tf":1.4142135623730951},"52":{"tf":2.23606797749979},"53":{"tf":1.0},"57":{"tf":1.7320508075688772},"66":{"tf":1.0},"70":{"tf":2.0}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"37":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":12,"docs":{"131":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"79":{"tf":1.4142135623730951},"83":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"t":{"df":3,"docs":{"105":{"tf":2.0},"136":{"tf":1.0},"33":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":11,"docs":{"117":{"tf":1.0},"125":{"tf":1.0},"35":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"71":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"15":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.0},"55":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"85":{"tf":1.4142135623730951}}}}}}}},"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"d":{"df":0,"docs":{},"∂":{"b":{"df":0,"docs":{},"​":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{")":{"df":0,"docs":{},"∇":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"(":{"7":{".":{"2":{".":{"4":{"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":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"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":1,"docs":{"113":{"tf":1.4142135623730951}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"4":{"tf":1.7320508075688772}}}},"df":24,"docs":{"107":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"118":{"tf":2.0},"120":{"tf":2.449489742783178},"124":{"tf":1.0},"125":{"tf":2.0},"131":{"tf":1.0},"21":{"tf":2.0},"22":{"tf":3.3166247903554},"28":{"tf":2.0},"53":{"tf":2.449489742783178},"54":{"tf":1.7320508075688772},"62":{"tf":1.0},"67":{"tf":1.4142135623730951},"79":{"tf":2.8284271247461903},"80":{"tf":2.6457513110645907},"81":{"tf":1.4142135623730951},"82":{"tf":2.6457513110645907},"83":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":1.0},"91":{"tf":1.0},"94":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"119":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"125":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}},"x":{"[":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":2,"docs":{"119":{"tf":1.7320508075688772},"125":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":3,"docs":{"120":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0}},"n":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"16":{"tf":1.0},"60":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":4,"docs":{"65":{"tf":1.0},"66":{"tf":3.3166247903554},"67":{"tf":2.0},"68":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":5,"docs":{"100":{"tf":1.4142135623730951},"133":{"tf":1.0},"16":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.7320508075688772}}}}}},"r":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"df":19,"docs":{"102":{"tf":1.4142135623730951},"105":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"134":{"tf":1.0},"29":{"tf":1.0},"42":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"67":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"114":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":16,"docs":{"115":{"tf":1.4142135623730951},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"131":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.0},"87":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"70":{"tf":1.0}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"l":{"2":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"l":{"2":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"1":{")":{"2":{",":{"(":{"4":{".":{"3":{".":{"1":{"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":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":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":{"27":{"tf":1.0}}}},"=":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"ψ":{"(":{"df":0,"docs":{},"f":{")":{"d":{"df":0,"docs":{},"x":{"df":1,"docs":{"73":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"f":{"df":2,"docs":{"123":{"tf":1.0},"58":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"k":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"f":{"0":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"h":{"^":{"df":0,"docs":{},"∥":{")":{",":{"(":{"9":{".":{"2":{".":{"1":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"−":{"df":0,"docs":{},"k":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"t":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"f":{"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{")":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{")":{",":{"(":{"9":{".":{"2":{".":{"3":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":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":{"123":{"tf":1.0}}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"137":{"tf":1.0},"139":{"tf":1.7320508075688772},"141":{"tf":1.0},"29":{"tf":1.0}}}},"t":{"=":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"{":{"df":0,"docs":{},"t":{"1":{"[":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{",":{"df":0,"docs":{},"s":{"3":{"]":{",":{"df":0,"docs":{},"t":{"2":{"[":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{",":{"df":0,"docs":{},"s":{"3":{"]":{",":{"df":0,"docs":{},"t":{"3":{"[":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{",":{"df":0,"docs":{},"s":{"3":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{"2":{"[":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{"df":1,"docs":{"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":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":4,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"69":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.0},"50":{"tf":1.0}}}}}}}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"df":21,"docs":{"0":{"tf":1.0},"111":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"4":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":2.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951},"66":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":2,"docs":{"131":{"tf":1.0},"87":{"tf":1.0}},"e":{"c":{"df":2,"docs":{"118":{"tf":1.0},"55":{"tf":1.0}},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":13,"docs":{"105":{"tf":2.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"109":{"tf":2.0},"110":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.7320508075688772},"115":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"j":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"p":{"df":0,"docs":{},"j":{"df":2,"docs":{"131":{"tf":1.0},"87":{"tf":1.0}}}}}}}},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"79":{"tf":1.0}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"j":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"a":{"df":6,"docs":{"107":{"tf":1.0},"79":{"tf":2.0},"80":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.0}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"31":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"l":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"29":{"tf":1.0},"4":{"tf":1.0},"58":{"tf":1.0}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"32":{"tf":1.0},"42":{"tf":1.0},"47":{"tf":1.0},"54":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"e":{"df":8,"docs":{"134":{"tf":1.0},"16":{"tf":1.0},"32":{"tf":1.4142135623730951},"36":{"tf":1.0},"38":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"53":{"tf":1.0},"71":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"52":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":4,"docs":{"16":{"tf":1.0},"31":{"tf":1.0},"68":{"tf":1.0},"83":{"tf":1.0}}}},"df":1,"docs":{"118":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"20":{"tf":1.0},"48":{"tf":1.0}}}},"u":{"df":1,"docs":{"134":{"tf":1.0}},"g":{"df":2,"docs":{"49":{"tf":1.0},"95":{"tf":1.0}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"p":{"df":0,"docs":{},"−":{"df":0,"docs":{},"∇":{"2":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{")":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"f":{"df":0,"docs":{},"​":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"v":{"df":0,"docs":{},"≥":{"0":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"n":{"df":2,"docs":{"52":{"tf":1.0},"53":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"121":{"tf":1.0}}},"(":{"df":0,"docs":{},"e":{"0":{"df":2,"docs":{"118":{"tf":1.4142135623730951},"125":{"tf":1.0}}},"1":{"df":2,"docs":{"118":{"tf":1.4142135623730951},"125":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":2,"docs":{"118":{"tf":2.449489742783178},"125":{"tf":1.7320508075688772}}}},"df":59,"docs":{"101":{"tf":2.8284271247461903},"102":{"tf":1.0},"105":{"tf":1.7320508075688772},"108":{"tf":1.0},"113":{"tf":2.6457513110645907},"114":{"tf":3.0},"117":{"tf":1.7320508075688772},"118":{"tf":4.0},"119":{"tf":2.449489742783178},"12":{"tf":2.0},"120":{"tf":3.4641016151377544},"121":{"tf":2.0},"122":{"tf":1.0},"123":{"tf":2.8284271247461903},"124":{"tf":2.23606797749979},"125":{"tf":2.6457513110645907},"126":{"tf":1.0},"127":{"tf":2.0},"129":{"tf":1.0},"133":{"tf":2.0},"134":{"tf":3.7416573867739413},"136":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.7320508075688772},"140":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":3.605551275463989},"54":{"tf":1.0},"57":{"tf":1.7320508075688772},"58":{"tf":1.0},"59":{"tf":3.3166247903554},"6":{"tf":2.0},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"68":{"tf":1.0},"7":{"tf":1.7320508075688772},"70":{"tf":3.605551275463989},"71":{"tf":2.6457513110645907},"72":{"tf":1.0},"73":{"tf":1.7320508075688772},"77":{"tf":1.0},"91":{"tf":1.7320508075688772},"94":{"tf":1.0},"95":{"tf":2.8284271247461903},"96":{"tf":1.0},"97":{"tf":1.7320508075688772}},"e":{"d":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"118":{"tf":1.0},"125":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"118":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"118":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":3,"docs":{"117":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"l":{"a":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"v":{"d":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":4,"docs":{"74":{"tf":1.0},"75":{"tf":3.1622776601683795},"76":{"tf":1.4142135623730951},"77":{"tf":1.0}}}},"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"114":{"tf":1.0},"123":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":3,"docs":{"21":{"tf":1.0},"27":{"tf":1.0},"76":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"114":{"tf":1.0},"16":{"tf":1.0}}},"i":{"df":0,"docs":{},"t":{"df":41,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"11":{"tf":1.4142135623730951},"114":{"tf":1.0},"117":{"tf":1.7320508075688772},"12":{"tf":1.0},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"125":{"tf":1.0},"131":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"32":{"tf":2.449489742783178},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.7320508075688772},"6":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":2.6457513110645907},"69":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":2.23606797749979},"84":{"tf":1.0},"87":{"tf":1.7320508075688772},"95":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"40":{"tf":1.0},"7":{"tf":1.0}}}}},"i":{"b":{"df":0,"docs":{},"l":{"df":10,"docs":{"114":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":57,"docs":{"101":{"tf":2.8284271247461903},"107":{"tf":1.0},"11":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":2.0},"115":{"tf":1.0},"119":{"tf":1.4142135623730951},"12":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":2.23606797749979},"126":{"tf":1.0},"127":{"tf":1.7320508075688772},"131":{"tf":1.0},"134":{"tf":1.7320508075688772},"137":{"tf":1.0},"139":{"tf":1.0},"14":{"tf":2.449489742783178},"142":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"20":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"27":{"tf":3.0},"28":{"tf":1.7320508075688772},"29":{"tf":1.0},"30":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"34":{"tf":2.0},"35":{"tf":1.0},"36":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":2.6457513110645907},"50":{"tf":2.0},"51":{"tf":1.7320508075688772},"52":{"tf":2.0},"53":{"tf":1.7320508075688772},"54":{"tf":2.23606797749979},"55":{"tf":1.7320508075688772},"58":{"tf":2.23606797749979},"64":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.7320508075688772},"74":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.0},"99":{"tf":1.0}}}}}}},"w":{"(":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"1":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"118":{"tf":1.0}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":24,"docs":{"127":{"tf":1.0},"131":{"tf":1.0},"134":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"4":{"tf":1.0},"41":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0},"69":{"tf":1.0},"83":{"tf":1.0},"87":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":9,"docs":{"105":{"tf":1.4142135623730951},"12":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"32":{"tf":1.0},"5":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"7":{"tf":1.0},"99":{"tf":1.0}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"124":{"tf":1.7320508075688772},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"45":{"tf":1.4142135623730951},"64":{"tf":1.0},"85":{"tf":1.4142135623730951}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0}}}}}}}}},"i":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"12":{"tf":1.0},"141":{"tf":1.0},"28":{"tf":1.0},"6":{"tf":1.7320508075688772},"63":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"30":{"tf":1.0}},"f":{"a":{"c":{"df":4,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"12":{"tf":1.0},"68":{"tf":1.0},"79":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"29":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":12,"docs":{"100":{"tf":1.0},"111":{"tf":1.4142135623730951},"15":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"99":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"20":{"tf":1.0},"41":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":10,"docs":{"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"5":{"tf":1.0},"72":{"tf":1.0},"79":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0}}}},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"10":{"tf":1.0}}}},"t":{"df":1,"docs":{"67":{"tf":1.0}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"79":{"tf":1.0},"83":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"69":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":17,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.0},"114":{"tf":1.0},"133":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"76":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":10,"docs":{"35":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0},"60":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0}},"s":{"df":5,"docs":{"120":{"tf":1.0},"38":{"tf":1.0},"7":{"tf":1.0},"88":{"tf":1.0},"91":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":2.23606797749979}}},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"140":{"tf":1.0},"16":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"91":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":6,"docs":{"12":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"50":{"tf":1.0},"70":{"tf":1.0},"83":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"120":{"tf":1.0},"135":{"tf":1.4142135623730951},"136":{"tf":2.449489742783178},"137":{"tf":1.0},"139":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951}}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":6,"docs":{"142":{"tf":1.0},"17":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0}},"l":{"df":8,"docs":{"101":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"6":{"tf":1.0},"65":{"tf":1.0},"83":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"(":{"'":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":1.0},"67":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"u":{"df":2,"docs":{"28":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"28":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"29":{"tf":1.0},"5":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"27":{"tf":1.0}},"i":{"df":1,"docs":{"120":{"tf":1.0}}}}}},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"'":{"df":1,"docs":{"16":{"tf":1.0}}},"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}},"df":31,"docs":{"10":{"tf":1.0},"100":{"tf":1.7320508075688772},"103":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"120":{"tf":1.0},"134":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":2.23606797749979},"16":{"tf":4.47213595499958},"18":{"tf":2.0},"20":{"tf":2.0},"22":{"tf":1.0},"28":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"4":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.23606797749979},"58":{"tf":1.0},"70":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"99":{"tf":2.0}}}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"42":{"tf":1.0},"43":{"tf":1.0}}}}},"df":3,"docs":{"65":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":19,"docs":{"11":{"tf":1.0},"132":{"tf":1.0},"139":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.0},"66":{"tf":1.4142135623730951},"7":{"tf":1.0},"73":{"tf":1.0},"80":{"tf":1.0},"83":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":4,"docs":{"52":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"95":{"tf":1.4142135623730951}},"t":{"df":7,"docs":{"41":{"tf":1.0},"63":{"tf":1.0},"82":{"tf":1.4142135623730951},"86":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"29":{"tf":1.0},"4":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"10":{"tf":1.0},"121":{"tf":1.0},"29":{"tf":1.0},"65":{"tf":1.0},"7":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}}}},"h":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":26,"docs":{"116":{"tf":1.0},"122":{"tf":1.0},"125":{"tf":1.0},"134":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.7320508075688772},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":2.8284271247461903},"23":{"tf":1.7320508075688772},"24":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"35":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.4142135623730951},"84":{"tf":1.0},"86":{"tf":1.0}},"e":{"d":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"35":{"tf":1.0},"67":{"tf":1.0}}}},"df":2,"docs":{"28":{"tf":1.0},"35":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"16":{"tf":1.0},"5":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":2,"docs":{"120":{"tf":1.0},"121":{"tf":1.0}}}},"o":{"df":0,"docs":{},"f":{"df":2,"docs":{"80":{"tf":1.0},"81":{"tf":1.7320508075688772}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"111":{"tf":1.0},"29":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":11,"docs":{"102":{"tf":1.0},"14":{"tf":1.0},"27":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"80":{"tf":1.0},"82":{"tf":1.4142135623730951},"85":{"tf":1.0},"95":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"120":{"tf":1.0}}}},"s":{"df":1,"docs":{"134":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"36":{"tf":1.0}},"n":{"df":1,"docs":{"81":{"tf":1.0}}}},"i":{"d":{"df":31,"docs":{"10":{"tf":1.0},"101":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"14":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"63":{"tf":1.0},"76":{"tf":1.4142135623730951},"8":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}},"x":{"df":0,"docs":{},"i":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":2.0}},"m":{"df":2,"docs":{"16":{"tf":1.0},"49":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"137":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.0}}},"1":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":3,"docs":{"15":{"tf":1.0},"29":{"tf":1.0},"76":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"71":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"49":{"tf":1.0},"50":{"tf":1.0}}}},"t":{"df":3,"docs":{"10":{"tf":1.0},"105":{"tf":1.0},"15":{"tf":1.0}}}},"y":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.7320508075688772}},"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":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"r":{"a":{"df":0,"docs":{},"w":{".":{"a":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"29":{"tf":1.0},"62":{"tf":1.0},"85":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"29":{"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":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"h":{"df":1,"docs":{"29":{"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":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"3":{"df":2,"docs":{"24":{"tf":1.0},"29":{"tf":1.0}}},"df":8,"docs":{"116":{"tf":1.4142135623730951},"122":{"tf":1.0},"24":{"tf":1.7320508075688772},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0}}}}}}},"}":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"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":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"q":{"(":{"df":0,"docs":{},"⋅":{",":{"df":0,"docs":{},"t":{")":{":":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"92":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"92":{"tf":1.0}}}},"df":0,"docs":{}}},"=":{"df":0,"docs":{},"v":{"df":1,"docs":{"82":{"tf":1.0}}}},"_":{"1":{"df":1,"docs":{"22":{"tf":1.0}}},"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"n":{"df":1,"docs":{"22":{"tf":1.0}}}},"a":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"95":{"tf":1.0}},"​":{"=":{"df":0,"docs":{},"q":{"a":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":1,"docs":{"95":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"{":{"1":{",":{"0":{",":{"df":0,"docs":{},"​":{"a":{"=":{"a":{"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":5,"docs":{"22":{"tf":2.23606797749979},"82":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":2.0},"97":{"tf":1.0}},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"=":{"1":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"94":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"a":{"d":{"df":1,"docs":{"26":{"tf":1.7320508075688772}},"r":{"a":{"df":0,"docs":{},"t":{"df":13,"docs":{"120":{"tf":1.0},"131":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.7320508075688772},"32":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"87":{"tf":1.7320508075688772},"88":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"113":{"tf":2.23606797749979},"114":{"tf":1.0},"115":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.4142135623730951},"27":{"tf":1.0},"95":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}},"i":{"df":2,"docs":{"58":{"tf":1.0},"59":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":6,"docs":{"5":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"91":{"tf":1.0}}}},"t":{"df":1,"docs":{"70":{"tf":1.0}},"i":{"df":7,"docs":{"12":{"tf":1.0},"67":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"117":{"tf":1.0},"45":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"21":{"tf":1.0}}}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"18":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"121":{"tf":1.0},"4":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":2,"docs":{"140":{"tf":1.0},"29":{"tf":1.0}}}}}},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"=":{"df":0,"docs":{},"ϵ":{"df":0,"docs":{},"→":{"+":{"0":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∫":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"d":{"df":0,"docs":{},"x":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"(":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"​":{"(":{"1":{"6":{".":{"1":{".":{"4":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"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":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"∂":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"v":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"+":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"a":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"df":0,"docs":{},"∀":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"ω":{"0":{"df":1,"docs":{"99":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{},"ϵ":{"df":0,"docs":{},"→":{"+":{"0":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∫":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"j":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"d":{"df":0,"docs":{},"x":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"(":{"b":{"df":0,"docs":{},"ϵ":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"​":{",":{"(":{"1":{"6":{".":{"1":{".":{"3":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"j":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"v":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"+":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"g":{"df":0,"docs":{},"​":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}}},"df":1,"docs":{"90":{"tf":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":{"90":{"tf":1.0}}}},"df":0,"docs":{}}},".":{"(":{"1":{"3":{".":{"1":{".":{"3":{"df":1,"docs":{"74":{"tf":1.0}}},"5":{"df":1,"docs":{"74":{"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":{},"​":{",":{"df":0,"docs":{},"r":{"2":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"r":{"3":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"=":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"θ":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"θ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"θ":{"c":{"df":0,"docs":{},"o":{"df":1,"docs":{"82":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"(":{"(":{"1":{"df":0,"docs":{},"−":{"c":{")":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"+":{"c":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"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":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"θ":{")":{"df":0,"docs":{},"k":{"+":{"(":{"1":{"df":0,"docs":{},"−":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"θ":{")":{")":{"df":0,"docs":{},"k":{"2":{",":{"(":{"1":{"4":{".":{"3":{".":{"1":{"df":1,"docs":{"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":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":1,"docs":{"82":{"tf":1.0}},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.0}}}}}},">":{"0":{"df":2,"docs":{"45":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}},"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":4,"docs":{"101":{"tf":1.0},"45":{"tf":1.4142135623730951},"5":{"tf":1.0},"90":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"106":{"tf":1.0}}},"n":{"df":0,"docs":{},"g":{"df":6,"docs":{"11":{"tf":1.0},"37":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"69":{"tf":1.0},"98":{"tf":1.0}},"e":{"(":{"0":{"df":15,"docs":{"117":{"tf":1.4142135623730951},"119":{"tf":2.0},"126":{"tf":2.6457513110645907},"25":{"tf":2.8284271247461903},"26":{"tf":2.0},"27":{"tf":2.8284271247461903},"29":{"tf":2.0},"35":{"tf":1.7320508075688772},"54":{"tf":2.0},"62":{"tf":2.449489742783178},"63":{"tf":2.449489742783178},"67":{"tf":3.872983346207417},"85":{"tf":1.7320508075688772},"86":{"tf":3.7416573867739413},"87":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":6,"docs":{"102":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0}}},"i":{"df":0,"docs":{},"o":{"df":6,"docs":{"117":{"tf":1.0},"118":{"tf":2.449489742783178},"125":{"tf":2.449489742783178},"71":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.4142135623730951}}}}}},"b":{"c":{",":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.4142135623730951}},"​":{"=":{"df":0,"docs":{},"h":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"^":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"+":{"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":{}},"d":{"df":0,"docs":{},"×":{"d":{"df":2,"docs":{"71":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{}}},"df":23,"docs":{"101":{"tf":1.4142135623730951},"119":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"125":{"tf":1.7320508075688772},"126":{"tf":4.0},"127":{"tf":1.0},"130":{"tf":1.0},"142":{"tf":1.0},"27":{"tf":2.449489742783178},"45":{"tf":1.4142135623730951},"5":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.7320508075688772},"86":{"tf":1.4142135623730951},"89":{"tf":1.0},"94":{"tf":1.0}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"11":{"tf":1.0},"120":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"94":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"115":{"tf":1.0},"4":{"tf":2.0}}}},"i":{"df":1,"docs":{"63":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"131":{"tf":1.7320508075688772}}},"3":{"df":1,"docs":{"131":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":14,"docs":{"131":{"tf":1.4142135623730951},"16":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"69":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"77":{"tf":1.0},"83":{"tf":1.0},"87":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":4,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"32":{"tf":1.0},"52":{"tf":1.0}}},"t":{"df":3,"docs":{"17":{"tf":1.4142135623730951},"72":{"tf":1.0},"78":{"tf":1.0}}}},"z":{"df":3,"docs":{"63":{"tf":1.0},"81":{"tf":1.0},"87":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"33":{"tf":1.0},"58":{"tf":1.0}}}},"m":{"df":1,"docs":{"7":{"tf":1.0}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.4142135623730951},"76":{"tf":1.0}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":9,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"113":{"tf":1.0},"124":{"tf":1.0},"130":{"tf":1.0},"53":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":2,"docs":{"11":{"tf":1.4142135623730951},"41":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"75":{"tf":1.0},"82":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"r":{"d":{"df":2,"docs":{"5":{"tf":1.4142135623730951},"67":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":2,"docs":{"41":{"tf":1.0},"82":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":11,"docs":{"113":{"tf":1.0},"121":{"tf":1.0},"131":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.0},"139":{"tf":1.0},"16":{"tf":1.0},"26":{"tf":1.0},"49":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0}},"t":{"df":3,"docs":{"18":{"tf":1.0},"21":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"5":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"100":{"tf":1.0},"107":{"tf":1.0},"115":{"tf":1.0},"14":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"7":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"89":{"tf":1.4142135623730951},"9":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":3,"docs":{"20":{"tf":1.0},"38":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.0},"93":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"71":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"18":{"tf":1.0},"89":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"41":{"tf":1.0},"75":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"29":{"tf":1.0}}}}}}},"g":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"26":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.0},"90":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"16":{"tf":1.0}}},"df":7,"docs":{"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":2.0},"134":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}}},"l":{"_":{"df":0,"docs":{},"v":{"df":1,"docs":{"126":{"tf":1.7320508075688772}}}},"a":{"df":0,"docs":{},"t":{"df":7,"docs":{"47":{"tf":1.0},"57":{"tf":1.7320508075688772},"71":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"84":{"tf":1.0},"96":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":11,"docs":{"102":{"tf":1.0},"16":{"tf":1.0},"27":{"tf":1.0},"51":{"tf":1.0},"71":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":2.23606797749979},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0}}}}}}}}}},"x":{"df":1,"docs":{"92":{"tf":1.0}}}},"df":13,"docs":{"102":{"tf":1.0},"114":{"tf":1.4142135623730951},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.7320508075688772},"58":{"tf":2.23606797749979},"79":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"2":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"v":{"df":2,"docs":{"70":{"tf":1.0},"91":{"tf":1.0}}}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":3,"docs":{"141":{"tf":1.0},"69":{"tf":1.0},"79":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":24,"docs":{"10":{"tf":1.0},"101":{"tf":1.7320508075688772},"124":{"tf":1.0},"127":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"22":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0},"99":{"tf":1.0}}}},"r":{"df":0,"docs":{},"k":{"df":34,"docs":{"100":{"tf":1.0},"101":{"tf":2.0},"105":{"tf":1.0},"107":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"118":{"tf":1.0},"124":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"41":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"v":{"df":2,"docs":{"120":{"tf":1.0},"91":{"tf":1.0}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"29":{"tf":1.0},"5":{"tf":1.0},"85":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"66":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"a":{"c":{"df":2,"docs":{"112":{"tf":1.0},"57":{"tf":1.0}}},"df":0,"docs":{}},"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":{"1":{"tf":1.4142135623730951},"24":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":38,"docs":{"10":{"tf":1.0},"100":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"130":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.4142135623730951},"140":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"25":{"tf":1.7320508075688772},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"38":{"tf":1.0},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.7320508075688772},"49":{"tf":1.0},"5":{"tf":2.6457513110645907},"6":{"tf":2.0},"66":{"tf":1.0},"7":{"tf":1.7320508075688772},"70":{"tf":2.0},"71":{"tf":1.7320508075688772},"75":{"tf":1.0},"85":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"92":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":8,"docs":{"105":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.0},"45":{"tf":1.4142135623730951},"5":{"tf":3.1622776601683795},"6":{"tf":1.0},"92":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":4,"docs":{"101":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"r":{"df":22,"docs":{"101":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"120":{"tf":1.0},"128":{"tf":1.0},"131":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"68":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"92":{"tf":1.7320508075688772}}}}}},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"119":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"4":{"tf":1.0},"76":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"38":{"tf":1.0},"92":{"tf":1.0}}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{"df":3,"docs":{"28":{"tf":1.0},"35":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"35":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951}}}},"df":2,"docs":{"28":{"tf":1.0},"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"d":{"df":0,"docs":{},"u":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"74":{"tf":1.4142135623730951},"76":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":9,"docs":{"101":{"tf":1.0},"105":{"tf":1.4142135623730951},"11":{"tf":1.0},"111":{"tf":1.0},"12":{"tf":1.0},"133":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"[":{"1":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"v":{"df":4,"docs":{"11":{"tf":1.0},"15":{"tf":1.0},"49":{"tf":1.0},"63":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"49":{"tf":1.0},"5":{"tf":1.0},"79":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":33,"docs":{"10":{"tf":1.0},"102":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"123":{"tf":1.4142135623730951},"126":{"tf":1.0},"14":{"tf":1.4142135623730951},"32":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"6":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.4142135623730951},"80":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"85":{"tf":1.7320508075688772},"88":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"69":{"tf":1.0},"79":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":4,"docs":{"14":{"tf":1.0},"48":{"tf":1.0},"51":{"tf":1.0},"70":{"tf":1.0}}}}}},"t":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"32":{"tf":1.0},"85":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"126":{"tf":1.4142135623730951},"18":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"58":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.0}}},"1":{"df":1,"docs":{"86":{"tf":1.0}}},"2":{"df":1,"docs":{"86":{"tf":1.0}}},"3":{"df":1,"docs":{"86":{"tf":1.0}}},"4":{"df":1,"docs":{"86":{"tf":1.0}}},"5":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":33,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"113":{"tf":1.4142135623730951},"12":{"tf":1.0},"120":{"tf":1.0},"126":{"tf":1.0},"130":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.7320508075688772},"33":{"tf":1.0},"34":{"tf":1.7320508075688772},"36":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.449489742783178},"58":{"tf":1.0},"59":{"tf":1.0},"6":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"82":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"91":{"tf":1.0},"95":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"77":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"136":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":17,"docs":{"117":{"tf":1.0},"118":{"tf":3.3166247903554},"120":{"tf":2.449489742783178},"125":{"tf":1.0},"131":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.7320508075688772},"27":{"tf":2.0},"28":{"tf":2.23606797749979},"29":{"tf":1.0},"35":{"tf":2.23606797749979},"54":{"tf":2.0},"62":{"tf":2.0},"63":{"tf":3.1622776601683795},"67":{"tf":2.0},"86":{"tf":3.605551275463989},"87":{"tf":2.0}}}}}},"v":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"43":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"115":{"tf":1.0},"33":{"tf":1.0},"49":{"tf":1.0},"77":{"tf":1.0},"92":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"75":{"tf":1.0}}}}}}}}}},"h":{"df":1,"docs":{"34":{"tf":1.4142135623730951}},"o":{"df":2,"docs":{"117":{"tf":1.0},"29":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"df":17,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"52":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0},"74":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}},"i":{"d":{"df":7,"docs":{"14":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":2.23606797749979},"76":{"tf":1.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"103":{"tf":1.0},"53":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"85":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"50":{"tf":1.0}}},"k":{"df":1,"docs":{"51":{"tf":1.0}}}}},"n":{"=":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":0,"docs":{},"−":{"df":0,"docs":{},"r":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"f":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"=":{"df":0,"docs":{},"r":{"df":0,"docs":{},"−":{"1":{"a":{"df":0,"docs":{},"n":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{")":{"=":{"1":{".":{"(":{"1":{"3":{".":{"3":{".":{"1":{"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":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{},"n":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"t":{"df":2,"docs":{"76":{"tf":1.0},"77":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":1,"docs":{"76":{"tf":2.0}}},"o":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":9,"docs":{"12":{"tf":1.0},"142":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"45":{"tf":1.0},"51":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"120":{"tf":1.0},"14":{"tf":1.0},"82":{"tf":1.4142135623730951},"87":{"tf":1.0}}}}}}}},"d":{"df":1,"docs":{"66":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":6,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"68":{"tf":1.0},"83":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"142":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":9,"docs":{"11":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.0},"131":{"tf":1.4142135623730951},"27":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"84":{"tf":1.0},"87":{"tf":1.7320508075688772}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":14,"docs":{"126":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"57":{"tf":1.0},"6":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.7320508075688772},"72":{"tf":1.0},"74":{"tf":3.872983346207417},"75":{"tf":2.0},"76":{"tf":2.23606797749979},"77":{"tf":2.0},"79":{"tf":1.0},"80":{"tf":2.23606797749979},"82":{"tf":3.4641016151377544}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"22":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"n":{"d":{"df":2,"docs":{"118":{"tf":1.0},"4":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":2,"docs":{"115":{"tf":1.0},"4":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"43":{"tf":1.0}}}}}},"w":{"df":10,"docs":{"26":{"tf":1.7320508075688772},"28":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":2.0},"34":{"tf":1.0},"42":{"tf":1.7320508075688772},"91":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0}}}},"s":{"df":2,"docs":{"75":{"tf":1.0},"86":{"tf":1.4142135623730951}}},"u":{"b":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":20,"docs":{"10":{"tf":1.0},"104":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"115":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.0},"30":{"tf":1.0},"48":{"tf":1.0},"58":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.7320508075688772},"88":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}},"n":{"df":5,"docs":{"121":{"tf":1.0},"126":{"tf":1.0},"29":{"tf":2.23606797749979},"59":{"tf":1.0},"67":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"142":{"tf":1.0}}}}}}},"​":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}},"→":{"0":{"df":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"f":{"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{")":{",":{"(":{"1":{"8":{".":{"4":{".":{"2":{"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":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"123":{"tf":1.0}}}},"df":0,"docs":{}}},")":{"=":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"f":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"f":{"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"k":{"df":1,"docs":{"57":{"tf":1.0}},"​":{")":{"=":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"k":{"df":1,"docs":{"57":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"1":{"df":1,"docs":{"82":{"tf":1.0}}},"2":{"df":1,"docs":{"82":{"tf":1.0}}},"3":{"df":1,"docs":{"82":{"tf":1.0}}},"=":{"1":{"df":1,"docs":{"119":{"tf":1.0}}},"[":{"1":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"0":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"d":{"/":{"d":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{"df":1,"docs":{"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":{}}},"df":0,"docs":{},"v":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{",":{"df":0,"docs":{},"s":{"3":{",":{"df":0,"docs":{},"u":{"1":{",":{"df":0,"docs":{},"u":{"2":{",":{"df":0,"docs":{},"u":{"3":{",":{"df":0,"docs":{},"v":{"1":{",":{"df":0,"docs":{},"v":{"2":{",":{"df":0,"docs":{},"v":{"3":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":1,"docs":{"86":{"tf":2.449489742783178}}},"1":{"df":1,"docs":{"86":{"tf":3.4641016151377544}}},"df":0,"docs":{}},"\\":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"0":{",":{"1":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":2,"docs":{"131":{"tf":1.4142135623730951},"87":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"131":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":20,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"107":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"126":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"14":{"tf":1.4142135623730951},"140":{"tf":1.0},"32":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"5":{"tf":1.0},"63":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"90":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":12,"docs":{"105":{"tf":1.0},"12":{"tf":1.7320508075688772},"128":{"tf":1.0},"14":{"tf":1.0},"25":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":2.6457513110645907},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"95":{"tf":3.1622776601683795},"96":{"tf":1.0},"97":{"tf":1.4142135623730951}}}}},"n":{"d":{"df":2,"docs":{"14":{"tf":1.0},"69":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"11":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":16,"docs":{"105":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"65":{"tf":1.0},"67":{"tf":2.0},"68":{"tf":1.0},"74":{"tf":1.4142135623730951},"90":{"tf":1.0},"93":{"tf":1.0}}}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":11,"docs":{"102":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.7320508075688772},"124":{"tf":1.0},"131":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":2.0},"54":{"tf":1.0},"57":{"tf":1.0},"75":{"tf":1.0},"87":{"tf":2.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":25,"docs":{"11":{"tf":1.0},"132":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"20":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"5":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"92":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":10,"docs":{"117":{"tf":2.23606797749979},"121":{"tf":1.0},"126":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"87":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":9,"docs":{"23":{"tf":1.0},"29":{"tf":1.4142135623730951},"45":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"142":{"tf":2.0},"79":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}},"y":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"28":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"(":{"2":{"5":{"5":{"df":1,"docs":{"29":{"tf":1.0}}},"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":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"[":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"o":{"[":{"0":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"[":{"0":{"df":2,"docs":{"29":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"1":{"df":2,"docs":{"29":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"85":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"29":{"tf":1.0}},"i":{"df":1,"docs":{"29":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"29":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}}}},"df":16,"docs":{"112":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":2.6457513110645907},"125":{"tf":1.4142135623730951},"21":{"tf":1.0},"29":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"54":{"tf":2.0},"62":{"tf":2.0},"63":{"tf":1.4142135623730951},"67":{"tf":2.0},"7":{"tf":1.0},"75":{"tf":1.0},"86":{"tf":3.4641016151377544}},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{"df":3,"docs":{"28":{"tf":1.7320508075688772},"35":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":35,"docs":{"113":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":2.8284271247461903},"121":{"tf":1.7320508075688772},"131":{"tf":1.0},"132":{"tf":1.0},"137":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":3.3166247903554},"22":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"29":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"32":{"tf":2.0},"34":{"tf":1.7320508075688772},"35":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":2.449489742783178},"52":{"tf":2.0},"53":{"tf":3.3166247903554},"54":{"tf":2.6457513110645907},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"62":{"tf":1.4142135623730951},"67":{"tf":1.0},"76":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":2.6457513110645907},"88":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":17,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"134":{"tf":1.0},"20":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":2.23606797749979},"7":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.0},"94":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":25,"docs":{"107":{"tf":1.7320508075688772},"108":{"tf":1.0},"116":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"132":{"tf":1.4142135623730951},"141":{"tf":1.0},"24":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.0},"4":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"61":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":24,"docs":{"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"21":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.4142135623730951},"63":{"tf":1.0},"74":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.4142135623730951},"95":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.4142135623730951}},"m":{"df":1,"docs":{"29":{"tf":1.0}}},"n":{"df":4,"docs":{"15":{"tf":1.0},"5":{"tf":1.0},"71":{"tf":1.0},"81":{"tf":1.0}}}},"g":{"+":{"1":{")":{"df":0,"docs":{},"∗":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"117":{"tf":1.4142135623730951}}}},"2":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":9,"docs":{"113":{"tf":1.4142135623730951},"117":{"tf":1.0},"118":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":2.0},"85":{"tf":1.0},"90":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"113":{"tf":1.0},"134":{"tf":1.0},"15":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0}}}},"df":0,"docs":{}},"f":{"df":29,"docs":{"100":{"tf":1.0},"101":{"tf":2.0},"109":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":2.0},"115":{"tf":1.4142135623730951},"116":{"tf":2.23606797749979},"117":{"tf":1.7320508075688772},"118":{"tf":1.0},"119":{"tf":2.0},"120":{"tf":1.7320508075688772},"121":{"tf":1.7320508075688772},"122":{"tf":2.23606797749979},"123":{"tf":1.4142135623730951},"124":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":2.23606797749979},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"133":{"tf":1.7320508075688772},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"55":{"tf":1.4142135623730951}}},"l":{"df":1,"docs":{"142":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":13,"docs":{"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.4142135623730951},"22":{"tf":1.0},"27":{"tf":1.0},"58":{"tf":2.23606797749979},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"95":{"tf":1.0}}}},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"4":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":8,"docs":{"103":{"tf":1.0},"120":{"tf":1.4142135623730951},"22":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"5":{"tf":1.0},"71":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.0}}},"v":{"df":7,"docs":{"101":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.0}}}},"t":{"df":43,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"106":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.7320508075688772},"115":{"tf":1.0},"117":{"tf":1.7320508075688772},"119":{"tf":1.0},"124":{"tf":2.0},"127":{"tf":1.7320508075688772},"130":{"tf":1.0},"134":{"tf":2.23606797749979},"139":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":2.449489742783178},"20":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.7320508075688772},"41":{"tf":2.0},"44":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":2.23606797749979},"67":{"tf":1.4142135623730951},"70":{"tf":1.0},"73":{"tf":1.0},"82":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.0},"95":{"tf":1.7320508075688772},"96":{"tf":1.0},"97":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":13,"docs":{"100":{"tf":1.0},"111":{"tf":1.0},"117":{"tf":2.449489742783178},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.4142135623730951},"62":{"tf":1.0},"67":{"tf":1.4142135623730951},"88":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"102":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0},"87":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"=":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":13,"docs":{"104":{"tf":1.0},"105":{"tf":2.23606797749979},"108":{"tf":1.0},"112":{"tf":1.0},"129":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"29":{"tf":1.0},"45":{"tf":1.4142135623730951},"5":{"tf":2.449489742783178},"70":{"tf":1.0},"72":{"tf":1.0},"76":{"tf":1.0},"85":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":3,"docs":{"113":{"tf":1.0},"120":{"tf":1.0},"80":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"56":{"tf":1.0},"60":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"66":{"tf":1.0},"71":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":3,"docs":{"25":{"tf":1.0},"43":{"tf":1.0},"5":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"w":{"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{}},"df":11,"docs":{"16":{"tf":1.0},"5":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.4142135623730951},"85":{"tf":1.0}},"n":{"df":8,"docs":{"117":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"91":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"117":{"tf":1.7320508075688772},"29":{"tf":2.0},"54":{"tf":1.0},"67":{"tf":1.0}},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}}}}}},"df":12,"docs":{"117":{"tf":1.0},"16":{"tf":1.0},"25":{"tf":1.4142135623730951},"29":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":1.0},"74":{"tf":1.0},"80":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":2.23606797749979},"95":{"tf":1.4142135623730951}}}},"df":1,"docs":{"82":{"tf":1.0}},"f":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"81":{"tf":1.0}}}}},"df":0,"docs":{}},"g":{"df":0,"docs":{},"m":{"a":{"=":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{",":{"df":0,"docs":{},"s":{"3":{"df":1,"docs":{"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":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"[":{"1":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":11,"docs":{"101":{"tf":1.0},"118":{"tf":1.0},"45":{"tf":4.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":12,"docs":{"120":{"tf":1.0},"121":{"tf":1.0},"135":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"26":{"tf":1.0},"41":{"tf":1.0},"53":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":8,"docs":{"18":{"tf":1.0},"20":{"tf":1.0},"29":{"tf":1.0},"44":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{}}}}}},"m":{"df":8,"docs":{"116":{"tf":1.4142135623730951},"122":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":20,"docs":{"100":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"123":{"tf":1.4142135623730951},"127":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0},"88":{"tf":1.0},"95":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":13,"docs":{"101":{"tf":1.0},"106":{"tf":1.0},"115":{"tf":1.0},"123":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"62":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0},"87":{"tf":1.0},"95":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":11,"docs":{"114":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":1.4142135623730951},"52":{"tf":1.0},"6":{"tf":1.0},"69":{"tf":1.0},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"113":{"tf":1.0},"5":{"tf":1.4142135623730951},"54":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"11":{"tf":1.0},"15":{"tf":1.0},"33":{"tf":1.0},"74":{"tf":1.0}}}},"x":{"df":3,"docs":{"104":{"tf":2.0},"128":{"tf":1.0},"132":{"tf":1.0}}}},"i":{"c":{"df":6,"docs":{"106":{"tf":1.0},"122":{"tf":1.0},"16":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"92":{"tf":1.0}}},"df":14,"docs":{"100":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.7320508075688772},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.7320508075688772},"57":{"tf":1.0},"66":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.4142135623730951}},"f":{"df":2,"docs":{"113":{"tf":1.0},"27":{"tf":1.0}},"i":{"df":15,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"25":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"44":{"tf":1.0},"6":{"tf":1.4142135623730951},"62":{"tf":1.0},"76":{"tf":2.0},"77":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":7,"docs":{"117":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"35":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":75,"docs":{"0":{"tf":1.0},"10":{"tf":1.7320508075688772},"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"103":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.7320508075688772},"118":{"tf":1.0},"12":{"tf":1.0},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"14":{"tf":1.0},"142":{"tf":2.0},"15":{"tf":1.0},"16":{"tf":2.8284271247461903},"17":{"tf":2.0},"18":{"tf":2.0},"22":{"tf":1.7320508075688772},"24":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":5.196152422706632},"3":{"tf":1.0},"30":{"tf":2.449489742783178},"31":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"35":{"tf":1.7320508075688772},"4":{"tf":1.7320508075688772},"41":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"5":{"tf":2.8284271247461903},"50":{"tf":2.449489742783178},"51":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"54":{"tf":2.0},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.4142135623730951},"67":{"tf":2.449489742783178},"69":{"tf":1.7320508075688772},"7":{"tf":2.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"78":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"87":{"tf":2.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.0},"90":{"tf":1.7320508075688772},"91":{"tf":1.4142135623730951},"93":{"tf":1.7320508075688772},"94":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}},"t":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"[":{"df":0,"docs":{},"u":{"1":{"]":{",":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"u":{"1":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}},"v":{"1":{"]":{"df":0,"docs":{},"}":{",":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"[":{"df":0,"docs":{},"v":{"1":{"]":{",":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"v":{"1":{"df":1,"docs":{"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":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"142":{"tf":1.0}},"g":{"df":0,"docs":{},"l":{"df":5,"docs":{"101":{"tf":1.0},"113":{"tf":1.0},"29":{"tf":1.0},"6":{"tf":1.0},"82":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":8,"docs":{"40":{"tf":1.0},"41":{"tf":2.0},"43":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":2.0},"79":{"tf":1.4142135623730951},"82":{"tf":2.449489742783178},"95":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"49":{"tf":1.0},"71":{"tf":1.0}}}},"df":0,"docs":{}}},"z":{"df":0,"docs":{},"e":{"df":30,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"131":{"tf":1.7320508075688772},"16":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.449489742783178},"54":{"tf":2.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"7":{"tf":1.0},"82":{"tf":1.4142135623730951},"84":{"tf":1.0},"87":{"tf":2.449489742783178},"88":{"tf":1.7320508075688772},"9":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"82":{"tf":1.0}}}},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"50":{"tf":1.0}}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"16":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951},"50":{"tf":1.0},"87":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"df":11,"docs":{"102":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"57":{"tf":2.6457513110645907},"58":{"tf":2.23606797749979},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"87":{"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":{"58":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}}}},"p":{"df":10,"docs":{"32":{"tf":2.0},"36":{"tf":1.7320508075688772},"37":{"tf":2.449489742783178},"38":{"tf":3.1622776601683795},"39":{"tf":1.0},"40":{"tf":2.23606797749979},"41":{"tf":1.0},"42":{"tf":3.4641016151377544},"43":{"tf":2.0},"75":{"tf":1.0}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":7,"docs":{"117":{"tf":1.7320508075688772},"60":{"tf":1.0},"61":{"tf":2.6457513110645907},"62":{"tf":4.123105625617661},"63":{"tf":3.7416573867739413},"64":{"tf":1.4142135623730951},"67":{"tf":1.0}}}},"w":{"df":3,"docs":{"16":{"tf":1.0},"41":{"tf":1.0},"57":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":20,"docs":{"101":{"tf":1.0},"114":{"tf":1.0},"134":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.0},"82":{"tf":1.0},"9":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"104":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":2.0},"125":{"tf":1.0},"21":{"tf":1.0},"35":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"82":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"d":{"(":{"a":{"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":3,"docs":{"53":{"tf":1.0},"62":{"tf":1.0},"88":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"76":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"69":{"tf":1.0}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":16,"docs":{"101":{"tf":1.4142135623730951},"114":{"tf":2.23606797749979},"118":{"tf":1.7320508075688772},"121":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"21":{"tf":1.4142135623730951},"23":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":2.23606797749979},"95":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":11,"docs":{"101":{"tf":1.0},"103":{"tf":1.0},"114":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.0},"141":{"tf":1.0},"45":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.4142135623730951},"65":{"tf":1.0}}}}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"131":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"69":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"105":{"tf":1.0},"14":{"tf":1.0}},"w":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"29":{"tf":1.0},"79":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":2,"docs":{"105":{"tf":1.0},"67":{"tf":1.0}}},"i":{"d":{"'":{"df":3,"docs":{"45":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951}}},"df":52,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"113":{"tf":2.449489742783178},"114":{"tf":1.0},"12":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":2.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.0},"14":{"tf":2.0},"142":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":2.23606797749979},"18":{"tf":1.4142135623730951},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.4142135623730951},"31":{"tf":1.7320508075688772},"4":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951},"45":{"tf":3.1622776601683795},"47":{"tf":1.7320508075688772},"48":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951},"5":{"tf":4.242640687119285},"50":{"tf":1.4142135623730951},"51":{"tf":2.23606797749979},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"66":{"tf":1.0},"69":{"tf":1.4142135623730951},"73":{"tf":1.7320508075688772},"74":{"tf":1.4142135623730951},"77":{"tf":1.0},"79":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"88":{"tf":1.0}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"t":{"df":25,"docs":{"10":{"tf":1.0},"100":{"tf":1.0},"105":{"tf":1.0},"11":{"tf":2.0},"122":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":2.449489742783178},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"32":{"tf":1.0},"4":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":2.23606797749979},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"76":{"tf":1.0},"9":{"tf":1.4142135623730951},"92":{"tf":1.0},"95":{"tf":2.23606797749979},"97":{"tf":1.0}}}},"v":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":1.0},"4":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}},"df":37,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"11":{"tf":1.4142135623730951},"118":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.0},"120":{"tf":1.4142135623730951},"122":{"tf":1.0},"131":{"tf":2.0},"132":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":1.7320508075688772},"38":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"87":{"tf":2.449489742783178},"88":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"131":{"tf":1.0},"28":{"tf":1.7320508075688772}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"131":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"r":{"c":{"df":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"92":{"tf":1.0}}}}}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":50,"docs":{"10":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":2.0},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"11":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"12":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"132":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"4":{"tf":1.7320508075688772},"45":{"tf":2.23606797749979},"5":{"tf":2.0},"57":{"tf":1.0},"58":{"tf":1.0},"6":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.4142135623730951},"70":{"tf":2.449489742783178},"71":{"tf":1.0},"72":{"tf":1.4142135623730951},"74":{"tf":2.23606797749979},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":1.0},"80":{"tf":1.7320508075688772},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"88":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"93":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":2.8284271247461903},"97":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"df":4,"docs":{"118":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"95":{"tf":1.4142135623730951}}},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"4":{"tf":1.0}}},"s":{"df":4,"docs":{"114":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":2.0},"41":{"tf":1.0}},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"(":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"v":{"[":{"2":{"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":{}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"41":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":20,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"121":{"tf":1.7320508075688772},"123":{"tf":1.0},"127":{"tf":1.0},"135":{"tf":1.4142135623730951},"136":{"tf":1.7320508075688772},"139":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"25":{"tf":1.7320508075688772},"32":{"tf":1.0},"5":{"tf":1.0},"69":{"tf":1.0},"89":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"d":{"df":10,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":2.449489742783178},"23":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"86":{"tf":1.0}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"134":{"tf":1.0},"40":{"tf":1.0},"74":{"tf":1.0},"77":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":36,"docs":{"10":{"tf":1.0},"104":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"12":{"tf":1.0},"140":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"21":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"37":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"87":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}},"i":{"df":11,"docs":{"100":{"tf":1.0},"112":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"32":{"tf":1.4142135623730951},"71":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":3,"docs":{"16":{"tf":1.0},"52":{"tf":1.0},"70":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":3,"docs":{"45":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"57":{"tf":2.0}}},"i":{"c":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"131":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"45":{"tf":1.0}}}},"t":{"df":1,"docs":{"54":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"'":{"df":1,"docs":{"27":{"tf":1.0}}},"df":16,"docs":{"24":{"tf":1.7320508075688772},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":3.1622776601683795},"28":{"tf":1.0},"29":{"tf":3.0},"30":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"54":{"tf":2.0},"67":{"tf":2.449489742783178},"68":{"tf":1.7320508075688772},"69":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"85":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"28":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"28":{"tf":1.0},"35":{"tf":1.0},"67":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}},"q":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"3":{".":{"0":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"1":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"a":{"df":0,"docs":{},"r":{"df":29,"docs":{"117":{"tf":3.4641016151377544},"118":{"tf":2.0},"119":{"tf":1.4142135623730951},"120":{"tf":1.7320508075688772},"121":{"tf":1.0},"124":{"tf":1.4142135623730951},"126":{"tf":2.449489742783178},"127":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":2.8284271247461903},"27":{"tf":1.0},"29":{"tf":3.3166247903554},"35":{"tf":2.23606797749979},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":3.1622776601683795},"60":{"tf":1.0},"61":{"tf":2.449489742783178},"62":{"tf":2.0},"63":{"tf":2.449489742783178},"64":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":3.3166247903554},"68":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"83":{"tf":1.0},"87":{"tf":1.7320508075688772}},"e":{"'":{"df":1,"docs":{"54":{"tf":1.0}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"117":{"tf":1.0},"29":{"tf":1.0},"67":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"i":{"df":4,"docs":{"117":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"85":{"tf":1.0}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"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":1,"docs":{"29":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"29":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"c":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}},"t":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"29":{"tf":1.0},"58":{"tf":1.0}}}},"l":{"df":7,"docs":{"10":{"tf":1.0},"12":{"tf":1.4142135623730951},"142":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.0},"57":{"tf":1.0},"92":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"5":{"tf":1.0},"57":{"tf":1.0},"6":{"tf":1.7320508075688772},"67":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"34":{"tf":1.0},"66":{"tf":1.4142135623730951}}}},"n":{"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":10,"docs":{"11":{"tf":1.0},"112":{"tf":1.0},"131":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.4142135623730951},"27":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"78":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":22,"docs":{"104":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"43":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":8,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0},"45":{"tf":1.0},"57":{"tf":1.0},"9":{"tf":1.7320508075688772},"92":{"tf":1.0}}},"i":{"c":{"df":11,"docs":{"122":{"tf":1.0},"127":{"tf":1.0},"17":{"tf":1.4142135623730951},"29":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":2.23606797749979},"60":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"66":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}},"i":{"df":2,"docs":{"15":{"tf":1.0},"32":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"y":{"df":3,"docs":{"38":{"tf":1.0},"42":{"tf":1.0},"54":{"tf":1.0}}}},"d":{":":{":":{"a":{"b":{"df":0,"docs":{},"s":{"(":{"c":{"df":1,"docs":{"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":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}}},"r":{"df":1,"docs":{"16":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"114":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0}}}}},"df":0,"docs":{}},"p":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.0},"63":{"tf":1.0}}}},"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":47,"docs":{"10":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.4142135623730951},"123":{"tf":2.23606797749979},"124":{"tf":1.7320508075688772},"125":{"tf":1.0},"127":{"tf":1.7320508075688772},"131":{"tf":1.7320508075688772},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"23":{"tf":1.0},"25":{"tf":2.23606797749979},"29":{"tf":3.0},"32":{"tf":2.0},"34":{"tf":1.7320508075688772},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"43":{"tf":1.0},"50":{"tf":2.6457513110645907},"51":{"tf":1.4142135623730951},"52":{"tf":1.7320508075688772},"53":{"tf":2.8284271247461903},"54":{"tf":2.0},"55":{"tf":1.0},"58":{"tf":2.449489742783178},"59":{"tf":1.7320508075688772},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":2.0},"7":{"tf":1.7320508075688772},"76":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":2.449489742783178},"88":{"tf":2.0},"9":{"tf":2.0},"91":{"tf":1.4142135623730951},"95":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":8,"docs":{"32":{"tf":2.23606797749979},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.7320508075688772},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"41":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":11,"docs":{"12":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"34":{"tf":1.0},"35":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.0},"66":{"tf":2.23606797749979},"67":{"tf":2.0},"68":{"tf":1.0},"74":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"l":{"df":15,"docs":{"101":{"tf":1.4142135623730951},"107":{"tf":1.0},"114":{"tf":1.4142135623730951},"119":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"53":{"tf":1.7320508075688772},"58":{"tf":1.0},"59":{"tf":1.0},"68":{"tf":1.0},"76":{"tf":1.0},"87":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"142":{"tf":1.7320508075688772},"76":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"p":{"df":7,"docs":{"22":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"50":{"tf":1.0},"52":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.4142135623730951},"67":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"45":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":11,"docs":{"125":{"tf":1.0},"136":{"tf":1.4142135623730951},"26":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":1.4142135623730951},"74":{"tf":1.0},"80":{"tf":1.0},"85":{"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":19,"docs":{"111":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"16":{"tf":1.4142135623730951},"22":{"tf":1.0},"26":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.4142135623730951},"66":{"tf":1.0},"74":{"tf":1.0},"79":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"103":{"tf":1.0},"67":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"n":{"df":12,"docs":{"107":{"tf":1.0},"119":{"tf":1.0},"131":{"tf":1.4142135623730951},"73":{"tf":2.449489742783178},"74":{"tf":3.0},"75":{"tf":2.0},"76":{"tf":1.7320508075688772},"77":{"tf":2.0},"78":{"tf":1.4142135623730951},"79":{"tf":2.0},"83":{"tf":1.4142135623730951},"86":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}},"i":{"df":11,"docs":{"121":{"tf":1.0},"20":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"4":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.0},"68":{"tf":1.0},"79":{"tf":1.0},"88":{"tf":1.0},"95":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"27":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":12,"docs":{"107":{"tf":1.0},"131":{"tf":1.7320508075688772},"70":{"tf":1.0},"78":{"tf":2.0},"79":{"tf":4.0},"80":{"tf":1.7320508075688772},"81":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":2.0},"86":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":2.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":9,"docs":{"142":{"tf":1.0},"29":{"tf":1.7320508075688772},"35":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"16":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":10,"docs":{"103":{"tf":1.0},"115":{"tf":1.4142135623730951},"48":{"tf":1.0},"89":{"tf":2.449489742783178},"90":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":2.23606797749979},"93":{"tf":1.7320508075688772},"98":{"tf":1.0},"99":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":16,"docs":{"135":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"40":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"87":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}},"i":{"df":41,"docs":{"115":{"tf":1.0},"116":{"tf":2.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},"23":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.4142135623730951},"35":{"tf":2.0},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":2.23606797749979},"60":{"tf":1.0},"61":{"tf":2.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"67":{"tf":1.7320508075688772},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.0},"84":{"tf":1.7320508075688772},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"93":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"4":{"tf":1.0}}},"df":4,"docs":{"102":{"tf":1.0},"32":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"119":{"tf":1.0},"33":{"tf":1.0},"92":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":7,"docs":{"17":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"66":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0}}}},"t":{"df":3,"docs":{"139":{"tf":1.0},"34":{"tf":1.0},"90":{"tf":1.0}}}},"p":{"a":{"c":{"df":3,"docs":{"32":{"tf":1.4142135623730951},"38":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"131":{"tf":1.0},"41":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":5,"docs":{"107":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":1.0}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"85":{"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":{"45":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"30":{"tf":1.0},"88":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"h":{"df":34,"docs":{"114":{"tf":1.0},"118":{"tf":1.0},"121":{"tf":1.0},"14":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.4142135623730951},"5":{"tf":1.7320508075688772},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"6":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"69":{"tf":1.0},"7":{"tf":1.4142135623730951},"71":{"tf":2.0},"74":{"tf":1.4142135623730951},"79":{"tf":1.0},"82":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.0}}}},"df":1,"docs":{"142":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"118":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":9,"docs":{"101":{"tf":1.0},"114":{"tf":1.4142135623730951},"120":{"tf":1.0},"121":{"tf":1.0},"53":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"92":{"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":{"16":{"tf":1.0},"22":{"tf":1.0},"71":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"92":{"tf":1.0}}}},"m":{"(":{"d":{"b":{"c":{"_":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":15,"docs":{"101":{"tf":1.0},"119":{"tf":1.0},"126":{"tf":1.0},"22":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772},"27":{"tf":2.0},"35":{"tf":1.7320508075688772},"54":{"tf":1.7320508075688772},"62":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772},"67":{"tf":2.0},"73":{"tf":1.0},"82":{"tf":1.0},"86":{"tf":1.7320508075688772},"95":{"tf":1.0}},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}},"i":{"df":24,"docs":{"103":{"tf":1.7320508075688772},"108":{"tf":1.7320508075688772},"115":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"121":{"tf":1.7320508075688772},"127":{"tf":1.7320508075688772},"132":{"tf":1.7320508075688772},"141":{"tf":1.7320508075688772},"18":{"tf":2.0},"23":{"tf":1.7320508075688772},"30":{"tf":1.7320508075688772},"36":{"tf":1.7320508075688772},"43":{"tf":1.7320508075688772},"50":{"tf":1.7320508075688772},"55":{"tf":1.7320508075688772},"60":{"tf":1.7320508075688772},"64":{"tf":1.7320508075688772},"68":{"tf":1.7320508075688772},"72":{"tf":1.7320508075688772},"77":{"tf":1.7320508075688772},"83":{"tf":1.7320508075688772},"88":{"tf":1.7320508075688772},"93":{"tf":1.7320508075688772},"97":{"tf":1.7320508075688772}}},"y":{"/":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"142":{"tf":3.4641016151377544}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":9,"docs":{"107":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"115":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.7320508075688772},"27":{"tf":1.0},"48":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"29":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"10":{"tf":1.0},"119":{"tf":1.0},"9":{"tf":1.0},"94":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"p":{"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":{"51":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"55":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"87":{"tf":1.0}}},"f":{"a":{"c":{"df":18,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"126":{"tf":1.0},"128":{"tf":1.0},"134":{"tf":2.8284271247461903},"135":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"76":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"v":{"d":{"df":8,"docs":{"41":{"tf":2.6457513110645907},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"75":{"tf":3.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"112":{"tf":1.0},"113":{"tf":1.0},"34":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":7,"docs":{"118":{"tf":1.0},"121":{"tf":1.0},"5":{"tf":1.0},"7":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"92":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":13,"docs":{"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"75":{"tf":1.0},"82":{"tf":1.0},"85":{"tf":1.4142135623730951},"95":{"tf":1.0}},"i":{"df":2,"docs":{"101":{"tf":1.0},"113":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":2.449489742783178},"12":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"'":{"df":1,"docs":{"6":{"tf":1.0}}},"df":32,"docs":{"10":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":2.23606797749979},"112":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"32":{"tf":2.23606797749979},"33":{"tf":2.0},"34":{"tf":2.23606797749979},"35":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"40":{"tf":2.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"47":{"tf":1.0},"50":{"tf":1.0},"57":{"tf":1.0},"6":{"tf":2.0},"68":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"9":{"tf":1.4142135623730951},"94":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.0}}}}}}}},"t":{"(":{"a":{"df":2,"docs":{"106":{"tf":1.0},"130":{"tf":1.0}}},"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"n":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"n":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}},"t":{")":{"=":{"0":{"df":1,"docs":{"96":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"92":{"tf":1.0}}}},"df":0,"docs":{}},"⋅":{",":{"df":0,"docs":{},"n":{",":{"df":0,"docs":{},"t":{")":{":":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"91":{"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":{},"→":{"df":0,"docs":{},"ω":{"df":0,"docs":{},"t":{"df":2,"docs":{"100":{"tf":1.0},"70":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"×":{"d":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"d":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{")":{")":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"t":{"df":2,"docs":{"126":{"tf":1.0},"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":{}}}}}},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"126":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"0":{",":{"df":0,"docs":{},"t":{"2":{",":{"df":0,"docs":{},"…":{",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":1,"docs":{"96":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"1":{"3":{"df":1,"docs":{"118":{"tf":2.23606797749979}}},"4":{"df":1,"docs":{"118":{"tf":2.23606797749979}}},"df":1,"docs":{"131":{"tf":1.0}}},"2":{"3":{"df":1,"docs":{"118":{"tf":2.449489742783178}}},"4":{"df":1,"docs":{"118":{"tf":2.8284271247461903}}},"5":{"df":1,"docs":{"118":{"tf":2.449489742783178}}},"6":{"df":1,"docs":{"118":{"tf":2.23606797749979}}},"7":{"df":1,"docs":{"118":{"tf":1.7320508075688772}}},"df":1,"docs":{"131":{"tf":1.0}}},"3":{"df":1,"docs":{"131":{"tf":1.0}}},"=":{"0":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":1,"docs":{"94":{"tf":1.4142135623730951}},"−":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":0,"docs":{},"−":{"1":{"df":1,"docs":{"96":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"^":{"0":{"=":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"53":{"tf":1.0},"7":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"53":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":1.0},"18":{"tf":1.0},"37":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"43":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":26,"docs":{"102":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.7320508075688772},"123":{"tf":1.0},"124":{"tf":1.0},"131":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.0},"4":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.7320508075688772},"7":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":2.0},"87":{"tf":1.0},"90":{"tf":1.0}},"n":{"df":3,"docs":{"115":{"tf":1.0},"27":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}},"n":{"(":{"df":0,"docs":{},"θ":{")":{"=":{"0":{".":{"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":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"125":{"tf":1.0}}}},"df":8,"docs":{"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":2.23606797749979},"125":{"tf":1.0},"58":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"64":{"tf":1.0}},"i":{"df":1,"docs":{"56":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":5,"docs":{"16":{"tf":1.0},"20":{"tf":1.0},"66":{"tf":1.7320508075688772},"67":{"tf":2.0},"68":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"45":{"tf":1.0},"82":{"tf":1.0}}}}},"b":{"df":1,"docs":{"85":{"tf":1.0}}},"c":{"1":{"df":1,"docs":{"101":{"tf":1.0}}},"df":4,"docs":{"102":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"123":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"−":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∂":{"b":{"(":{"d":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"(":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"df":0,"docs":{},"o":{")":{",":{"d":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":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":{"100":{"tf":2.0},"103":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"99":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":21,"docs":{"10":{"tf":1.0},"106":{"tf":1.0},"11":{"tf":2.0},"112":{"tf":1.4142135623730951},"122":{"tf":1.0},"126":{"tf":1.7320508075688772},"131":{"tf":3.1622776601683795},"134":{"tf":1.0},"14":{"tf":1.0},"21":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":2.0},"60":{"tf":1.4142135623730951},"63":{"tf":2.0},"7":{"tf":1.7320508075688772},"70":{"tf":2.449489742783178},"71":{"tf":2.23606797749979},"87":{"tf":2.8284271247461903},"9":{"tf":2.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"141":{"tf":1.0}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":13,"docs":{"11":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"5":{"tf":1.7320508075688772},"50":{"tf":1.0},"93":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"94":{"tf":1.0}}}}}}},"df":10,"docs":{"108":{"tf":1.0},"12":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.0},"25":{"tf":2.0},"58":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951},"93":{"tf":1.0},"97":{"tf":1.0}}}}}},"n":{"d":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"79":{"tf":1.0},"83":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"74":{"tf":1.0},"79":{"tf":2.0},"80":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"86":{"tf":1.0}},"i":{"df":1,"docs":{"82":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"142":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"m":{"'":{"df":1,"docs":{"4":{"tf":1.0}}},"df":31,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"107":{"tf":2.0},"108":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"131":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"25":{"tf":1.0},"26":{"tf":2.8284271247461903},"49":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":2.6457513110645907},"67":{"tf":1.0},"7":{"tf":1.0},"74":{"tf":2.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"82":{"tf":2.6457513110645907},"87":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"120":{"tf":1.0},"29":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}},"t":{"df":8,"docs":{"29":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"97":{"tf":1.0}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"a":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}},"df":4,"docs":{"128":{"tf":1.4142135623730951},"129":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"131":{"tf":1.0}}},"df":2,"docs":{"130":{"tf":1.7320508075688772},"131":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"{":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"x":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}},"f":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"β":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"r":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"β":{"df":0,"docs":{},"t":{"df":0,"docs":{},"v":{"df":0,"docs":{},"f":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{".":{"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":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"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":{}}},"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":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"103":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"135":{"tf":1.0}}}}}}}}}},"df":7,"docs":{"123":{"tf":1.0},"124":{"tf":1.0},"42":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"92":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"o":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"142":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"91":{"tf":1.7320508075688772},"92":{"tf":1.0},"93":{"tf":1.4142135623730951}}},"t":{"df":5,"docs":{"10":{"tf":1.0},"113":{"tf":1.0},"127":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0}}}},"i":{"df":7,"docs":{"0":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0},"69":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"i":{"df":4,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":15,"docs":{"101":{"tf":1.0},"112":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"71":{"tf":1.0},"81":{"tf":1.0},"87":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"101":{"tf":1.0},"119":{"tf":1.0},"48":{"tf":1.4142135623730951},"66":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":4,"docs":{"101":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"71":{"tf":1.0}},"k":{"df":2,"docs":{"100":{"tf":1.0},"90":{"tf":1.0}}}},"r":{"d":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"4":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":16,"docs":{"114":{"tf":1.0},"124":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"79":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"132":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0}},"t":{"df":1,"docs":{"101":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":6,"docs":{"106":{"tf":1.4142135623730951},"26":{"tf":1.0},"70":{"tf":1.0},"82":{"tf":1.4142135623730951},"85":{"tf":1.0},"95":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":6,"docs":{"101":{"tf":1.0},"131":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":23,"docs":{"1":{"tf":1.0},"101":{"tf":1.0},"12":{"tf":1.0},"127":{"tf":1.0},"17":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.7320508075688772},"50":{"tf":2.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"60":{"tf":1.0},"65":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.4142135623730951},"83":{"tf":1.0},"85":{"tf":1.0},"91":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":10,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.0},"20":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"70":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0}}}}}}}}}},"u":{"df":22,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"11":{"tf":1.0},"113":{"tf":1.0},"120":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"27":{"tf":1.4142135623730951},"32":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"85":{"tf":1.0},"87":{"tf":1.4142135623730951},"92":{"tf":1.0},"95":{"tf":1.0}}}},"i":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"112":{"tf":1.0}},"​":{"df":0,"docs":{},"∫":{"0":{"1":{"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":{},"​":{"df":0,"docs":{},"​":{"d":{"df":0,"docs":{},"β":{"=":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"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":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"{":{"df":0,"docs":{},"x":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"n":{")":{"^":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"\\":{"df":0,"docs":{},"|":{"^":{"2":{"_":{"df":0,"docs":{},"m":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"14":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":7,"docs":{"125":{"tf":1.0},"28":{"tf":1.0},"35":{"tf":1.4142135623730951},"54":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":2.0},"87":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"29":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"29":{"tf":1.7320508075688772}}}}}}},"df":78,"docs":{"10":{"tf":2.449489742783178},"101":{"tf":1.7320508075688772},"104":{"tf":1.0},"11":{"tf":3.1622776601683795},"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.0},"117":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"12":{"tf":2.23606797749979},"120":{"tf":1.7320508075688772},"121":{"tf":1.0},"122":{"tf":1.7320508075688772},"123":{"tf":2.23606797749979},"124":{"tf":1.7320508075688772},"125":{"tf":1.0},"127":{"tf":1.4142135623730951},"14":{"tf":2.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":2.449489742783178},"23":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":2.0},"29":{"tf":2.6457513110645907},"30":{"tf":1.0},"32":{"tf":2.6457513110645907},"33":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"35":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"37":{"tf":1.0},"38":{"tf":1.0},"4":{"tf":1.7320508075688772},"40":{"tf":1.0},"41":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"5":{"tf":1.7320508075688772},"50":{"tf":2.0},"51":{"tf":1.7320508075688772},"52":{"tf":2.0},"53":{"tf":2.449489742783178},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":3.0},"59":{"tf":1.7320508075688772},"6":{"tf":2.0},"60":{"tf":1.7320508075688772},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":2.0},"67":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"7":{"tf":3.3166247903554},"70":{"tf":3.3166247903554},"71":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":2.23606797749979},"87":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":3.0},"90":{"tf":1.4142135623730951},"92":{"tf":1.0},"94":{"tf":1.7320508075688772},"95":{"tf":1.0},"96":{"tf":2.449489742783178},"97":{"tf":2.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":6,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"7":{"tf":3.0},"87":{"tf":1.0},"9":{"tf":1.7320508075688772}}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}}},"n":{"df":0,"docs":{},"i":{"df":3,"docs":{"120":{"tf":1.0},"16":{"tf":1.0},"87":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"14":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"24":{"tf":1.0}},"e":{"=":{"df":0,"docs":{},"{":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"​":{"=":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"n":{"df":0,"docs":{},"j":{"df":1,"docs":{"92":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"k":{"df":1,"docs":{"57":{"tf":1.7320508075688772}},"n":{"df":1,"docs":{"58":{"tf":1.0}}},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"[":{"df":0,"docs":{},"i":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"−":{"df":0,"docs":{},"i":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"r":{"6":{"df":0,"docs":{},"×":{"3":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"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":{},"m":{"df":0,"docs":{},"×":{"d":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"n":{"=":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":3,"docs":{"112":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":3,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"c":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"120":{"tf":3.4641016151377544}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"120":{"tf":3.4641016151377544}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"120":{"tf":2.23606797749979}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":5,"docs":{"105":{"tf":1.0},"114":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"42":{"tf":1.0}}}}}},"i":{"df":2,"docs":{"120":{"tf":2.8284271247461903},"121":{"tf":1.7320508075688772}}},"l":{"df":5,"docs":{"131":{"tf":2.449489742783178},"28":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":2.0},"87":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"23":{"tf":1.0},"66":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"53":{"tf":1.0}}},"l":{"df":3,"docs":{"118":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0}}}},"p":{"df":7,"docs":{"114":{"tf":1.0},"117":{"tf":1.4142135623730951},"120":{"tf":1.7320508075688772},"35":{"tf":1.0},"4":{"tf":1.0},"63":{"tf":1.7320508075688772},"87":{"tf":1.0}},"i":{"c":{"df":3,"docs":{"23":{"tf":1.0},"4":{"tf":1.0},"44":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":2,"docs":{"12":{"tf":1.0},"5":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"45":{"tf":1.0},"5":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"107":{"tf":1.0},"119":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"h":{"df":5,"docs":{"126":{"tf":1.0},"16":{"tf":1.4142135623730951},"44":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":6,"docs":{"120":{"tf":1.0},"16":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"29":{"tf":1.0},"5":{"tf":1.0},"70":{"tf":1.0},"90":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":8,"docs":{"101":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}}}},"d":{"df":0,"docs":{},"e":{"df":2,"docs":{"101":{"tf":1.0},"49":{"tf":1.0}}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"23":{"tf":1.0},"29":{"tf":1.0},"53":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"10":{"tf":1.0},"120":{"tf":2.23606797749979},"20":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":3.4641016151377544},"55":{"tf":1.4142135623730951},"70":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":12,"docs":{"114":{"tf":1.0},"16":{"tf":1.4142135623730951},"22":{"tf":1.0},"41":{"tf":1.4142135623730951},"48":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.0},"91":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"122":{"tf":1.0},"127":{"tf":1.0},"17":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":2.0},"60":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"28":{"tf":1.0},"6":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"71":{"tf":1.0}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":5,"docs":{"106":{"tf":1.4142135623730951},"119":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"95":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"27":{"tf":1.0},"57":{"tf":1.0},"69":{"tf":1.0},"82":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"30":{"tf":1.4142135623730951},"31":{"tf":1.0},"98":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":25,"docs":{"104":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"106":{"tf":3.605551275463989},"107":{"tf":2.0},"108":{"tf":1.7320508075688772},"112":{"tf":2.6457513110645907},"113":{"tf":1.7320508075688772},"114":{"tf":1.4142135623730951},"117":{"tf":1.7320508075688772},"128":{"tf":1.0},"129":{"tf":1.0},"133":{"tf":2.23606797749979},"134":{"tf":3.4641016151377544},"138":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"22":{"tf":1.7320508075688772},"29":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":3.872983346207417},"87":{"tf":2.23606797749979},"88":{"tf":2.23606797749979},"90":{"tf":1.4142135623730951}},"e":{"'":{"df":1,"docs":{"88":{"tf":1.0}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"104":{"tf":1.0},"85":{"tf":1.0}}}},"df":1,"docs":{"85":{"tf":1.0}}}}}}},"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"16":{"tf":1.0}},"i":{"df":1,"docs":{"87":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"87":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"e":{"df":6,"docs":{"120":{"tf":1.4142135623730951},"29":{"tf":1.0},"35":{"tf":1.0},"67":{"tf":1.0},"81":{"tf":1.0},"90":{"tf":1.0}}},"n":{"c":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"18":{"tf":1.0},"20":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"32":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":8,"docs":{"50":{"tf":2.23606797749979},"51":{"tf":1.4142135623730951},"52":{"tf":2.6457513110645907},"53":{"tf":2.6457513110645907},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"65":{"tf":1.0},"87":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"n":{"df":3,"docs":{"16":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.0}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"116":{"tf":1.0},"122":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"101":{"tf":1.0},"114":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"o":{"df":32,"docs":{"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"108":{"tf":1.0},"112":{"tf":1.7320508075688772},"113":{"tf":2.0},"114":{"tf":1.4142135623730951},"117":{"tf":1.7320508075688772},"120":{"tf":1.0},"126":{"tf":1.7320508075688772},"134":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"21":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"32":{"tf":1.7320508075688772},"34":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.4142135623730951},"63":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0},"82":{"tf":1.7320508075688772},"95":{"tf":1.7320508075688772}}}},"x":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{",":{"=":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"​":{"(":{"1":{".":{"4":{".":{"1":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":11,"docs":{"11":{"tf":1.0},"140":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"32":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"48":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0}}},"i":{"c":{"df":15,"docs":{"113":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}}},"}":{")":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"∂":{"df":0,"docs":{},"v":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"​":{"(":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"j":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{")":{"=":{"0":{"df":1,"docs":{"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":{}}},"≥":{"0":{".":{"(":{"1":{"6":{".":{"1":{".":{"2":{"df":1,"docs":{"90":{"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":{"6":{".":{"2":{".":{"3":{"df":1,"docs":{"91":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"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":{},"​":{"(":{"1":{"8":{".":{"1":{".":{"1":{"df":1,"docs":{"99":{"tf":1.0}}},"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":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"df":0,"docs":{},"∀":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{},"x":{"d":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"df":0,"docs":{},"∀":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"γ":{"d":{"df":1,"docs":{"99":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":5,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"u":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"x":{")":{")":{"=":{"df":0,"docs":{},"u":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"x":{")":{"+":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"u":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"x":{"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":{}}},"d":{"df":0,"docs":{},"x":{"=":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"df":0,"docs":{},"​":{"df":0,"docs":{},"u":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"x":{")":{"d":{"df":0,"docs":{},"x":{"+":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"u":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"x":{")":{"d":{"df":0,"docs":{},"x":{"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":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"92":{"tf":1.0}}}},"1":{",":{"df":0,"docs":{},"u":{"2":{",":{"df":0,"docs":{},"u":{"3":{",":{"df":0,"docs":{},"v":{"1":{",":{"df":0,"docs":{},"v":{"2":{",":{"df":0,"docs":{},"v":{"3":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"82":{"tf":1.0}}},"2":{"df":2,"docs":{"131":{"tf":1.7320508075688772},"82":{"tf":1.0}}},"3":{"df":2,"docs":{"131":{"tf":1.7320508075688772},"82":{"tf":1.0}}},"=":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{},"i":{"d":{"+":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"]":{"*":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{"+":{"(":{"1":{"df":1,"docs":{"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":{}},"df":0,"docs":{}},"x":{"^":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":1,"docs":{"105":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"{":{"df":0,"docs":{},"{":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"u":{"1":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"86":{"tf":2.8284271247461903}}},"r":{"df":1,"docs":{"86":{"tf":2.8284271247461903}}}},"^":{"df":0,"docs":{},"t":{"df":1,"docs":{"41":{"tf":1.0}}}},"c":{"df":0,"docs":{},"l":{"a":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}}},"df":6,"docs":{"14":{"tf":2.449489742783178},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"86":{"tf":2.23606797749979}},"i":{"df":1,"docs":{"82":{"tf":1.0}}},"k":{"df":1,"docs":{"58":{"tf":1.0}},"​":{"=":{"df":0,"docs":{},"h":{"^":{"df":0,"docs":{},"v":{"df":0,"docs":{},"k":{"df":1,"docs":{"58":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"97":{"tf":1.0}}}},"r":{"a":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}}},"n":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}}}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"20":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"18":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"12":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":7,"docs":{"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"34":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}}}},"r":{"df":27,"docs":{"101":{"tf":1.0},"108":{"tf":1.0},"114":{"tf":1.4142135623730951},"116":{"tf":1.0},"122":{"tf":1.0},"126":{"tf":1.0},"14":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"61":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"82":{"tf":1.4142135623730951},"84":{"tf":1.0}},"g":{"df":0,"docs":{},"o":{"df":4,"docs":{"10":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"104":{"tf":1.0}}}},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":14,"docs":{"104":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"37":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"52":{"tf":1.0},"6":{"tf":1.4142135623730951},"70":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.4142135623730951},"85":{"tf":1.0},"88":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"51":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.0}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":6,"docs":{"106":{"tf":1.0},"12":{"tf":1.0},"130":{"tf":1.0},"136":{"tf":1.0},"45":{"tf":1.4142135623730951},"5":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"25":{"tf":1.4142135623730951},"29":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"5":{"tf":1.0}}}},"q":{"df":0,"docs":{},"u":{"df":8,"docs":{"105":{"tf":1.0},"115":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"48":{"tf":1.0},"60":{"tf":1.0}}}},"t":{"df":10,"docs":{"101":{"tf":1.0},"102":{"tf":1.7320508075688772},"123":{"tf":1.4142135623730951},"14":{"tf":1.0},"22":{"tf":1.0},"42":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"82":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.0}},"i":{"df":1,"docs":{"105":{"tf":2.0}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"87":{"tf":1.4142135623730951}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"45":{"tf":1.0}}}}}}},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":5,"docs":{"33":{"tf":1.0},"66":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"71":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":5,"docs":{"16":{"tf":1.0},"20":{"tf":1.0},"37":{"tf":1.0},"53":{"tf":1.0},"75":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"101":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"17":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"65":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":5,"docs":{"101":{"tf":1.0},"118":{"tf":1.4142135623730951},"127":{"tf":1.0},"45":{"tf":1.7320508075688772},"48":{"tf":1.0}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":9,"docs":{"11":{"tf":1.0},"120":{"tf":1.4142135623730951},"21":{"tf":1.0},"29":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}}}},"p":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"83":{"tf":1.0},"88":{"tf":1.0}}}}},"d":{"a":{"df":0,"docs":{},"t":{"df":11,"docs":{"10":{"tf":1.0},"11":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"30":{"tf":1.0},"32":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"67":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":11,"docs":{"101":{"tf":1.0},"117":{"tf":1.0},"127":{"tf":1.0},"24":{"tf":1.0},"29":{"tf":1.0},"41":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"73":{"tf":1.0},"90":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"16":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":2.0},"54":{"tf":1.7320508075688772}}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"26":{"tf":1.0},"28":{"tf":1.0},"75":{"tf":1.0}}}},"df":86,"docs":{"10":{"tf":1.0},"100":{"tf":1.0},"101":{"tf":2.449489742783178},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.7320508075688772},"107":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":1.7320508075688772},"115":{"tf":1.0},"118":{"tf":2.0},"119":{"tf":2.23606797749979},"12":{"tf":1.4142135623730951},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":2.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"129":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.0},"134":{"tf":1.7320508075688772},"136":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.7320508075688772},"142":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"18":{"tf":2.0},"20":{"tf":1.7320508075688772},"21":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"5":{"tf":2.6457513110645907},"51":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"64":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":2.0},"7":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"82":{"tf":1.7320508075688772},"83":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.7320508075688772},"89":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":2.0},"96":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"134":{"tf":1.0},"22":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"82":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":17,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.4142135623730951},"86":{"tf":1.0},"89":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"d":{"(":{"[":{"[":{"b":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"86":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"2":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"2":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"a":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"p":{".":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{"[":{"[":{"df":0,"docs":{},"h":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"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":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"87":{"tf":1.0}}}},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"d":{"(":{"a":{"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":{}}}}},"u":{"=":{"c":{"df":0,"docs":{},"p":{"[":{"df":0,"docs":{},"u":{"1":{",":{"df":0,"docs":{},"u":{"2":{",":{"df":0,"docs":{},"u":{"3":{"]":{"/":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"τ":{"^":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"79":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ϕ":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"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":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"(":{"1":{"2":{".":{"1":{".":{"3":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":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":{"92":{"tf":1.0}},"i":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"α":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{")":{"=":{"0":{",":{"(":{"1":{"5":{".":{"3":{".":{"1":{"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":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"⋅":{",":{"df":0,"docs":{},"t":{")":{":":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"1":{".":{"0":{".":{"0":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"82":{"tf":1.0}}},"2":{"df":1,"docs":{"82":{"tf":1.0}}},"3":{"df":1,"docs":{"82":{"tf":1.0}}},"=":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{")":{"/":{"df":0,"docs":{},"h":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"[":{"df":0,"docs":{},"v":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"v":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"r":{"6":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"d":{"+":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"]":{"*":{"df":0,"docs":{},"v":{"df":0,"docs":{},"v":{"+":{"(":{"1":{"df":1,"docs":{"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":{}},"df":0,"docs":{}},"{":{"df":0,"docs":{},"{":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"v":{"1":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"[":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"0":{"df":1,"docs":{"126":{"tf":1.7320508075688772}}},"1":{"df":1,"docs":{"126":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"126":{"tf":1.7320508075688772}}}}},"^":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":2,"docs":{"126":{"tf":1.4142135623730951},"127":{"tf":1.0}},"​":{"=":{"df":0,"docs":{},"v":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"(":{"(":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"124":{"tf":1.0}}},"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":4,"docs":{"14":{"tf":1.0},"26":{"tf":1.0},"7":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"}":{"df":0,"docs":{},"{":{"\\":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":1,"docs":{"41":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":3,"docs":{"11":{"tf":2.23606797749979},"7":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"{":{"1":{"1":{"df":1,"docs":{"6":{"tf":1.0}}},"2":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}},"2":{"1":{"df":1,"docs":{"6":{"tf":1.0}}},"2":{"df":0,"docs":{},"}":{")":{"^":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"\\":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"p":{"0":{"df":1,"docs":{"118":{"tf":1.0}}},"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"v":{"df":1,"docs":{"63":{"tf":1.0}}},"x":{"df":7,"docs":{"26":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"86":{"tf":1.0}}}},"df":1,"docs":{"26":{"tf":1.4142135623730951}},"i":{"d":{"df":2,"docs":{"34":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":1.0},"4":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}},"df":41,"docs":{"11":{"tf":1.4142135623730951},"111":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.7320508075688772},"27":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"41":{"tf":2.0},"42":{"tf":1.0},"43":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":2.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":2.0},"79":{"tf":1.4142135623730951},"8":{"tf":1.0},"82":{"tf":2.8284271247461903},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"9":{"tf":1.7320508075688772},"91":{"tf":1.0},"92":{"tf":1.7320508075688772},"95":{"tf":1.0},"99":{"tf":1.0}}}},"r":{"=":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{",":{"df":0,"docs":{},"s":{"3":{",":{"df":0,"docs":{},"u":{"1":{",":{"df":0,"docs":{},"u":{"2":{",":{"df":0,"docs":{},"u":{"3":{",":{"df":0,"docs":{},"v":{"1":{",":{"df":0,"docs":{},"v":{"2":{",":{"df":0,"docs":{},"v":{"3":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"1":{",":{"df":0,"docs":{},"v":{"1":{"df":1,"docs":{"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":{}}}},"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":24,"docs":{"10":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"11":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"130":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.7320508075688772},"40":{"tf":1.0},"41":{"tf":1.7320508075688772},"43":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"6":{"tf":1.0},"67":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772},"90":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.0}}}},"t":{"df":1,"docs":{"27":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"102":{"tf":1.0},"57":{"tf":1.0}}}}}}},"df":10,"docs":{"10":{"tf":1.0},"112":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.0},"74":{"tf":1.0},"88":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":11,"docs":{"16":{"tf":1.4142135623730951},"18":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"61":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.4142135623730951}}}}}}},"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"126":{"tf":2.0},"63":{"tf":2.0}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"126":{"tf":1.7320508075688772},"63":{"tf":3.4641016151377544}},"h":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":2.0}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":16,"docs":{"10":{"tf":1.0},"106":{"tf":1.0},"123":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":2.0},"29":{"tf":2.0},"41":{"tf":2.23606797749979},"42":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"5":{"tf":1.0},"57":{"tf":1.4142135623730951},"6":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"75":{"tf":1.0},"82":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":25,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"117":{"tf":1.0},"123":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"25":{"tf":1.0},"32":{"tf":2.23606797749979},"33":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"45":{"tf":1.0},"5":{"tf":1.7320508075688772},"57":{"tf":1.0},"6":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0},"82":{"tf":2.0},"91":{"tf":2.0},"92":{"tf":1.7320508075688772},"94":{"tf":1.0},"95":{"tf":2.23606797749979}}}}}},"df":1,"docs":{"130":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"c":{"df":26,"docs":{"10":{"tf":1.0},"102":{"tf":1.4142135623730951},"117":{"tf":1.0},"123":{"tf":1.7320508075688772},"124":{"tf":1.7320508075688772},"126":{"tf":1.0},"127":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":3.3166247903554},"58":{"tf":1.4142135623730951},"6":{"tf":1.7320508075688772},"60":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.4142135623730951},"69":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.7320508075688772},"87":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"133":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.0},"76":{"tf":1.0},"87":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":4,"docs":{"112":{"tf":1.0},"113":{"tf":1.0},"118":{"tf":1.0},"75":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"45":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"11":{"tf":1.0},"122":{"tf":1.0},"2":{"tf":1.4142135623730951},"82":{"tf":1.0},"9":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":4,"docs":{"106":{"tf":1.0},"29":{"tf":1.4142135623730951},"71":{"tf":1.0},"85":{"tf":1.4142135623730951}}}},"i":{"c":{"df":16,"docs":{"104":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":2.23606797749979},"108":{"tf":1.0},"112":{"tf":1.0},"126":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"134":{"tf":1.0},"25":{"tf":1.4142135623730951},"29":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0},"85":{"tf":1.7320508075688772},"88":{"tf":1.0}}},"df":0,"docs":{}}}}},"f":{"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.4142135623730951}},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"t":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"∥":{"=":{"0":{"df":2,"docs":{"102":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951}}},"df":0,"docs":{}},">":{"0":{"df":2,"docs":{"102":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"20":{"tf":1.0},"34":{"tf":1.0}}}},"df":6,"docs":{"108":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.0},"94":{"tf":1.0},"97":{"tf":1.0}}},"df":1,"docs":{"82":{"tf":1.0}},"e":{"df":0,"docs":{},"w":{"df":7,"docs":{"101":{"tf":1.0},"119":{"tf":1.0},"14":{"tf":1.0},"4":{"tf":1.4142135623730951},"56":{"tf":1.0},"70":{"tf":1.0},"90":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"101":{"tf":1.0},"48":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":9,"docs":{"16":{"tf":1.0},"29":{"tf":3.1622776601683795},"30":{"tf":1.0},"5":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"7":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"15":{"tf":1.0},"17":{"tf":1.0},"5":{"tf":1.0}}}},"df":1,"docs":{"42":{"tf":1.0}},"​":{"=":{"df":0,"docs":{},"​":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}}}}}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}}},"​":{"=":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"k":{"df":3,"docs":{"124":{"tf":1.0},"57":{"tf":2.0},"58":{"tf":1.4142135623730951}},"​":{"=":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"−":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{")":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"(":{"(":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"r":{")":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"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":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"v":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"∥":{"=":{"0":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"df":0,"docs":{}},">":{"0":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"85":{"tf":1.0},"86":{"tf":1.7320508075688772}}}},"df":2,"docs":{"85":{"tf":1.0},"86":{"tf":1.7320508075688772}},"u":{"df":0,"docs":{},"m":{"df":15,"docs":{"130":{"tf":1.0},"131":{"tf":1.7320508075688772},"135":{"tf":1.0},"137":{"tf":1.7320508075688772},"141":{"tf":1.0},"48":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":2.449489742783178},"73":{"tf":1.0},"85":{"tf":1.4142135623730951},"87":{"tf":2.23606797749979},"88":{"tf":1.0},"91":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":2.8284271247461903}}}}}},"p":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"r":{"3":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"r":{"3":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"(":{"df":0,"docs":{},"−":{"df":0,"docs":{},"g":{"df":1,"docs":{"42":{"tf":1.0}}}}},"=":{"df":0,"docs":{},"​":{"0":{".":{"6":{"df":0,"docs":{},"−":{"0":{".":{"8":{"df":0,"docs":{},"​":{"0":{".":{"8":{"0":{".":{"6":{"df":0,"docs":{},"​":{"1":{"df":0,"docs":{},"​":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":1,"docs":{"86":{"tf":2.8284271247461903}}},"1":{"df":1,"docs":{"86":{"tf":3.1622776601683795}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"v":{">":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"75":{"tf":1.0},"86":{"tf":1.7320508075688772}},"h":{"df":1,"docs":{"42":{"tf":1.4142135623730951}},"v":{"df":1,"docs":{"42":{"tf":1.0}},"s":{"df":0,"docs":{},"​":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"0":{"df":0,"docs":{},"​":{"]":{"[":{"df":0,"docs":{},"y":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"′":{"df":0,"docs":{},"​":{"]":{"=":{"[":{"df":0,"docs":{},"−":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":0,"docs":{},"g":{"0":{"df":0,"docs":{},"​":{"]":{".":{"(":{"6":{".":{"2":{".":{"3":{"df":1,"docs":{"41":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"{":{"df":0,"docs":{},"u":{"1":{",":{"df":0,"docs":{},"u":{"2":{",":{"df":0,"docs":{},"u":{"3":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"v":{"=":{"c":{"df":0,"docs":{},"p":{"[":{"df":0,"docs":{},"v":{"1":{",":{"df":0,"docs":{},"v":{"2":{",":{"df":0,"docs":{},"v":{"3":{"]":{"/":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"1":{",":{"df":0,"docs":{},"v":{"2":{",":{"df":0,"docs":{},"v":{"3":{"df":1,"docs":{"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":{},"{":{"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"d":{"df":2,"docs":{"7":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"ˉ":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"−":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"t":{")":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"+":{"1":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"+":{"1":{"(":{"df":0,"docs":{},"x":{"2":{"df":1,"docs":{"123":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":1,"docs":{"123":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"​":{"=":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"−":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"t":{")":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"(":{"(":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"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":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"v":{"df":1,"docs":{"58":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"​":{",":{"df":1,"docs":{"123":{"tf":1.0}}},"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":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"/":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"=":{"0":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"∥":{"=":{"0":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"∈":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{",":{"df":0,"docs":{},"v":{"df":0,"docs":{},"":{"=":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"":{"=":{"0":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{".":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"t":{"df":5,"docs":{"118":{"tf":1.0},"119":{"tf":1.0},"58":{"tf":1.0},"80":{"tf":1.0},"86":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}},"a":{"^":{"df":0,"docs":{},"​":{"=":{"d":{"^":{"3":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"j":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"i":{"(":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"​":{"a":{"df":0,"docs":{},"j":{"df":1,"docs":{"134":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"l":{"df":1,"docs":{"21":{"tf":1.0}}}},"y":{"df":10,"docs":{"12":{"tf":1.0},"134":{"tf":1.0},"18":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"6":{"tf":1.0},"75":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}},"df":2,"docs":{"29":{"tf":1.0},"45":{"tf":1.4142135623730951}},"e":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"101":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.0}}}},"v":{"df":4,"docs":{"104":{"tf":1.0},"108":{"tf":1.0},"69":{"tf":1.0},"98":{"tf":1.0}}}},"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"d":{"^":{"3":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"j":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"i":{"(":{"df":0,"docs":{},"e":{"1":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"​":{"a":{"df":0,"docs":{},"j":{"df":1,"docs":{"134":{"tf":1.0}}}},"df":0,"docs":{}}},"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":{"df":23,"docs":{"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.0},"16":{"tf":1.0},"89":{"tf":2.449489742783178},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":3.605551275463989},"93":{"tf":2.0},"94":{"tf":2.23606797749979},"95":{"tf":2.23606797749979},"96":{"tf":1.0},"97":{"tf":1.7320508075688772},"98":{"tf":1.0},"99":{"tf":2.23606797749979}}},"v":{"df":1,"docs":{"4":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":7,"docs":{"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.4142135623730951},"48":{"tf":1.0},"54":{"tf":1.4142135623730951},"73":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"l":{"df":14,"docs":{"103":{"tf":1.0},"109":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"34":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":2.0},"6":{"tf":1.0},"88":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"48":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":3,"docs":{"17":{"tf":1.0},"36":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"118":{"tf":1.0},"120":{"tf":1.0},"14":{"tf":1.0},"35":{"tf":1.4142135623730951},"58":{"tf":1.0},"67":{"tf":1.4142135623730951},"70":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":6,"docs":{"101":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.0},"7":{"tf":1.0},"76":{"tf":1.0},"82":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"136":{"tf":1.0},"79":{"tf":1.0},"91":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":6,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"45":{"tf":1.0},"69":{"tf":1.0},"76":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":6,"docs":{"115":{"tf":1.0},"118":{"tf":1.0},"32":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"55":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":29,"docs":{"10":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"107":{"tf":1.0},"112":{"tf":1.0},"131":{"tf":1.0},"139":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"18":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.7320508075688772},"36":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"61":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"88":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":19,"docs":{"112":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":1.0},"120":{"tf":1.4142135623730951},"122":{"tf":1.0},"123":{"tf":1.0},"16":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.0},"92":{"tf":1.0}}}}}}}},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"b":{"(":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{")":{"=":{"df":0,"docs":{},"−":{"df":0,"docs":{},"w":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"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":{},"o":{"d":{"df":2,"docs":{"14":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{}},"r":{"d":{"df":3,"docs":{"130":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":2,"docs":{"14":{"tf":1.0},"79":{"tf":1.0}}},"l":{"d":{"df":19,"docs":{"105":{"tf":1.4142135623730951},"108":{"tf":1.0},"111":{"tf":1.0},"129":{"tf":1.0},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"74":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"88":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":1,"docs":{"22":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"29":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":6,"docs":{"107":{"tf":1.0},"115":{"tf":1.0},"124":{"tf":1.0},"29":{"tf":1.4142135623730951},"81":{"tf":1.0},"82":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":6,"docs":{"101":{"tf":1.0},"113":{"tf":1.0},"123":{"tf":1.0},"14":{"tf":1.0},"89":{"tf":1.0},"92":{"tf":1.0}}}}}}}}},"x":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"112":{"tf":1.0}},"i":{"df":2,"docs":{"105":{"tf":1.0},"129":{"tf":1.0}}}},"β":{",":{"df":0,"docs":{},"γ":{",":{"df":0,"docs":{},"τ":{")":{"df":0,"docs":{},"≈":{"df":0,"docs":{},"x":{"^":{"(":{"df":0,"docs":{},"β":{",":{"df":0,"docs":{},"γ":{",":{"df":0,"docs":{},"τ":{")":{"=":{"(":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"β":{"df":0,"docs":{},"−":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"−":{"df":0,"docs":{},"τ":{")":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"β":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"τ":{"df":0,"docs":{},"x":{"4":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":1,"docs":{"45":{"tf":1.0}}},"t":{"df":1,"docs":{"70":{"tf":1.0}}},"v":{"df":1,"docs":{"57":{"tf":1.0}}}},"0":{"df":1,"docs":{"59":{"tf":1.0}}},"1":{"0":{"df":1,"docs":{"71":{"tf":1.0}}},"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"1":{"2":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":6,"docs":{"101":{"tf":1.7320508075688772},"105":{"tf":1.0},"106":{"tf":1.0},"130":{"tf":1.0},"27":{"tf":1.0},"71":{"tf":1.0}},"​":{",":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"3":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"=":{"1":{"df":1,"docs":{"95":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"3":{"df":2,"docs":{"105":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"∈":{"df":0,"docs":{},"γ":{"1":{"df":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}}},"−":{"df":0,"docs":{},"x":{"2":{"df":1,"docs":{"27":{"tf":1.0}},"​":{"df":0,"docs":{},"∥":{"2":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"2":{"0":{"df":1,"docs":{"71":{"tf":1.0}}},"1":{"df":1,"docs":{"87":{"tf":1.0}},"​":{"+":{"df":0,"docs":{},"α":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"2":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"2":{"2":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"α":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"2":{"2":{"df":0,"docs":{},"​":{")":{"=":{"(":{"df":0,"docs":{},"x":{"2":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"2":{"2":{"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":{}},"df":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":{"105":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"123":{"tf":1.0},"130":{"tf":1.0},"134":{"tf":1.0},"27":{"tf":1.0},"71":{"tf":1.0}},"​":{"=":{"2":{"df":1,"docs":{"95":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"γ":{"c":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"2":{"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":{}},"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":1,"docs":{"85":{"tf":1.0}},"​":{")":{"=":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"x":{"2":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"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":{},"f":{"(":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{")":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"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":{}}},"3":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}}}},"∂":{"2":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}}},"3":{"1":{"df":1,"docs":{"87":{"tf":1.7320508075688772}}},"df":5,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"130":{"tf":1.0}},"​":{"=":{"3":{"df":1,"docs":{"95":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}}}}},"4":{"df":2,"docs":{"129":{"tf":1.0},"130":{"tf":1.0}}},"=":{"0":{".":{"3":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"20":{"tf":1.0}}},"2":{"df":1,"docs":{"20":{"tf":1.4142135623730951}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"x":{"+":{"b":{",":{"(":{"1":{"2":{".":{"1":{".":{"2":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"i":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}}},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"ϕ":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"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":{},"v":{"df":0,"docs":{},"n":{".":{"(":{"1":{"2":{".":{"1":{".":{"1":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"t":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}},"−":{"1":{"1":{".":{"6":{"4":{"5":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"[":{"0":{"df":1,"docs":{"29":{"tf":1.0}}},"1":{"df":1,"docs":{"29":{"tf":1.0}}},"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"[":{"df":0,"docs":{},"i":{"]":{"[":{"0":{"df":4,"docs":{"27":{"tf":1.7320508075688772},"29":{"tf":1.0},"85":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951}}},"1":{"df":4,"docs":{"27":{"tf":1.7320508075688772},"29":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0}}},"2":{"df":2,"docs":{"85":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"[":{"0":{"df":3,"docs":{"119":{"tf":2.449489742783178},"120":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951}}},"1":{"df":3,"docs":{"119":{"tf":2.449489742783178},"120":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"86":{"tf":1.0}}},"2":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"i":{"]":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"[":{"0":{"df":1,"docs":{"29":{"tf":1.0}}},"1":{"df":1,"docs":{"54":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"25":{"tf":1.0},"26":{"tf":1.4142135623730951}}}},"\\":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"b":{"df":0,"docs":{},"{":{"df":0,"docs":{},"r":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"d":{"df":0,"docs":{},"n":{"df":1,"docs":{"5":{"tf":1.0}}}},"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":{},"n":{"a":{"^":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"x":{"a":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"x":{"(":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"n":{"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"+":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"n":{"2":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"+":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"n":{"3":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{",":{"(":{"1":{"9":{".":{"1":{".":{"1":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":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":{"105":{"tf":1.0},"108":{"tf":1.0}},"i":{"df":0,"docs":{},"​":{")":{"=":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"105":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"0":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":4,"docs":{"11":{"tf":1.7320508075688772},"21":{"tf":2.6457513110645907},"22":{"tf":1.0},"53":{"tf":2.23606797749979}}},"k":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":1,"docs":{"53":{"tf":1.0}}},"n":{"df":7,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"26":{"tf":1.0},"53":{"tf":1.7320508075688772},"63":{"tf":1.0},"7":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"}":{"df":0,"docs":{},"{":{"\\":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"{":{"df":0,"docs":{},"i":{"+":{"1":{"df":2,"docs":{"53":{"tf":2.0},"59":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"53":{"tf":1.0}}},"n":{"+":{"1":{"df":4,"docs":{"11":{"tf":2.449489742783178},"53":{"tf":1.7320508075688772},"7":{"tf":1.0},"9":{"tf":1.0}},"}":{",":{"df":0,"docs":{},"v":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"_":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"1":{"df":1,"docs":{"53":{"tf":1.0}}},"b":{"df":2,"docs":{"33":{"tf":1.0},"34":{"tf":1.7320508075688772}}},"df":0,"docs":{},"i":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"l":{"df":1,"docs":{"53":{"tf":1.0}}},"n":{"[":{"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"]":{"]":{")":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"d":{"b":{"c":{"_":{"df":0,"docs":{},"v":{"[":{"df":0,"docs":{},"i":{"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":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"28":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":6,"docs":{"26":{"tf":1.7320508075688772},"28":{"tf":3.872983346207417},"35":{"tf":2.6457513110645907},"54":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.4142135623730951}},"e":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"u":{"df":1,"docs":{"34":{"tf":1.0}}},"{":{"1":{"1":{"df":2,"docs":{"32":{"tf":1.0},"38":{"tf":1.0}}},"2":{"df":2,"docs":{"32":{"tf":1.0},"38":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"2":{"1":{"df":2,"docs":{"32":{"tf":1.0},"34":{"tf":1.7320508075688772}}},"2":{"df":2,"docs":{"32":{"tf":1.0},"34":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"^":{"+":{"1":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ψ":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}}}},"−":{"1":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"112":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772}}},"d":{"df":1,"docs":{"99":{"tf":1.0}}},"df":52,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"105":{"tf":2.8284271247461903},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.7320508075688772},"123":{"tf":1.4142135623730951},"124":{"tf":1.0},"129":{"tf":1.7320508075688772},"130":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":2.0},"16":{"tf":1.0},"21":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"28":{"tf":2.0},"29":{"tf":2.8284271247461903},"32":{"tf":2.0},"33":{"tf":1.0},"34":{"tf":1.7320508075688772},"38":{"tf":1.0},"41":{"tf":1.7320508075688772},"42":{"tf":1.0},"45":{"tf":2.0},"49":{"tf":2.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":2.0},"6":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":3.1622776601683795},"70":{"tf":3.3166247903554},"71":{"tf":2.0},"72":{"tf":1.0},"78":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.7320508075688772},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.7320508075688772},"94":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"96":{"tf":1.4142135623730951},"97":{"tf":1.0}},"e":{"1":{"a":{"df":1,"docs":{"134":{"tf":1.0}}},"b":{"df":1,"docs":{"134":{"tf":1.0}}},"df":1,"docs":{"134":{"tf":1.4142135623730951}}},"2":{"a":{"df":1,"docs":{"134":{"tf":1.0}}},"b":{"df":1,"docs":{"134":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":11,"docs":{"105":{"tf":1.0},"119":{"tf":3.1622776601683795},"120":{"tf":1.7320508075688772},"125":{"tf":1.7320508075688772},"126":{"tf":2.0},"129":{"tf":1.0},"29":{"tf":1.0},"42":{"tf":1.0},"66":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.4142135623730951}},"j":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"α":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":2,"docs":{"131":{"tf":1.0},"87":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"​":{"=":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"j":{"df":2,"docs":{"131":{"tf":1.0},"87":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"​":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"γ":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"j":{"df":1,"docs":{"86":{"tf":1.7320508075688772}},"​":{"df":0,"docs":{},"∂":{"a":{"df":0,"docs":{},"i":{"df":1,"docs":{"92":{"tf":1.0}}}},"df":0,"docs":{}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"≈":{"df":0,"docs":{},"x":{"^":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"​":{"df":0,"docs":{},"​":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"∥":{"=":{"1":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"(":{"2":{"df":0,"docs":{},"m":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"(":{"df":0,"docs":{},"x":{"0":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"h":{"df":0,"docs":{},"v":{"0":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"∥":{"2":{"+":{"df":0,"docs":{},"h":{"2":{"df":0,"docs":{},"p":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{")":{".":{"(":{"8":{".":{"1":{".":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"h":{"2":{"df":0,"docs":{},"p":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{".":{"(":{"7":{".":{"2":{".":{"2":{"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":{}},"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":{},"x":{"=":{"b":{",":{"(":{"2":{".":{"2":{".":{"1":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"≥":{"0":{"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":{}}}}}},"n":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"123":{"tf":1.0}}}},"+":{"1":{"df":2,"docs":{"124":{"tf":1.4142135623730951},"53":{"tf":1.0}},"v":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"+":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"+":{"1":{",":{"=":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"+":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"−":{"1":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"+":{"1":{",":{"df":0,"docs":{},"​":{"(":{"1":{".":{"5":{".":{"1":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"n":{"+":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"−":{"1":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{",":{"df":0,"docs":{},"​":{"(":{"1":{".":{"4":{".":{"3":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"n":{"+":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"−":{"1":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"​":{"(":{"1":{".":{"4":{".":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":0,"docs":{},"":{"=":{"df":0,"docs":{},"h":{"^":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"a":{"^":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":3,"docs":{"124":{"tf":1.4142135623730951},"53":{"tf":1.0},"63":{"tf":1.0}}},"p":{"df":2,"docs":{"125":{"tf":1.0},"134":{"tf":1.0}}},"t":{"1":{"df":1,"docs":{"134":{"tf":1.0}}},"2":{"df":1,"docs":{"134":{"tf":1.0}}},"3":{"df":1,"docs":{"134":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"81":{"tf":1.0}}},"}":{"(":{"df":0,"docs":{},"x":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"d":{"df":2,"docs":{"7":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"∂":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}}}},"∈":{"df":0,"docs":{},"r":{"3":{"df":2,"docs":{"45":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}},"γ":{"c":{"df":0,"docs":{},"​":{".":{"df":0,"docs":{},"​":{"(":{"1":{"8":{".":{"5":{".":{"1":{"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":{}}},"d":{"df":1,"docs":{"103":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":1,"docs":{"103":{"tf":1.0}}}},"ω":{"0":{"df":5,"docs":{"103":{"tf":1.4142135623730951},"70":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.0}}},"df":0,"docs":{}}},"−":{"c":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"≤":{"df":0,"docs":{},"r":{"df":2,"docs":{"45":{"tf":1.0},"5":{"tf":1.0}}}}}},"df":0,"docs":{}},"⋅":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}},")":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{",":{"df":0,"docs":{},"j":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"y":{"=":{"3":{"df":1,"docs":{"38":{"tf":1.0}}},"df":0,"docs":{},"y":{"_":{"0":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"_":{"0":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"54":{"tf":3.1622776601683795}}},"df":0,"docs":{}}}}}},"i":{"df":1,"docs":{"45":{"tf":1.0}}},"j":{"df":1,"docs":{"45":{"tf":1.0}}}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"142":{"tf":1.0}}}}},"df":4,"docs":{"38":{"tf":1.4142135623730951},"41":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"45":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"r":{"=":{"df":0,"docs":{},"{":{"2":{"0":{"2":{"4":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":3,"docs":{"27":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":1,"docs":{"142":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"'":{"df":5,"docs":{"101":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"o":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"z":{"df":1,"docs":{"38":{"tf":1.0}}}},"z":{"a":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"95":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":19,"docs":{"101":{"tf":1.0},"134":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.7320508075688772},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"27":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"48":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"82":{"tf":1.7320508075688772},"96":{"tf":1.0},"97":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"u":{"df":1,"docs":{"142":{"tf":1.0}}}},"i":{"df":0,"docs":{},"p":{"(":{"*":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"35":{"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":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"z":{"=":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"z":{"df":0,"docs":{},"t":{"b":{")":{"2":{"d":{"df":0,"docs":{},"x":{"df":0,"docs":{},"≥":{"0":{"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":{}}}}}}},"title":{"root":{"1":{".":{"0":{".":{"0":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"4":{"tf":1.0}}},"2":{"0":{"2":{"4":{"/":{"5":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"df":3,"docs":{"116":{"tf":1.0},"122":{"tf":1.0},"24":{"tf":1.0}}},"df":1,"docs":{"13":{"tf":1.0}}},"3":{"d":{"df":2,"docs":{"128":{"tf":1.0},"133":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"c":{"d":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"d":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"81":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"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":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"123":{"tf":1.0}}}}}}}}},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"38":{"tf":1.0}}}}},"b":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"101":{"tf":1.0},"119":{"tf":1.0},"134":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"3":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":9,"docs":{"109":{"tf":1.0},"110":{"tf":1.0},"117":{"tf":1.0},"15":{"tf":1.0},"31":{"tf":1.0},"37":{"tf":1.0},"65":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}}},"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"139":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"h":{"df":1,"docs":{"137":{"tf":1.0}}}}},"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":7,"docs":{"116":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"40":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"125":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"117":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"120":{"tf":1.0},"135":{"tf":1.0},"139":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"67":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"80":{"tf":1.0},"82":{"tf":1.0},"86":{"tf":1.0}}}}}},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":7,"docs":{"110":{"tf":1.0},"15":{"tf":1.0},"31":{"tf":1.0},"37":{"tf":1.0},"65":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":2,"docs":{"90":{"tf":1.0},"91":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"47":{"tf":1.0}},"t":{"df":2,"docs":{"32":{"tf":1.0},"41":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":10,"docs":{"100":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"122":{"tf":1.0},"133":{"tf":1.0},"16":{"tf":1.0},"48":{"tf":1.0},"56":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"120":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"70":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}}},"d":{"b":{"c":{"df":3,"docs":{"38":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"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":2,"docs":{"41":{"tf":1.0},"75":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"71":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"119":{"tf":1.0},"126":{"tf":1.0},"78":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"120":{"tf":1.0},"135":{"tf":1.0},"139":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":4,"docs":{"111":{"tf":1.0},"15":{"tf":1.0},"31":{"tf":1.0},"37":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":7,"docs":{"123":{"tf":1.0},"25":{"tf":1.0},"4":{"tf":1.0},"58":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":5,"docs":{"118":{"tf":1.0},"134":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"f":{"df":2,"docs":{"33":{"tf":1.0},"40":{"tf":1.0}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"54":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"118":{"tf":1.0}}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"107":{"tf":1.0},"131":{"tf":1.0},"84":{"tf":1.0}},"o":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"128":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"104":{"tf":1.0},"117":{"tf":1.0},"85":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"33":{"tf":1.0},"40":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":5,"docs":{"119":{"tf":1.0},"126":{"tf":1.0},"27":{"tf":1.0},"73":{"tf":1.0},"86":{"tf":1.0}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}}}},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"51":{"tf":1.0},"87":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"104":{"tf":1.0}}}}},"x":{"df":1,"docs":{"59":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"102":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":3,"docs":{"89":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.0}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":2,"docs":{"53":{"tf":1.0},"84":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":9,"docs":{"102":{"tf":1.0},"122":{"tf":1.0},"126":{"tf":1.0},"133":{"tf":1.0},"140":{"tf":1.0},"17":{"tf":1.0},"56":{"tf":1.0},"63":{"tf":1.0},"98":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"40":{"tf":1.0},"42":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}}},"r":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"86":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"136":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"137":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"58":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"n":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"124":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":5,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"28":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"74":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"84":{"tf":1.0},"87":{"tf":1.0}}},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":2,"docs":{"20":{"tf":1.0},"52":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"129":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"l":{"a":{"df":0,"docs":{},"w":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"13":{"tf":1.0},"4":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"104":{"tf":1.0},"105":{"tf":1.0},"109":{"tf":1.0},"85":{"tf":1.0}}}},"df":3,"docs":{"21":{"tf":1.0},"51":{"tf":1.0},"87":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":1,"docs":{"48":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"106":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":5,"docs":{"106":{"tf":1.0},"130":{"tf":1.0},"24":{"tf":1.0},"27":{"tf":1.0},"90":{"tf":1.0}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":2,"docs":{"106":{"tf":1.0},"130":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":5,"docs":{"138":{"tf":1.0},"20":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"66":{"tf":1.0}}},"df":0,"docs":{}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"48":{"tf":1.0},"76":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"91":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"34":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"70":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"65":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"112":{"tf":1.0}}}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":2,"docs":{"20":{"tf":1.0},"6":{"tf":1.0}}},"df":1,"docs":{"19":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"100":{"tf":1.0},"87":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"100":{"tf":1.0},"124":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"74":{"tf":1.0}}}}}},"o":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"113":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":5,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.0},"47":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}}},"p":{"(":{"df":0,"docs":{},"σ":{")":{"=":{"df":0,"docs":{},"p":{"df":1,"docs":{"81":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"/":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":2,"docs":{"80":{"tf":1.0},"82":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"100":{"tf":1.0},"53":{"tf":1.0}}}}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"139":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"105":{"tf":1.0},"109":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"118":{"tf":1.0},"59":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"75":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"101":{"tf":1.0},"27":{"tf":1.0},"48":{"tf":1.0}}}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"124":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"81":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"74":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"117":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"21":{"tf":1.0},"51":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":4,"docs":{"114":{"tf":1.0},"116":{"tf":1.0},"122":{"tf":1.0},"133":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"117":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"45":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"41":{"tf":1.0},"76":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"29":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"41":{"tf":1.0},"75":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":4,"docs":{"37":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":3,"docs":{"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"57":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"113":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"4":{"tf":1.0},"74":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"136":{"tf":1.0},"25":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"24":{"tf":1.0},"27":{"tf":1.0}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"73":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"u":{"d":{"df":0,"docs":{},"i":{"df":7,"docs":{"116":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":24,"docs":{"103":{"tf":1.0},"108":{"tf":1.0},"115":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0},"127":{"tf":1.0},"132":{"tf":1.0},"141":{"tf":1.0},"18":{"tf":1.0},"23":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"50":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0},"83":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.0}}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"124":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"107":{"tf":1.0},"26":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"69":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":7,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"28":{"tf":1.0},"4":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"96":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"85":{"tf":1.0}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"41":{"tf":1.0}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"41":{"tf":1.0},"75":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"39":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"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":{"2":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"137":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":3,"docs":{"89":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.0}}}},"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 0000000..f730894 --- /dev/null +++ b/searchindex.json @@ -0,0 +1 @@ +{"doc_urls":["preface.html#overview","preface.html#contributing","preface.html#version-100-released-20245","preface.html#bibtex","lec1-discrete_space_time.html#lecture-1-discrete-space-and-time","lec1.1-solid_rep.html#representations-of-a-solid-geometry","lec1.2-newton_2nd_law.html#newtons-second-law","lec1.3-time_integration.html#time-integration","lec1.4-explicit_time_integration.html#explicit-time-integration","lec1.4-explicit_time_integration.html#forward-euler","lec1.4-explicit_time_integration.html#symplectic-euler","lec1.5-implicit_time_integration.html#implicit-time-integration","lec1.6-summary.html#summary","lec2-opt_framework.html#lecture-2-optimization-framework","lec2.1-opt_time_integration.html#optimization-time-integrator","lec2.2-dirichlet_BC.html#dirichlet-boundary-conditions","lec2.3-contact.html#contact","lec2.4-friction.html#friction","lec2.5-summary.html#summary","lec3-projected_Newton.html#projected-newton","lec3.1-conv_issue_Newton.html#convergence-issue-of-newtons-method","lec3.2-line_search.html#line-search","lec3.3-grad_based_opt.html#gradient-based-optimization","lec3.4-summary.html#summary","lec4-2d_mass_spring.html#case-study-2d-mass-spring","lec4.1-discretizations.html#spatial-and-temporal-discretizations","lec4.2-inertia.html#inertia-term","lec4.3-mass_spring_energy.html#mass-spring-potential-energy","lec4.4-opt_time_integrator.html#optimization-time-integrator","lec4.5-sim_with_vis.html#simulator-with-visualization","lec4.6-summary.html#summary","lec5-dirichlet_BC_solve.html#dirichlet-boundary-conditions","lec5.1-equality_constraints.html#equality-constraint-formulation","lec5.2-DOF_elimin.html#dof-elimination-method","lec5.2-DOF_elimin.html#a-more-practical-approach","lec5.3-hanging_square.html#case-study-hanging-square","lec5.4-summary.html#summary","lec6-slip_DBC.html#slip-dirichlet-boundary-conditions","lec6.1-axis_aligned.html#axis-aligned-slip-dbc","lec6.2-change_of_vars.html#change-of-variables","lec6.2-change_of_vars.html#challenges-with-general-slip-dbcs-and-the-dof-elimination-method","lec6.2-change_of_vars.html#simplifying-constraints-using-singular-value-decomposition","lec6.3-general_slip_DBC.html#general-slip-dbc","lec6.4-summary.html#summary","lec7-dist_barrier.html#distance-barrier-for-nonpenetration","lec7.1-signed_dists.html#signed-distances","lec7.2-dist_barrier_formulation.html#distance-barrier","lec7.2-dist_barrier_formulation.html#constrained-optimization","lec7.2-dist_barrier_formulation.html#logarithm-barrier-potential-in-contact-modeling","lec7.3-sol_accuracy.html#solution-accuracy","lec7.4-summary.html#summary","lec8-filter_line_search.html#filter-line-search","lec8.1-tunneling.html#the-tunneling-issue","lec8.2-nonpenetration_traj.html#penetration-free-trajectory","lec8.3-square_drop.html#case-study-square-drop","lec8.4-summary.html#summary","lec9-friction.html#frictional-contact","lec9.1-smooth_fric.html#smooth-dynamic-static-transition","lec9.2-semi_imp_fric.html#semi-implicit-discretization","lec9.3-fixed_point_iter.html#fixed-point-iteration","lec9.4-summary.html#summary","lec10-square_on_slope.html#case-study-square-on-slope","lec10.1-ground_to_slope.html#from-ground-to-slope","lec10.2-slope_fric.html#slope-friction","lec10.3-summary.html#summary","lec11-mov_DBC.html#moving-boundary-conditions","lec11.1-penalty_method.html#penalty-method","lec11.2-compress_square.html#case-study-compressing-square","lec11.3-summary.html#summary","lec12-kinematics.html#kinematics-theory","lec12.1-continuum_motion.html#continuum-motion","lec12.2-deformation.html#deformation","lec12.3-summary.html#summary","lec13-strain_energy.html#strain-energy","lec13.1-rigid_null_rot_inv.html#rigid-null-space-and-rotation-invariance","lec13.2-polar_svd.html#polar-singular-value-decomposition","lec13.3-simp_model_inversion.html#simplified-models-and-invertibility","lec13.4-summary.html#summary","lec14-stress_and_derivatives.html#stress-and-its-derivatives","lec14.1-stress.html#stress","lec14.2-compute_P.html#computing-p","lec14.2-compute_P.html#additional-proof-for-pΣpΣΨ","lec14.3-compute_stress_deriv.html#computing-pf-or-δp","lec14.4-summary.html#summary","lec15-inv_free_elasticity.html#case-study-inversion-free-elasticity","lec15.1-linear_tri_elem.html#linear-triangle-elements","lec15.2-energy_grad_hess.html#computing-energy-gradient-and-hessian","lec15.3-filter_line_search.html#filter-line-search-for-non-inversion","lec15.4-summary.html#summary","lec16-strong_and_weak_forms.html#strong-and-weak-forms","lec16.1-mass_conserv.html#conservation-of-mass","lec16.2-momentum_conserv.html#conservation-of-momentum","lec16.3-weak_form.html#weak-form","lec16.4-summary.html#summary","lec17-disc_weak_form.html#discretization-of-weak-forms","lec17.1-discrete_space.html#discrete-space","lec17.2-discrete_time.html#discrete-time","lec17.3-summary.html#summary","lec18-BC_and_fric.html#boundary-conditions-and-frictional-contact","lec18.1-incorporate_BC.html#incorporating-boundary-conditions","lec18.2-normal_contact.html#normal-contact-for-non-penetration","lec18.3-barrier_potential.html#barrier-potential","lec18.4-friction_force.html#friction-force","lec18.5-summary.html#summary","lec19-linear_FEM.html#linear-finite-elements","lec19.1-linear_disp_field.html#piecewise-linear-displacement-field","lec19.2-mass_matrix.html#mass-matrix-and-lumping","lec19.3-elasticity_term.html#elasticity-term","lec19.4-summary.html#summary","lec20-pw_linear_boundary.html#piecewise-linear-boundaries","lec20.1-boundary_conditions.html#boundary-conditions","lec20.1-boundary_conditions.html#dirichlet","lec20.1-boundary_conditions.html#neumann","lec20.2-obstacle_contact.html#solid-obstacle-contact","lec20.3-self_contact.html#self-contact","lec20.4-summary.html#summary","lec21-2d_self_contact.html#case-study-2d-self-contact","lec21.1-scene_setup.html#scene-setup-and-boundary-element-collection","lec21.2-point_edge_dist.html#point-edge-distance","lec21.3-barrier_and_derivatives.html#barrier-energy-and-its-derivatives","lec21.4-ccd.html#continuous-collision-detection","lec21.5-summary.html#summary","lec22-2d_self_fric.html#2d-frictional-self-contact","lec22.1-disc_and_approx.html#discretization-and-approximation","lec22.2-precompute.html#precomputing-normal-and-tangent-information","lec22.2-precompute.html#code","lec22.3-fric_and_derivatives.html#friction-energy-and-its-derivatives","lec22.4-summary.html#summary","lec23-3d_elastodynamics.html#3d-elastodynamics","lec23.1-kinematics.html#kinematics","lec23.2-mass_matrix.html#mass-matrix","lec23.3-elasticity.html#elasticity","lec23.4-summary.html#summary","lec24-3d_fric_self_contact.html#3d-frictional-self-contact","lec24.1-barrier_and_dist.html#barrier-and-distances","lec24.2-collision_detection.html#collision-detection","lec24.2-collision_detection.html#spatial-hashing","lec24.2-collision_detection.html#bounding-volume-hierarchies-bvh","lec24.2-collision_detection.html#accd-method","lec24.2-collision_detection.html#broad-phase-collision-detection","lec24.3-friction.html#friction","lec24.4-summary.html#summary","bibliography.html#bibliography"],"index":{"documentStore":{"docInfo":{"0":{"body":13,"breadcrumbs":2,"title":1},"1":{"body":34,"breadcrumbs":2,"title":1},"10":{"body":129,"breadcrumbs":8,"title":2},"100":{"body":133,"breadcrumbs":11,"title":4},"101":{"body":364,"breadcrumbs":8,"title":2},"102":{"body":85,"breadcrumbs":8,"title":2},"103":{"body":86,"breadcrumbs":6,"title":1},"104":{"body":78,"breadcrumbs":6,"title":3},"105":{"body":229,"breadcrumbs":11,"title":4},"106":{"body":138,"breadcrumbs":9,"title":3},"107":{"body":141,"breadcrumbs":7,"title":2},"108":{"body":77,"breadcrumbs":5,"title":1},"109":{"body":33,"breadcrumbs":6,"title":3},"11":{"body":248,"breadcrumbs":9,"title":3},"110":{"body":0,"breadcrumbs":7,"title":2},"111":{"body":48,"breadcrumbs":6,"title":1},"112":{"body":164,"breadcrumbs":6,"title":1},"113":{"body":211,"breadcrumbs":9,"title":3},"114":{"body":286,"breadcrumbs":7,"title":2},"115":{"body":118,"breadcrumbs":5,"title":1},"116":{"body":55,"breadcrumbs":10,"title":5},"117":{"body":282,"breadcrumbs":15,"title":5},"118":{"body":420,"breadcrumbs":11,"title":3},"119":{"body":301,"breadcrumbs":11,"title":3},"12":{"body":129,"breadcrumbs":5,"title":1},"120":{"body":497,"breadcrumbs":11,"title":3},"121":{"body":146,"breadcrumbs":7,"title":1},"122":{"body":82,"breadcrumbs":8,"title":4},"123":{"body":246,"breadcrumbs":8,"title":2},"124":{"body":164,"breadcrumbs":12,"title":4},"125":{"body":207,"breadcrumbs":9,"title":1},"126":{"body":273,"breadcrumbs":10,"title":3},"127":{"body":129,"breadcrumbs":6,"title":1},"128":{"body":45,"breadcrumbs":4,"title":2},"129":{"body":43,"breadcrumbs":4,"title":1},"13":{"body":0,"breadcrumbs":6,"title":4},"130":{"body":62,"breadcrumbs":6,"title":2},"131":{"body":301,"breadcrumbs":4,"title":1},"132":{"body":67,"breadcrumbs":4,"title":1},"133":{"body":48,"breadcrumbs":8,"title":4},"134":{"body":281,"breadcrumbs":8,"title":2},"135":{"body":38,"breadcrumbs":8,"title":2},"136":{"body":55,"breadcrumbs":8,"title":2},"137":{"body":21,"breadcrumbs":10,"title":4},"138":{"body":22,"breadcrumbs":8,"title":2},"139":{"body":52,"breadcrumbs":10,"title":4},"14":{"body":278,"breadcrumbs":8,"title":3},"140":{"body":55,"breadcrumbs":6,"title":1},"141":{"body":92,"breadcrumbs":6,"title":1},"142":{"body":278,"breadcrumbs":2,"title":1},"15":{"body":197,"breadcrumbs":8,"title":3},"16":{"body":604,"breadcrumbs":4,"title":1},"17":{"body":150,"breadcrumbs":4,"title":1},"18":{"body":192,"breadcrumbs":4,"title":1},"19":{"body":0,"breadcrumbs":4,"title":2},"2":{"body":13,"breadcrumbs":5,"title":4},"20":{"body":225,"breadcrumbs":9,"title":4},"21":{"body":226,"breadcrumbs":6,"title":2},"22":{"body":359,"breadcrumbs":8,"title":3},"23":{"body":84,"breadcrumbs":4,"title":1},"24":{"body":41,"breadcrumbs":10,"title":5},"25":{"body":229,"breadcrumbs":11,"title":3},"26":{"body":182,"breadcrumbs":9,"title":2},"27":{"body":380,"breadcrumbs":13,"title":4},"28":{"body":327,"breadcrumbs":11,"title":3},"29":{"body":624,"breadcrumbs":9,"title":2},"3":{"body":10,"breadcrumbs":2,"title":1},"30":{"body":108,"breadcrumbs":7,"title":1},"31":{"body":45,"breadcrumbs":6,"title":3},"32":{"body":352,"breadcrumbs":9,"title":3},"33":{"body":130,"breadcrumbs":9,"title":3},"34":{"body":286,"breadcrumbs":9,"title":3},"35":{"body":280,"breadcrumbs":11,"title":4},"36":{"body":78,"breadcrumbs":5,"title":1},"37":{"body":62,"breadcrumbs":8,"title":4},"38":{"body":117,"breadcrumbs":12,"title":4},"39":{"body":0,"breadcrumbs":8,"title":2},"4":{"body":149,"breadcrumbs":8,"title":5},"40":{"body":85,"breadcrumbs":13,"title":7},"41":{"body":208,"breadcrumbs":12,"title":6},"42":{"body":231,"breadcrumbs":10,"title":3},"43":{"body":88,"breadcrumbs":6,"title":1},"44":{"body":49,"breadcrumbs":6,"title":3},"45":{"body":365,"breadcrumbs":7,"title":2},"46":{"body":0,"breadcrumbs":7,"title":2},"47":{"body":66,"breadcrumbs":7,"title":2},"48":{"body":214,"breadcrumbs":10,"title":5},"49":{"body":188,"breadcrumbs":7,"title":2},"5":{"body":634,"breadcrumbs":9,"title":3},"50":{"body":212,"breadcrumbs":5,"title":1},"51":{"body":127,"breadcrumbs":6,"title":3},"52":{"body":204,"breadcrumbs":7,"title":2},"53":{"body":550,"breadcrumbs":9,"title":3},"54":{"body":441,"breadcrumbs":11,"title":4},"55":{"body":122,"breadcrumbs":5,"title":1},"56":{"body":46,"breadcrumbs":4,"title":2},"57":{"body":237,"breadcrumbs":10,"title":4},"58":{"body":283,"breadcrumbs":8,"title":3},"59":{"body":158,"breadcrumbs":8,"title":3},"6":{"body":190,"breadcrumbs":9,"title":3},"60":{"body":85,"breadcrumbs":4,"title":1},"61":{"body":64,"breadcrumbs":8,"title":4},"62":{"body":305,"breadcrumbs":8,"title":2},"63":{"body":467,"breadcrumbs":8,"title":2},"64":{"body":57,"breadcrumbs":6,"title":1},"65":{"body":93,"breadcrumbs":6,"title":3},"66":{"body":277,"breadcrumbs":7,"title":2},"67":{"body":752,"breadcrumbs":11,"title":4},"68":{"body":83,"breadcrumbs":5,"title":1},"69":{"body":143,"breadcrumbs":4,"title":2},"7":{"body":201,"breadcrumbs":7,"title":2},"70":{"body":281,"breadcrumbs":6,"title":2},"71":{"body":316,"breadcrumbs":4,"title":1},"72":{"body":55,"breadcrumbs":4,"title":1},"73":{"body":89,"breadcrumbs":4,"title":2},"74":{"body":353,"breadcrumbs":12,"title":5},"75":{"body":184,"breadcrumbs":10,"title":4},"76":{"body":217,"breadcrumbs":8,"title":3},"77":{"body":162,"breadcrumbs":4,"title":1},"78":{"body":59,"breadcrumbs":4,"title":2},"79":{"body":271,"breadcrumbs":4,"title":1},"8":{"body":27,"breadcrumbs":9,"title":3},"80":{"body":114,"breadcrumbs":6,"title":2},"81":{"body":87,"breadcrumbs":7,"title":3},"82":{"body":437,"breadcrumbs":8,"title":3},"83":{"body":94,"breadcrumbs":4,"title":1},"84":{"body":73,"breadcrumbs":10,"title":5},"85":{"body":313,"breadcrumbs":11,"title":3},"86":{"body":751,"breadcrumbs":13,"title":4},"87":{"body":385,"breadcrumbs":15,"title":5},"88":{"body":127,"breadcrumbs":7,"title":1},"89":{"body":135,"breadcrumbs":6,"title":3},"9":{"body":142,"breadcrumbs":8,"title":2},"90":{"body":139,"breadcrumbs":7,"title":2},"91":{"body":215,"breadcrumbs":7,"title":2},"92":{"body":272,"breadcrumbs":7,"title":2},"93":{"body":97,"breadcrumbs":5,"title":1},"94":{"body":67,"breadcrumbs":6,"title":3},"95":{"body":316,"breadcrumbs":7,"title":2},"96":{"body":74,"breadcrumbs":7,"title":2},"97":{"body":115,"breadcrumbs":5,"title":1},"98":{"body":32,"breadcrumbs":8,"title":4},"99":{"body":174,"breadcrumbs":10,"title":3}},"docs":{"0":{"body":"This free online book marks our commitment to make the theory and algorithms of physics-based simulations accessible to everyone.","breadcrumbs":"Preface » Overview","id":"0","title":"Overview"},"1":{"body":"If you are interested in contributing to editing and improving this book, please do it through a Github pull request on the mdbook-src repository (not the HTML repository) , or directly contact Minchen Li and Chenfanfu Jiang . Depending on the nature of your contribution, you'll be listed as book co-authors or community contributors in future builds of the book.","breadcrumbs":"Preface » Contributing","id":"1","title":"Contributing"},"10":{"body":"If we put superscript \\(n+1\\) on \\(v\\) in the position derivative discretization while keeping the velocity derivative the same, we get a new update rule: Method 1.4.2 (Symplectic Euler Time Integration for Newton's Second Law). Given the current state variables, the mass matrix, and the time step size from \\(t^n\\) to \\(t^{n+1}\\), xn+1vn+1​=xn+Δtvn+1=vn+ΔtM−1fn,​(1.4.3) where \\(n=0,1,2,\\dots\\). With a minor alteration, the integration becomes conditionally stable . This implies that if \\(\\Delta t\\) remains within a problem-specific limit, we can effectively confine the numerical error of the solution. Moreover, the Symplectic Euler method exhibits an appealing trait of system energy preservation, as demonstrated in the middle of the figure below. Figure 1.4.1 (Stability of Time Integrators). The provided illustration showcases a particle executing constant circular motion, simulated using the forward Euler, Symplectic Euler, and implicit Euler methods, respectively from left to right. The varying colors within the illustration represent the progression of time. Notably, each method exhibits distinct characteristics in the simulation: the forward Euler simulation eventually undergoes an unstable escalation, the Symplectic Euler closely adheres to the theoretical trajectory, and the implicit Euler, while maintaining stability, gradually brings the motion to a halt.","breadcrumbs":"Discrete Space and Time » Explicit Time Integration » Symplectic Euler","id":"10","title":"Symplectic Euler"},"100":{"body":"To prevent self-interpenetration during simulation, it's essential to enforce a condition ensuring that the deformation map ϕ(⋅,t):Ω0→Ωt is bijective for any t≥0. This bijection is maintained by boundary forces acting on pairs of contacting surface regions, referred to as ΓC​. We can think of these forces as another set of Neumann boundary conditions that exert extra forces on ΓC​ only when necessary to prevent interpenetration. Thus, we can extend the boundary integral term in the weak form as follows: ​∫∂Ω0​Qi​(X,t)Ti​(X,t)ds(X)=∫ΓD​​Qi​(X,t)TD∣i​(X,t)ds(X)+∫ΓN​​Qi​(X,t)TN∣i​(X,t)ds(X)+∫ΓC​​Qi​(X,t)TC∣i​(X,t)ds(X),​(18.2.1) where TN​(X,t) is the original Neumann boundary force specified in the problem setup, and TC​(X,t) is the normal contact force arising from the bijectivity constraint. Similar to Dirichlet boundary conditions, TC​(X,t) can only be determined once we solve the problem. However, enforcing non-interpenetration is more complex than prescribing displacements. Fortunately, we can use the approximate constitutive model of TC​(X,t) in IPC to represent the contact force as a function of x, ensuring non-interpenetration by simply including this additional conservative force. Remark 18.2.1 (Overlapping Boundaries). Note that here ΓC​ can overlap with both ΓD​ and ΓN​. For a free (Neumann) boundary contacting a Dirichlet boundary, TC​(X,t) on the Dirichlet part will also be ignored when enforcing the Dirichlet boundary conditions. However, if two Dirichlet boundaries interpenetrate each other, the problem will have no solution with the bijectivity constraint.","breadcrumbs":"Boundary Conditions and Frictional Contact » Normal Contact for Nonpenetration » Normal Contact for Non-penetration","id":"100","title":"Normal Contact for Non-penetration"},"101":{"body":"As discussed in Distance Barrier for Nonpenetration , the principle of IPC for solid-to-obstacle contact is to use a barrier function to ensure that the signed distance between any nodal degrees of freedom (DOFs) and obstacles remains positive throughout the simulation. To handle self-contact, potentially for codimensional objects, this idea is extended to ensure that the unsigned distance between any boundary points and the boundary remains nonzero throughout the simulation. Let's consider two colliding regions, Γ1​⊂∂Ω0 and Γ2​⊂∂Ω0, on the boundary. For any point X1​∈Γ1​, we must ensure that the closest distance between X1​ and any point on Γ2​ remains nonzero. This can be achieved by using a barrier function to enforce this minimum distance, where the negative gradient of the function provides the contact force. This can be written as TC​(X1​,t)=−∂x(X1​,t)∂b(minX2​∈Γ2​​∥x(X1​,t)−x(X2​,t)∥,d^)​,(18.3.1) where b is the barrier function: b(d,d^)={2κ​d^(d^d​−1)lnd^d​0​d0, while s(VF​) takes any unit vector orthogonal to N(X,t) when ∥VF​∥=0. In addition, the friction scaling function f is also nonsmooth with respect to VF​, since f(∥VF​∥)=1 when ∥VF​∥>0, and f(∥VF​∥)∈[0,1] when ∥VF​∥=0. These nonsmooth properties can severely hinder or even break the convergence of gradient-based optimization. The mollification of the friction-velocity relationship here follows the same approach as in Frictional Contact .","breadcrumbs":"Boundary Conditions and Frictional Contact » Friction Force » Friction Force","id":"102","title":"Friction Force"},"103":{"body":"We have discussed Neumann and Dirichlet boundary conditions as well as frictional contact in the continuous setting to complete a rigorous problem formulation. Combining everything in strong form, for all t≥0: R(X,0)∂t∂V​(X,t)=∇X⋅P(X,t)+R(X,0)Aext(X,t),x=xD​(X,t),P(X,t)N(X)=TN​(X,t)+TC​(X,t)+TF​(X,t),ϕ(X,t):Ω0→Ωt is bijective,TF​(X,t)=β∈Rdargmin​βTVF​(X,t)s.t.∥β∥≤μ∥TC​(X,t)∥ and β⋅N(X,t)=0,​∀ X∈Ω0;∀ X∈ΓD​;∀ X∈ΓN​;∀ X∈Ω0;∀ X∈ΓC​.​(18.5.1) After deriving the weak form of the momentum equation, the boundary integral term can be separated as follows: ∫∂Ω0​Qi​(X,t)Ti​(X,t)ds(X)=​∫ΓD​​Qi​(X,t)TD∣i​(X,t)ds(X)+∫ΓN​​Qi​(X,t)TN∣i​(X,t)ds(X)+∫ΓC​​Qi​(X,t)TC∣i​(X,t)ds(X)+∫ΓC​​Qi​(X,t)TF∣i​(X,t)ds(X).​(18.5.2) Here, only the Neumann force TN​(X,t) is given, while all other boundary forces can be determined after solving the coupled system. Fortunately, Dirichlet boundary conditions can be enforced straightforwardly in the optimization framework as linear equality constraints. Frictional contact forces TC​(X,t) and TF​(X,t) can both be smoothly approximated as conservative forces with controllable error. In the next chapter, we will discuss discretizing the weak form using the finite element method (FEM), connecting the derivations in this chapter to the discrete simulation methods.","breadcrumbs":"Boundary Conditions and Frictional Contact » Summary » Summary","id":"103","title":"Summary"},"104":{"body":"From the governing equations in the continuous setting, we derived the discretized weak form system (nd equations) using the backward Euler time integration rule: ​Ma^b​Δt2xb∣i^n​−(xb∣i^n−1​+hVb∣i^n−1​)​=∫∂Ω0​Na^​(X)Ti^​(X,tn)ds(X)−∫Ω0​Na^,j​(X)Pi^j​(X,tn)dX.​(19.1) In this chapter, we'll start by discussing the shape function Na^​ in the context of linear finite elements. This exploration will help us understand the underlying implementation detailed in Inversion-Free Elasticity . We'll focus specifically on simplex finite elements. In 2D, the 2-simplex is a triangle, and we've consistently used triangle meshes throughout this book to discretize the solid domain into a disjoint set of triangular elements. Definition 19.1 (Simplex). An n-simplex is a geometric object with n+1 vertices that exists in an n-dimensional space. It cannot fit in any space of smaller dimension.","breadcrumbs":"Linear Finite Elements » Linear Finite Elements","id":"104","title":"Linear Finite Elements"},"105":{"body":"For a triangle element with vertices X1​, X2​, and X3​ in the solid domain, we can approximate the world space coordinates of an arbitrary point X in this element using spatial discretization (see Equation (17.1.1) ): x^(X)=x(X1​)N1​(X)+x(X2​)N2​(X)+x(X3​)N3​(X),(19.1.1) This equation represents a 2D interpolation, extending Experiment Example 17.1.1 . Here, we assume that the world space coordinates of any arbitrary point in an element can be interpolated solely from the coordinates of the element's vertices. Linear finite elements use linear shape functions Ni​ in Equation (19.1.1) , resulting in a piecewise linear (per triangle) displacement field u=x^(X)−X over the entire domain. Before providing the precise expression of N in terms of X, we'll introduce another parameter space to simplify the derivation. Let β,γ∈[0,1] and β+γ=1, we can use them to express the material space coordinates of an arbitrary point X in the element X1​X2​X3​ as: X(β,γ)​=X1​+β(X2​−X1​)+γ(X3​−X1​)=(1−β−γ)X1​+βX2​+γX3​.​ Here, X is a linear function of (β,γ). With linear shape functions, the approximation x^ is a linear function of X. Recall that for interpolation, we have to satisfy the conditions x^(Xi​)=x(Xi​). Putting these all together, we can obtain a unique solution: x(β,γ)≈x^(β,γ)​=x1​+β(x2​−x1​)+γ(x3​−x1​)=(1−β−γ)x1​+βx2​+γx3​,​ where we denote x(Xi​) as xi​. This indicates that: N1​(β,γ)=1−β−γ,N2​(β,γ)=β,N3​(β,γ)=γ. Interestingly, with the expression of X(β,γ), x(β,γ), and N(β,γ), we do not necessarily need the precise expression of x^(X) and N(X) for the following derivations to compute each term in Equation (17.2.1) . Remark 19.1.1 (Partition of Unity). The shape functions of FEM satisfy the partition of unity everywhere within each element: N1​(β,γ)+N2​(β,γ)+N3​(β,γ)=1∀ β,γ∈[0,1] and β+γ=1. One advantage of FEM is that it provides accurate boundary resolution compared to grid or particle-based representations. The boundary nodes of the FEM mesh can be exactly located on the boundary of the continuous domain. The elements are generated inside the domain, connecting the boundary nodes to form the discrete boundary, which converges to the boundary of the continuous domain as resolution increases. Although particle-based methods can also sample particles on the domain boundary, their spherical shape functions extend beyond the domain, breaking the partition of unity. This creates a \"soft\" outbound layer of material that makes boundary force computations inaccurate. In contrast, FEM shape functions are nonzero only within each element, where the partition of unity is satisfied everywhere.","breadcrumbs":"Linear Finite Elements » Piecewise Linear Displacement Field » Piecewise Linear Displacement Field","id":"105","title":"Piecewise Linear Displacement Field"},"106":{"body":"Recall from Discretization of Weak Forms that: Mab​=∫Ω0​R(X,0)Na​(X)Nb​(X)dX.(19.2.1) With the solid domain discretized into triangles T, we have: Mab​=e∈T∑​∫Ωe0​​R(X,0)Na​(X)Nb​(X)dX,(19.2.2) where Ωe0​ represents the material space of triangle e. Note that for linear triangle elements, since Ni​ is nonzero only on the incident triangles of node i, here we only need to consider triangles with both a and b being their vertices. Let us change the integration variable from X to (β,γ), which gives: =​∫Ωe0​​R(X,0)Na​(X)Nb​(X)dX∫01​∫01−β​R(β,γ,0)Na​(β,γ)Nb​(β,γ)∣det(∂(β,γ)∂X​)∣dγdβ.​(19.2.3) For simplicity, let us denote the vertices of this triangle e as X1​, X2​, and X3​, and then we have: ∣det(∂(β,γ)∂X​)∣=∣det([X2​−X1​,X3​−X1​])∣=2Ae​, where Ae​ is the area of triangle e. Here, Na​ and Nb​ take 1−β−γ, β, or γ depending on the vertex indices a and b. For example, if a and b correspond to the 2nd and 3rd vertices of triangle e, then Na​=β and Nb​=γ. Assuming uniform density, we have: ∫Ωe0​​R(X,0)Na​(X)Nb​(X)dX====​2RAe​∫01​∫01−β​βγdγdβ2RAe​∫01​21​βγ2∣γ=0γ=1−β​dβRAe​∫01​β(1−β)2dβRAe​(2β2​−32β3​+4β4​)∣β=0β=1​=121​RAe​.​(19.2.4) With mass lumping, Mablump​=δab​∑c​Mac​, which means: Maalump​=e∈T∑​b∈V∑​∫Ωe0​​R(X,0)Na​(X)Nb​(X)dX,(19.2.5) where V contains all the nodes of the mesh, and all off-diagonal entries of Mlump are 0. Similarly, due to the locality of N, for each triangle element, b only needs to traverse all three triangle vertices: Maalump​​=e∈T(a)∑​2RAe​(∫01​∫01−β​β(1−β−γ)dγdβ+∫01​∫01−β​β2dγdβ+∫01​∫01−β​βγdγdβ)=e∈T(a)∑​2RAe​∫01​βdγdβ=e∈T(a)∑​2RAe​∫01​βγ∣γ=0γ=1−β​dβ=e∈T(a)∑​2RAe​∫01​β(1−β)dβ=e∈T(a)∑​2RAe​(2β2​−3β3​)∣β=0β=1​=e∈T(a)∑​31​RAe​,​(19.2.6) where T(a) denotes the set of triangles incident to node a. This result also explains why in Inversion-Free Elasticity when computing the mass for all the nodes, we traverse all triangles, calculate the mass of the triangle RAe​ and evenly distribute it to the three vertices. With the mass matrix computed, the momentum change and external body force terms including their energy forms are all easy to deal with.","breadcrumbs":"Linear Finite Elements » Mass Matrix and Lumping » Mass Matrix and Lumping","id":"106","title":"Mass Matrix and Lumping"},"107":{"body":"For the elasticity term ∫Ω0​Na^,j​(X)Pi^j​(X,tn)dX in the discrete weak form system in Equation (19.1) , we can write it as the summation of integrals on each triangle e in vector form: ​∫Ω0​Na^,j​(X)Pi^j​(X,tn)dX=∫Ω0​(P(X,tn)∇XNa^​(X))i^​ dX=e∈T∑​∫Ωe0​​(P(X,tn)∇XNa^​(X))i^​ dX.​(19.3.1) Analogously, this summation also only needs to involve the incident triangles of node a^. Recall from Strain Energy , to compute the first Piola-Kirchoff stress P(X,tn), we only need the deformation gradient F(X,tn). From Section Kinematics , we know that F=∂X∂x​. Applying the chain rule with the parameter space variables (β,γ) as intermediates, we have: ​F=∂(β,γ)∂x​(∂(β,γ)∂X​)−1≈∂(β,γ)∂x^​(∂(β,γ)∂X​)−1=[x2​−x1​,x3​−x1​][X2​−X1​,X3​−X1​]−1,​(19.3.2) which is exactly the same as Equation (15.1.1) from our earlier implementation (Section Inversion-Free Elasticity ). Here, we also see that with linear finite elements, the deformation gradient field is piecewise constant in Ω0, so is P. Then for ∇XNa^​(X), depending on the index of a^ in triangle e, we can derive it again using parameter space variables as: ∇XN1​(X)∇XN2​(X)=([1,0][X2​−X1​,X3​−X1​]−1)T∇XN3​(X)=([0,1][X2​−X1​,X3​−X1​]−1)T.​=∂X∂(1−β−γ)​=(∂(β,γ)∂(1−β−γ)​(∂(β,γ)∂X​)−1)T=([−1,−1][X2​−X1​,X3​−X1​]−1)T=∂X∂β​=(∂(β,γ)∂β​(∂(β,γ)∂X​)−1)T=∂X∂γ​=(∂(β,γ)∂γ​(∂(β,γ)∂X​)−1)T​ This also allows us to see that P(X,tn)∇XNa^​(X) is constant within any triangle e and it is equivalent to ∂xa^​∂Ψe​​ since: ∂xa^​∂Ψe​​=∂F∂Ψe​​∂x^∂F​∂xa^​∂x^​=P∂x^∂x^/∂X​Na^​=P∇XNa^​.​ Substituting ∂xa^​∂Ψe​​ into Equation (19.3.1) we obtain: ∫Ω0​Na^,j​(X)Pi^j​(X,tn)dX​=e∈T∑​∫Ωe0​​(P(X,tn)∇XNa^​(X))i^​ dX=e∈T∑​∫Ωe0​​(∂xa^​∂Ψe​​)i^​ dX=e∈T∑​Ae​(∂xa^​∂Ψe​​)i^​,​ which is exactly how nodal elasticity force is computed in Section Inversion-Free Elasticity . This also indicates that the total elasticity potential can be calculated as ∑e∈T​Ae​Ψe​, which is ∫Ω0​Ψ(X)dX before spatial discretization. Remark 19.3.1. [Linear FEM] Linear FEM refers to x being a piecewise linear function of X, but the elasticity model can still be nonlinear, i.e. P can be a nonlinear function of F.","breadcrumbs":"Linear Finite Elements » Elasticity Term » Elasticity Term","id":"107","title":"Elasticity Term"},"108":{"body":"Based on the temporally and spatially discretized weak form, we've explored methods to compute the mass matrix, deformation gradient, and elasticity force under the linear finite element setting, all of which align with our implementation in Section Inversion-Free Elasticity . With linear finite elements, the world space coordinates x are approximated as a piecewise linear function of X. This approximation, x^(X), is a linear function inside each triangle and is C0-continuous at the edges. By using two parameters, β and γ, to represent points on each triangle, we can identify the linear shape functions that interpolate the displacements at the triangle vertices and derive the deformation gradient F. The mass matrix entries and elasticity terms can then be computed via integration with respect to β and γ.","breadcrumbs":"Linear Finite Elements » Summary » Summary","id":"108","title":"Summary"},"109":{"body":"In this lecture, we will continue our discussion on linear finite elements by focusing on boundary conditions and frictional self-contact on piecewise linear boundaries. Specifically, we will examine the computation of the boundary integral term: ∫∂Ω0​Na^​(X)Ti^​(X,tn)ds(X)(20.1) We will cover this in the context of Dirichlet and Neumann boundaries, as well as normal and frictional self-contact forces.","breadcrumbs":"Piecewise Linear Boundaries » Piecewise Linear Boundaries","id":"109","title":"Piecewise Linear Boundaries"},"11":{"body":"In contrast to explicit time integration, implicit time integration requires solving a system of equations to determine the values of \\(x^{n+1}\\) and \\(v^{n+1}\\). A notable benefit of this approach is its potential for greatly improved stability. The simplest form of implicit integration, the backward Euler method, is introduced as follows. Method 1.5.1 (Backward Euler Time Integration Application to Newton's Second Law). Given the current state variables, the mass matrix, and the time interval from \\(t^n\\) to \\(t^{n+1}\\), the update rules are as follows: xn+1vn+1​=xn+Δtvn+1,=vn+ΔtM−1fn+1,​(1.5.1) where \\(n\\) ranges from \\(0,1,2,\\dots\\). In many scenarios discussed in this book, the forces are derived from position vectors \\(x\\). Thus, we can represent \\(f^{n+1} = f(x^{n+1})\\). It's crucial to recognize that the update for \\(x^{n+1}\\) depends on knowing \\(v^{n+1}\\), yet the calculation of \\(v^{n+1}\\) is contingent on \\(x^{n+1}\\). This interdependence creates a cyclical dependency, necessitating the resolution of a system of equations to accurately find \\(x^{n+1}\\) and \\(v^{n+1}\\). By formulating \\(v^{n+1} = (x^{n+1} - x^n) / \\Delta t\\), Equation (1.5.1) can be rephrased as: M(xn+1−(xn+Δtvn))−Δt2f(xn+1)=0.(1.5.2) Given that forces \\(f\\) often exhibit nonlinearity with respect to positions \\(x\\), Equation (1.5.2) generally becomes nonlinear, requiring the use of nonlinear root finding techniques like Newton's method for solution. Method 1.5.2 (Newton's Method Applied to Backward Euler Time Integration). As described in the algorithm below, Newton's method is an iterative technique starting from an initial estimate \\(x^i\\) of the solution. At the current iteration \\(x^i\\), it linearly approximates \\(f(x^{n+1}) \\approx f(x^i) + (x^{n+1}-x^i) \\nabla f(x^i)\\), then resolves a linear system and updates the iteration. This process is repeated until a satisfactory degree of convergence is reached. Algorithm 1.5.1 (Newton's Method for Backward Euler Time Integration). While the backward Euler method ensures unconditional stability even for large values of \\(\\Delta t\\), it's crucial to recognize that increasing \\(\\Delta t\\) may lead to poorer system conditioning. This complication can make solving the linear system more challenging. Additionally, it's important to remember that force linearization is an approximation. If the initial estimate for the solution is far from the actual solution, the standard iteration of Newton's method might not converge, and it could even diverge. In later discussions, we will introduce a modified version of Newton's method. This adaptation is designed to guarantee convergence for specific types of problems, regardless of the initial estimate or the size of \\(\\Delta t\\).","breadcrumbs":"Discrete Space and Time » Implicit Time integration » Implicit Time Integration","id":"11","title":"Implicit Time Integration"},"110":{"body":"","breadcrumbs":"Piecewise Linear Boundaries » Boundary Conditions » Boundary Conditions","id":"110","title":"Boundary Conditions"},"111":{"body":"Due to the accurate boundary resolution of the Finite Element Method (FEM), enforcing Dirichlet boundary conditions is straightforward. We only need to constrain the world-space coordinates of the boundary nodes to the prescribed values: x^(Xi​)=xD​(Xi​)∀ Xi​∈ΓD​. Once these constraints are properly enforced, the Dirichlet boundary integral term can be ignored. This same mechanism can also be used to prescribe the displacement of any interior nodes. Although this does not directly correspond to any physical effects, it can simplify the simulation setup.","breadcrumbs":"Piecewise Linear Boundaries » Boundary Conditions » Dirichlet","id":"111","title":"Dirichlet"},"112":{"body":"For Neumann boundary conditions, we can evaluate the boundary integral term using the parameter space variables β and γ. With triangle mesh discretization, we have: ∫ΓN​​Na^​(X)Ti^​(X,tn)ds(X)=e∈T∑​∫∂Ωe0​∩ΓN​​Na^​(X)Ti^​(X,tn)ds(X), where ∂Ωe0​∩ΓN​ is the edge of triangle e that is on the Neumann boundary. For any boundary node a^ in 2D, there will be at most two incident triangles to consider in the integration for linear shape functions. Let's examine the case with two incident triangles. Consider one of the integrals. Without loss of generality, assume Na^​=β (where Xa^​ corresponds to X2​ in triangle e), and that X3​ is the other node of e on the boundary edge. Then, switching the integration variables to β gives us: ∫∂Ωe0​∩ΓN​​Na^​(X)Ti^​(X,tn)ds(X)=∫01​βTi^​(βX2​+(1−β)X3​,tn)​∂β∂s​​dβ. Here, ​∂β∂s​​ is simply the edge length ∥X2​−X3​∥. If T is constant over the boundary at tn, we can compute: Ti^n​∫01​β​∂β∂s​​dβ=21​∥X2​−X3​∥Ti^n​. Therefore, to add a constant Neumann force to the discrete system, we first calculate the length weight of each boundary node by distributing the length of the boundary edges evenly to their vertices, and then multiply by the traction Ti^n​. If T is not constant over the boundary, more complex boundary integral calculations are needed. For a boundary node with only one incident triangle, its length weight comes from its two incident edges within the same triangle. Remark 20.1.1 (Neumann Boundary Conditions). Here, we observe that the specified traction in standard Neumann boundary conditions is independent of x, which simplifies the derivation of the potential energy, even in the continuous setting for varying Neumann forces over the domain: ∫ΓN​​x(X)⋅T(X,tn)ds(X).(20.1.1) To verify this, we can replace x(X) with x^(X)=Na^​(X)xa^​+… for spatial discretization. Taking the derivative with respect to xa^​ gives us the force integral term in the discrete weak form: ∂xa^​∂∫ΓN​​x^(X)⋅T(X,tn)ds(X)​=∫ΓN​​Na^​(X)T(X,tn)ds(X).","breadcrumbs":"Piecewise Linear Boundaries » Boundary Conditions » Neumann","id":"112","title":"Neumann"},"113":{"body":"Recall that we used a conservative force model to approximate the contact traction TC​, allowing it to be directly evaluated given the current configuration of the solids. This results in a contact potential: PC​=∫ΓC​​21​b(X2​∈ΓC​−N(X)min​∥x(X,t)−x(X2​,t)∥,d^)ds(X), where b() is the barrier energy density function, and N(X) is an infinitesimal region around X where contact is ignored for theoretical soundness. For normal contact between simulated solids and collision obstacles (ignoring self-contact for now), PC​ can be written in a much simpler form PC​​=∫ΓS​​21​b(X2​∈ΓO​min​∥x(X,t)−x(X2​,t)∥,d^)ds(X)+∫ΓO​​21​b(X2​∈ΓS​min​∥x(X,t)−x(X2​,t)∥,d^)ds(X)=∫ΓS​​b(X2​∈ΓO​min​∥x(X,t)−x(X2​,t)∥,d^)ds(X)=∫ΓS​​b(dPO(x(X,t),O),d^)ds(X).​ Here ΓS​ and ΓO​ are the boundaries of the simulated solids and obstacles respectively, dPO(x(X,t),O)=minX2​∈ΓO​​∥x(X,t)−x(X2​,t)∥ is the point-obstacle distance, and the simplification from two terms to one single term is due to symmetry in the continuous setting. With triangle discretization, ∫ΓS​​b(dPO(x(X,t),O),d^)ds(X)≈e∈T∑​∫∂Ωe0​∩ΓS​​b(dPO(x(X,t),O),d^)ds(X).(20.2.1) Similar to the derivation for Neumann boundaries, for any boundary node a^, with 2 incident triangles, let us look at one of the integral. Without loss of generality, we can assume Na^​=β (Xa^​ corresponds to X2​ in triangle e), and that X3​ is the other node of e on the boundary edge. Then, switching the integration variables to β gives us =​∫∂Ωe0​∩ΓS​​b(dPO(x(X,t),O),d^)ds(X)∫01​b(dPO(x(βX2​+(1−β)X3​,t),O),d^)∣∂β∂s​∣dβ.​(20.2.2) Since b() and dPO() are both highly nonlinear functions, we could not obtain a closed-form expression for Equation (20.2.2) . If we take the two end points X2​ and X3​ as quadrature points both with weights 21​, we can approximate the integral as ≈​∫01​b(dPO(x(βX2​+(1−β)X3​,t),O),d^)∣∂β∂s​∣dβ21​b(dPO(x(X2​,t),O),d^)∣∂β∂s​∣+21​b(dPO(x(X3​,t),O),d^)∣∂β∂s​∣.​(20.2.3) Then, the whole boundary integral can be approximated as ∫ΓS​​b(dPO(x(X,t),O),d^)ds(X)≈a^∑​2∥Xa^​−Xa^−1​∥+∥Xa^​−Xa^+1​∥​b(dPO(xa^​,O),d^), assuming that Xa^−1​ and Xa^+1​ are the two neighbors of Xa^​ on the boundary. This is now exactly what has been implemented in Filter Line Search . Remark 20.2.1 (Quadrature Choice for Line Segment). Selecting the two end points (β=0,1) as quadrature points for a line segment integral (Equation (20.2.3) ) is not a common design choice. Typically, Gaussian quadrature would use β=63±3​​. The advantage of choosing β=0,1 is that it results in fewer quadrature points globally, thus reducing computational costs, as neighboring edges share end points. To see how PC​ connects to the boundary integral (Equation (20.1) ) in the discrete weak form, let us take the derivative of the discretized contact potential (Equation (20.2.1) ) with respect to xa^​: ==​−∂xa^​∂(∑e∈T​∫∂Ωe0​∩ΓS​​b(dPO(x(X,t),O),d^)ds(X))​e∈T∑​∫∂Ωe0​∩ΓS​​−∂x∂b(dPO(x(X,t),O),d^)​∂xa^​∂x​ds(X)e∈T∑​∫∂Ωe0​∩ΓS​​−∂x∂b(dPO(x(X,t),O),d^)​Na^​(X)ds(X).​ Then we also verified that TC​(X,t)=−∂x∂b(dPO(x(X,t),O),d^)​ here.","breadcrumbs":"Piecewise Linear Boundaries » Solid-Obstacle Contact » Solid-Obstacle Contact","id":"113","title":"Solid-Obstacle Contact"},"114":{"body":"With triangle discretization, the boundary of the domain is approximated as a polyline formed by a set of edges. Let us denote this set of boundary edges as E, and the barrier potential becomes: ≈=​∫ΓC​​21​b(X2​∈ΓC​−N(X)min​∥x(X,t)−x(X2​,t)∥,d^)ds(X)∫ΓC​​21​b(e∈E−I(X)min​X2​∈emin​∥x(X,t)−x(X2​,t)∥,d^)ds(X)∫ΓC​​21​b(e∈E−I(X)min​dPE(x(X,t),e),d^)ds(X).​ Here, I(X) is the set of edges that contain X. Completely ignoring these edges is a specific choice of N(X) under the current discretization. The term minX2​∈e​∥x(X,t)−x(X2​,t)∥ is simply the point-edge distance dPE(x(X,t),e), which can be calculated as either a point-point distance or a point-line distance depending on the relative positions of the point and the edge. As we know, the barrier energy density function b is already a smooth approximation to the discontinuous normal contact forces that prevent interpenetration between two colliding points. However, when considering self-contact between discrete surfaces (piecewise linear here), the non-smooth min operator on point-edge distances is inevitable. This non-smoothness can still pose challenges for optimization time integrators. To obtain a smooth barrier potential even in the case of piecewise linear boundaries, we first transform the min operator to a max operator, as the energy density function b is a non-ascending function everywhere in the domain. This gives us: ∫ΓC​​21​e∈E−I(X)max​b(dPE(x(X,t),e),d^)ds(X). Next, we need to smoothly approximate the max operator. A straightforward choice is to use the smooth max function, such as the p-norm function: max(a1​,a2​,...,an​)≈(a1p​+a2p​+…+anp​)p1​, with p>0 sufficiently large. However, the exponent p1​ will couple multiple inputs together, increasing the stencil size and making the Hessian less sparse, which will make the simulation more computationally expensive. Fortunately, due to the local support of b, where the contact force only exists for distances smaller than d^, using p=1 is sufficient. With a relatively small d^, there will only be some redundant contact forces at the interface of boundary elements ( Figure 20.3.1 ). Figure 20.3.1. In this simple two-edge illustration, the yellow and green regions are only counted once by the summation, but the blue region and the yellow-green overlap are counted twice. If we subtract once the blue region, then for the right-top boundary (convex), it becomes perfect, but for the left-bottom boundary (concave), we can still see some overlap that are counted twice. Since the overlapping supports of b from multiple boundary elements can be clearly identified, it is also possible to subtract the redundant barrier potentials in those regions, as discussed in detail in [Li et al. 2023] . For this book, let us keep it simple by using p=1 with the p-norm formulation, which is just summation: ​∫ΓC​​21​e∈E−I(X)max​b(dPE(x(X,t),e),d^)ds(X)≈∫ΓC​​21​e∈E−I(X)∑​b(dPE(x(X,t),e),d^)ds(X).​ Approximating the integral under triangle discretization and picking the end points of each boundary edge as the quadrature points, we obtain the fully discrete form: ≈​∫ΓC​​21​e∈E−I(X)∑​b(dPE(x(X,t),e),d^)ds(X)a^∑​4∥Xa^​−Xa^−1​∥+∥Xa^​−Xa^+1​∥​e∈E−I(Xa^​)∑​b(dPE(xa^​,e),d^).​(20.3.1) Similar to the solid-obstacle contact cases, TC​ can be derived by taking the derivative of the whole contact potential with respect to the nodal degrees of freedom (DOFs).","breadcrumbs":"Piecewise Linear Boundaries » Self-Contact » Self-Contact","id":"114","title":"Self-Contact"},"115":{"body":"We have connected the discrete weak form (Equation (19.1) ) to the implementations in Filter Line Search for boundary conditions and contact. Additionally, we have derived self-contact between discrete surfaces in 2D, which will be implemented in the next lecture. The derivations follow a consistent methodology: first, rewrite the global integral as a summation of local element-wise integrals, and then approximate or analytically evaluate the local integrals using certain quadrature rules. We didn't explicitly discuss friction in this lecture because its force definition in the continuous setting was covered in Boundary Conditions and Frictional Contact . Its integral approximation can be performed similarly to normal contact forces (see Case Study: 2D Frictional Self-Contact for details). During the derivation, we also observed that the route we have taken from the strong form to the optimization time integration implementation, namely: ​strong form→weak form→discrete weak form→finite element approximation→optimization time integration​ is not unique. We can directly write the continuous form of the potential energies and then perform spatial discretization and approximation to obtain the nodal forces. Readers interested in this approach can refer to Lagrangian Mechanics or Hamiltonian Mechanics.","breadcrumbs":"Piecewise Linear Boundaries » Summary » Summary","id":"115","title":"Summary"},"116":{"body":"We have finished connecting linear finite elements to the weak form derivation for elastodynamics and frictional contact. Now, it's time to see how these concepts are implemented in code. In this lecture, we will implement 2D frictionless self-contact based on our Python development of the inversion-free elasticity simulation from Case Study: Inversion-free Elasticity . The executable Python project for this section can be found at https://github.com/phys-sim-book/solid-sim-tutorial under the 7_self_contact folder. We will implement frictional self-contact in the next lecture.","breadcrumbs":"Case Study: 2D Self-Contact* » Case Study: 2D Self-Contact*","id":"116","title":"Case Study: 2D Self-Contact*"},"117":{"body":"To begin with, we set up a new scene with two squares falling onto the ground, compressed by the ceiling so that self-contact will occur between these squares. Implementation 21.1.1 (Simulation setup, simulator.py). # simulation setup\nside_len = 0.45\nrho = 1000 # density of square\nE = 1e5 # Young's modulus\nnu = 0.4 # Poisson's ratio\nn_seg = 2 # num of segments per side of the square\nh = 0.01 # time step size in s\nDBC = [(n_seg + 1) * (n_seg + 1) * 2] # dirichlet node index\nDBC_v = [np.array([0.0, -0.5])] # dirichlet node velocity\nDBC_limit = [np.array([0.0, -0.7])] # dirichlet node limit position\nground_n = np.array([0.0, 1.0]) # normal of the slope\nground_n /= np.linalg.norm(ground_n) # normalize ground normal vector just in case\nground_o = np.array([0.0, -1.0]) # a point on the slope mu = 0.4 # friction coefficient of the slope # initialize simulation\n[x, e] = square_mesh.generate(side_len, n_seg) # node positions and triangle node indices of the top square\ne = np.append(e, np.array(e) + [len(x)] * 3, axis=0) # add triangle node indices of the bottom square\nx = np.append(x, x + [side_len * 0.1, -side_len * 1.1], axis=0) # add node positions of the bottom square In line 17, we adapt the DOF index of the ceiling from (n seg+1)∗(n seg+1) to (n seg+1)∗(n seg+1)∗2, as we now have two squares. Line 26 generates the first square on the top, while lines 27 and 28 generate the second square on the bottom by creating copies and offsets. The initial frame, as shown in Figure 21.1.1 , is now established. However, without handling self-contact, these two squares cannot interact with each other yet. Figure 21.1.1. The new scene setup with 2 squares to fall. To handle contact, we first need to collect all boundary elements. In 2D, this involves identifying the nodes and edges on the boundary where contact forces will be applied to all close but non-incident point-edge pairs. The following function finds all boundary nodes and edges given a triangle mesh: Implementation 21.1.2 (Collect boundary elements, square_mesh.py). def find_boundary(e): # index all half-edges for fast query edge_set = set() for i in range(0, len(e)): for j in range(0, 3): edge_set.add((e[i][j], e[i][(j + 1) % 3])) # find boundary points and edges bp_set = set() be = [] for eI in edge_set: if (eI[1], eI[0]) not in edge_set: # if the inverse edge of a half-edge does not exist, # then it is a boundary edge be.append([eI[0], eI[1]]) bp_set.add(eI[0]) bp_set.add(eI[1]) return [list(bp_set), be] This function is called in simulator.py, and the boundary elements are then passed to the time integrator for energy, gradient, and Hessian evaluations, as well as line search filtering.","breadcrumbs":"Case Study: 2D Self-Contact* » Scene Setup and Boundary Element Collection » Scene Setup and Boundary Element Collection","id":"117","title":"Scene Setup and Boundary Element Collection"},"118":{"body":"Next, we calculate the point-edge distance and its derivatives. These will be used to solve for the contact forces. For a node p and an edge e0​e1​, their squared distance is defined as dsqPE​(p,e0​,e1​)=λmin​∥p−((1−λ)e0​+λe1​)∥2s.t.λ∈[0,1], which is the closest squared distance between p and any point on e0​e1​. Remark 21.2.1 (Distance Calculation Optimization). Here, we use the squared unsigned distances for evaluating the contact energies. This approach avoids taking square roots, which can complicate the expression of the derivatives and increase numerical rounding errors during computation. Additionally, unsigned distances can be directly extended for codimensional pairs, such as point-point pairs, which are useful when simulating particle contacts in 2D. They also do not suffer from locking issues, as signed distances do, when there are large displacements. Fortunately, dsqPE​(p,e0​,e1​) is a piece-wise smooth function w.r.t. the DOFs: dsqPE​(p,e0​,e1​)=⎩⎨⎧​∥p−e0​∥2if (e1​−e0​)⋅(p−e0​)<0,∥p−e1​∥2if (e1​−e0​)⋅(p−e0​)>∥e1​−e0​∥2,∥e1​−e0​∥21​(det([p−e0​,e1​−e0​]))2otherwise,​(21.2.1) where the smooth expression can be determined by checking whether the node is inside the orthogonal span of the edge. Given these smooth expressions, we can differentiate each of them and obtain the derivatives of the point-edge distance function. The implementations are as follows: Implementation 21.2.1 (Point-Edge distance calculation (Hessian omitted), PointEdgeDistance.py). import numpy as np import distance.PointPointDistance as PP\nimport distance.PointLineDistance as PL def val(p, e0, e1): e = e1 - e0 ratio = np.dot(e, p - e0) / np.dot(e, e) if ratio < 0: # point(p)-point(e0) expression return PP.val(p, e0) elif ratio > 1: # point(p)-point(e1) expression return PP.val(p, e1) else: # point(p)-line(e0e1) expression return PL.val(p, e0, e1) def grad(p, e0, e1): e = e1 - e0 ratio = np.dot(e, p - e0) / np.dot(e, e) if ratio < 0: # point(p)-point(e0) expression g_PP = PP.grad(p, e0) return np.reshape([g_PP[0:2], g_PP[2:4], np.array([0.0, 0.0])], (1, 6))[0] elif ratio > 1: # point(p)-point(e1) expression g_PP = PP.grad(p, e1) return np.reshape([g_PP[0:2], np.array([0.0, 0.0]), g_PP[2:4]], (1, 6))[0] else: # point(p)-line(e0e1) expression return PL.grad(p, e0, e1) It can be verified that the point-edge distance function is C1-continuous everywhere, including at the interfaces between different segments. For the point-point case, we have: Implementation 21.2.2 (Point-Point distance calculation, PointPointDistance.py). import numpy as np def val(p0, p1): e = p0 - p1 return np.dot(e, e) def grad(p0, p1): e = p0 - p1 return np.reshape([2 * e, -2 * e], (1, 4))[0] def hess(p0, p1): H = np.array([[0.0] * 4] * 4) H[0, 0] = H[1, 1] = H[2, 2] = H[3, 3] = 2 H[0, 2] = H[1, 3] = H[2, 0] = H[3, 1] = -2 return H For the point-line case, the distance evaluations can be implemented as follows, and the derivatives can be obtained using symbolic differentiation tools. Implementation 21.2.3 (Point-Line distance calculation (Hessian omitted), PointLineDistance.py). import numpy as np def val(p, e0, e1): e = e1 - e0 numerator = e[1] * p[0] - e[0] * p[1] + e1[0] * e0[1] - e1[1] * e0[0] return numerator * numerator / np.dot(e, e) def grad(p, e0, e1): g = np.array([0.0] * 6) t13 = -e1[0] + e0[0] t14 = -e1[1] + e0[1] t23 = 1.0 / (t13 * t13 + t14 * t14) t25 = ((e0[0] * e1[1] + -(e0[1] * e1[0])) + t14 * p[0]) + -(t13 * p[1]) t24 = t23 * t23 t26 = t25 * t25 t27 = (e0[0] * 2.0 + -(e1[0] * 2.0)) * t24 * t26 t26 *= (e0[1] * 2.0 + -(e1[1] * 2.0)) * t24 g[0] = t14 * t23 * t25 * 2.0 g[1] = t13 * t23 * t25 * -2.0 t24 = t23 * t25 g[2] = -t27 - t24 * (-e1[1] + p[1]) * 2.0 g[3] = -t26 + t24 * (-e1[0] + p[0]) * 2.0 g[4] = t27 + t24 * (p[1] - e0[1]) * 2.0 g[5] = t26 - t24 * (p[0] - e0[0]) * 2.0 return g","breadcrumbs":"Case Study: 2D Self-Contact* » Point-Edge Distance » Point-Edge Distance","id":"118","title":"Point-Edge Distance"},"119":{"body":"With the point-edge distance functions implemented, we can traverse all point-edge pairs to assemble the total barrier energy and its derivatives. These will be used to solve for the search direction in the time-stepping optimization. Since squared distances are used, here we rescale the barrier function to b(d2,d^2)={8κ​d^(d^2d2​−1)lnd^2d2​0​d toc: alpha = toc Here, we perform an overlap check on the bounding boxes of the spans of the point and edge first to narrow down the number of point-edge pairs for which we need to compute the time of impact: Implementation 21.4.2 (Bounding box overlap check, CCD.py). from copy import deepcopy\nimport numpy as np\nimport math import distance.PointEdgeDistance as PE # check whether the bounding box of the trajectory of the point and the edge overlap\ndef bbox_overlap(p, e0, e1, dp, de0, de1, toc_upperbound): max_p = np.maximum(p, p + toc_upperbound * dp) # point trajectory bbox top-right min_p = np.minimum(p, p + toc_upperbound * dp) # point trajectory bbox bottom-left max_e = np.maximum(np.maximum(e0, e0 + toc_upperbound * de0), np.maximum(e1, e1 + toc_upperbound * de1)) # edge trajectory bbox top-right min_e = np.minimum(np.minimum(e0, e0 + toc_upperbound * de0), np.minimum(e1, e1 + toc_upperbound * de1)) # edge trajectory bbox bottom-left if np.any(np.greater(min_p, max_e)) or np.any(np.greater(min_e, max_p)): return False else: return True To calculate a sufficiently large conservative estimation of the time of impact (TOI), we cannot directly calculate the TOI and take a proportion of it as we did for point-ground contact in Filter Line Search . Directly calculating the TOI for contact primitive pairs requires solving quadratic or cubic root-finding problems in 2D and 3D, which are prone to numerical errors, especially when distances are tiny and configurations are numerically degenerate (e.g., nearly parallel edge-edge pairs in 3D). Thus, we implement the additive CCD method (ACCD) [Li et al. 2021] , which iteratively moves the contact pairs along the search direction until the minimum separation distance is reached, to robustly estimate the TOI. Taking a point-edge pair as an example, the key insight of ACCD is that, given the current positions p, e0​, e1​ and search directions dp​, de0​, de1​, its TOI can be calculated as αTOI​=∥dp​−((1−λ)de0​+λde1​)∥∥p−((1−λ)e0​+λe1​)∥​ assuming (1−λ)e0​+λe1​ is the point on the edge that p will first collide with. The issue is that we do not know λ a priori. However, we can derive a lower bound for αTOI​ as αTOI​​≥∥dp​∥+∥(1−λ)de0​+λde1​∥minλ∈[0,1]​∥p−((1−λ)e0​+λe1​)∥​≥∥dp​∥+max(∥de0​∥,∥de1​∥)dPE(p,e0​,e1​)​=αl​​​ By taking a step with this lower bound αl​, we are guaranteed to have no interpenetration for this pair. However, although straightforward to compute, αl​ can be much smaller than αTOI​. Therefore, we iteratively calculate αl​ and advance a copy of the participating nodes by this amount, accumulating all αl​ to monotonically improve the estimate of αTOI​ until the point-edge pair reaches a distance smaller than the minimum separation, e.g., 0.1× the original distance. The implementation is as follows, where we first remove the shared components of the search directions so that they have smaller magnitudes to achieve earlier termination of the algorithm. Implementation 21.4.3 (ACCD method implementation, CCD.py). # compute the first \"time\" of contact, or toc,\n# return the computed toc only if it is smaller than the previously computed toc_upperbound\ndef narrow_phase_CCD(_p, _e0, _e1, _dp, _de0, _de1, toc_upperbound): p = deepcopy(_p) e0 = deepcopy(_e0) e1 = deepcopy(_e1) dp = deepcopy(_dp) de0 = deepcopy(_de0) de1 = deepcopy(_de1) # use relative displacement for faster convergence mov = (dp + de0 + de1) / 3 de0 -= mov de1 -= mov dp -= mov maxDispMag = np.linalg.norm(dp) + math.sqrt(max(np.dot(de0, de0), np.dot(de1, de1))) if maxDispMag == 0: return toc_upperbound eta = 0.1 # calculate the toc that first brings the distance to 0.1x the current distance dist2_cur = PE.val(p, e0, e1) dist_cur = math.sqrt(dist2_cur) gap = eta * dist_cur # iteratively move the point and edge towards each other and # grow the toc estimate without numerical errors toc = 0 while True: tocLowerBound = (1 - eta) * dist_cur / maxDispMag p += tocLowerBound * dp e0 += tocLowerBound * de0 e1 += tocLowerBound * de1 dist2_cur = PE.val(p, e0, e1) dist_cur = math.sqrt(dist2_cur) if toc != 0 and dist_cur < gap: break toc += tocLowerBound if toc > toc_upperbound: return toc_upperbound return toc The final simulation results are demonstrated in Figure 21.4.1 . Figure 21.4.1. Two squares dropped onto the ground and compressed by a ceiling. The ground has friction coefficient 0.4 but there is no friction between the squares so that the top square slides down to the ground without significantly changing the position of the bottom one.","breadcrumbs":"Case Study: 2D Self-Contact* » Continuous Collision Detection » Continuous Collision Detection","id":"120","title":"Continuous Collision Detection"},"121":{"body":"We have implemented frictionless self-contact with guaranteed non-intersection for 2D FEM simulations by discretizing barrier energies onto the non-incident point-edge pairs on the boundary. To compute the barrier energies, we used squared point-edge distances to avoid potential numerical issues. The point-edge distance is a piecewise smooth function with closed-form expressions depending on the relative positions of the point and the edge, and the overall function is C1-continuous everywhere. The derivatives of the function can be conveniently obtained by applying symbolic differentiation to each expression. For line search filtering, instead of directly computing the time of impact (TOI) which is prone to numerical issues, we implemented the additive CCD method (ACCD) to obtain a sufficiently large and conservative estimate of TOI. ACCD is an iterative method that accumulates lower bounds of TOI while progressively advancing the nodes along the search direction. Before running ACCD, we perform overlap checks on the bounding boxes of the point's and edge's spans to quickly filter out non-colliding pairs. In later lectures, we will see that for large-scale scenes in 3D, efficient spatial indexing strategies such as spatial hashing and bounding box hierarchies (BVH) will be needed to significantly reduce the expensive spatial search costs. In the next lecture, we will implement frictional self-contact based on what we have just developed.","breadcrumbs":"Case Study: 2D Self-Contact* » Summary » Summary","id":"121","title":"Summary"},"122":{"body":"In this lecture, we implement 2D friction based on our 2D self-contact implementation in Case Study: 2D Self-Contact . The executable Python project for this section can be found at https://github.com/phys-sim-book/solid-sim-tutorial . For simplicity, we will focus on implementing a semi-implicit version of friction. This means the normal force magnitude λ and the tangent operator T will be discretized to the last time step, and we solve the optimization once per time step without further fixed-point iterations that converge to solutions with fully-implicit friction ( Frictional Contact ) under the 8_self_friction folder. Combined with the smoothly approximated static-dynamic friction transition in IPC, implementing friction into an optimization time integration framework is as straightforward as adding an extra potential energy.","breadcrumbs":"2D Frictional Self-Contact* » 2D Frictional Self-Contact*","id":"122","title":"2D Frictional Self-Contact*"},"123":{"body":"From Equation (18.4.2) , the friction force per unit area is defined as TF​(X,t)=−μ∥TC​(X,t)∥ f(∥VF​(X,t)∥) s(VF​(X,t)), where μ is the friction coefficient, TC​ is the normal contact force, and VF​ is the relative sliding velocity. Here s(VF​)=∥VF​∥VF​​ when ∥VF​∥>0, while s(VF​) takes any unit vector orthogonal to the normal N(X,t) when ∥VF​∥=0. Additionally, the friction scaling function f is also nonsmooth with respect to VF​, as f(∥VF​∥)=1 when ∥VF​∥>0, and f(∥VF​∥)∈[0,1] when ∥VF​∥=0. It is important to note that without temporal discretization, there is no potential energy for friction. However, similar to Frictional Contact , once we discretize the normal force magnitude and the tangent operator to the last time step and smoothly approximate the friction scaling function f, the friction force at the (n+1)-th time step becomes integrable with respect to x, and we obtain TFn+1​(X)≈−∂xn+1(X)∂Dn+1(X)​=−∂xn+1(X)∂(μ∥TCn​(X)∥f0​(∥VˉFn+1​(X)h^∥))​. Here, VˉFn+1​(X)=(I−Nn(X)Nn(X)T)(Vn+1(X)−Vn+1(X2​)) is the approximate relative sliding velocity, where Nn and X2​ are the normal direction and the point in contact with X in the last time step, h^I=(∂v/∂x)−1, and f0​(y)={−3ϵv2​h^2y3​+ϵv​h^y2​+3ϵv​h^​,y,​y∈[0,ϵv​h^);y≥ϵv​h^.​ Therefore, considering self-contact, the approximate friction potential over the entire boundary can be written as ∫ΓC​​21​μ∥TCn​(X)∥f0​(∥VˉFn+1​(X)h^∥)ds(X), where the 21​ scaling comes from double counting the friction between each pair of contact points in the integral (similar to the normal contact forces in Boundary Conditions and Frictional Contact ). After discretizing the boundary curves as polylines and approximating the max operator in the normal contact force component using summations ( Piecewise Linear Boundaries ), we similarly obtain the spatially discretized friction potential: ∫ΓC​​e∈E−I(X)∑​21​μ(−∂d∂b(dPE(xn(X),e),d^)​)f0​(∥VˉFn+1​(X,e)h^∥)ds(X). Here, dPE(xn(X),e) is the point-edge distance between xn(X) and edge e in the last time step, and VˉFn+1​(X,e) is the approximate relative sliding velocity of the point-edge pair with contact normal and the closest point discretized to the last time step (see next section for details). If we choose boundary nodes as quadrature points to approximate the integral, we finally obtain our discrete friction potential: Pf​(x)​=a^∑​Aa^​e∈E−I(Xa^​)∑​21​μ(−∂d∂b(dPE(xa^n​,e),d^)​)f0​(∥VˉFn+1​(Xa^​,e)h^∥)=k∈{(a^,e)}∑​μλkn​f0​(∥vˉk​h^∥)​ where Aa^​=2∥Xa^​−Xa^−1​∥+∥Xa^​−Xa^+1​∥​ is the integration weight. Denoting vˉk​=VˉFn+1​(Xa^​,e) and λkn​=21​Aa^​(−∂d∂b(dPE(xa^n​,e),d^)​), the expression of Pf​ agrees with the discrete form of Equation (9.2.1) we directly derived, except that here k traverses all non-incident point-edge pairs on the boundary. Based on this discrete form of the smoothed semi-implicit friction potential, we now need to determine how to calculate λ and vˉ for point-edge pairs, implement the computation of the value, gradient, and Hessian of Pf​(x), and then incorporate them into the optimization.","breadcrumbs":"2D Frictional Self-Contact* » Discretization and Approximation » Discretization and Approximation","id":"123","title":"Discretization and Approximation"},"124":{"body":"To make the temporally discretized friction force integrable, we must explicitly discretize certain normal and tangent information. This information only needs to be calculated once at the beginning of each time step, as it will remain constant during each optimization. First, we need to calculate λn for each point-edge pair using xn. Recall that we used squared distances as input for the barrier functions, so λn should be calculated using the chain rule as follows: λa^,en​​=21​Aa^​(−∂dPE∂b(dsqPE​(xa^n​,e),d^2)​)=21​Aa^​(−∂dsqPE​∂b(dsqPE​(xa^n​,e),d^2)​∂dPE∂dsqPE​​)=21​Aa^​(−∂dsqPE​∂b(dsqPE​(xa^n​,e),d^2)​)2dPE.​ According to the scaled barrier function taking squared distance as input (Equation (21.3.1) ), we can derive ∂dsq​∂b(dsq​,d^2)​={8κ​d^(d^21​lnd^2dsq​​+dsq​1​(d^2dsq​​−1))0​if d 1: # point(p)-point(e1) expression n = p - e1 else: # point(p)-line(e0e1) expression n = p - ((1 - ratio) * e0 + ratio * e1) return [n / np.linalg.norm(n), ratio] Then, Implementation 22.2.2 traverses all non-incident point-edge pairs with a distance smaller than d^, calculates λ, and calls the above function to calculate n and r. As in Frictional Contact , these lines of code are executed at the beginning of each time step in time_integrator.py, and the information for each friction pair is stored and passed to the energy, gradient, and Hessian computation functions that we will discuss next. Implementation 22.2.2 (Semi-implicit friction precomputation, BarrierEnergy.py). # self-contact mu_lambda_self = [] dhat_sqr = dhat * dhat for xI in bp: for eI in be: if xI != eI[0] and xI != eI[1]: # do not consider a point and its incident edge d_sqr = PE.val(x[xI], x[eI[0]], x[eI[1]]) if d_sqr < dhat_sqr: s = d_sqr / dhat_sqr # since d_sqr is used, need to divide by 8 not 2 here for consistency to linear elasticity # also, lambda = -\\partial b / \\partial d = -(\\partial b / \\partial d^2) * (\\partial d^2 / \\partial d) mu_lam = mu * -0.5 * contact_area[xI] * dhat * (kappa / 8 * (math.log(s) / dhat_sqr + (s - 1) / d_sqr)) * 2 * math.sqrt(d_sqr) [n, r] = PE.tangent(x[xI], x[eI[0]], x[eI[1]]) # normal and closest point parameterization on the edge mu_lambda_self.append([xI, eI[0], eI[1], mu_lam, n, r])","breadcrumbs":"2D Frictional Self-Contact* » Precomputing Normal and Tangent Information » Code","id":"125","title":"Code"},"126":{"body":"With λ, r, and n precomputed for each friction point-edge pair, we can now conveniently compute the energy ( Implementation 22.3.1 ), gradient ( Implementation 22.3.2 ), and Hessian ( Implementation 22.3.3 ) of the friction potential and add them into the optimization. Implementation 22.3.1 (Friction energy value, FrictionEnergy.py). # self-contact: for i in range(0, len(mu_lambda_self)): [xI, eI0, eI1, mu_lam, n, r] = mu_lambda_self[i] T = np.identity(2) - np.outer(n, n) rel_v = v[xI] - ((1 - r) * v[eI0] + r * v[eI1]) vbar = np.transpose(T).dot(rel_v) sum += mu_lam * f0(np.linalg.norm(vbar), epsv, hhat) When computing the gradient and Hessian, we used the relative velocity v^k​ as an intermediate variable to make the implementation more organized. This approach is given by: ∇Pf​(x)=k∑​(∂x∂v^k​​)T∂v^k​∂Dk​(x)​,∇2Pf​(x)=k∑​(∂x∂v^k​​)T∂v^k2​∂2Dk​(x)​∂x∂v^k​​, where the derivatives of Dk​ with respect to v^k​ have exactly the same forms as in Frictional Contact . Implementation 22.3.2 (Friction energy gradient, FrictionEnergy.py). # self-contact: for i in range(0, len(mu_lambda_self)): [xI, eI0, eI1, mu_lam, n, r] = mu_lambda_self[i] T = np.identity(2) - np.outer(n, n) rel_v = v[xI] - ((1 - r) * v[eI0] + r * v[eI1]) vbar = np.transpose(T).dot(rel_v) g_rel_v = mu_lam * f1_div_vbarnorm(np.linalg.norm(vbar), epsv) * T.dot(vbar) g[xI] += g_rel_v g[eI0] += g_rel_v * -(1 - r) g[eI1] += g_rel_v * -r Implementation 22.3.3 (Friction energy Hessian, FrictionEnergy.py). # self-contact: for i in range(0, len(mu_lambda_self)): [xI, eI0, eI1, mu_lam, n, r] = mu_lambda_self[i] T = np.identity(2) - np.outer(n, n) rel_v = v[xI] - ((1 - r) * v[eI0] + r * v[eI1]) vbar = np.transpose(T).dot(rel_v) vbarnorm = np.linalg.norm(vbar) inner_term = f1_div_vbarnorm(vbarnorm, epsv) * np.identity(2) if vbarnorm != 0: inner_term += f_hess_term(vbarnorm, epsv) / vbarnorm * np.outer(vbar, vbar) hess_rel_v = mu_lam * T.dot(utils.make_PSD(inner_term)).dot(np.transpose(T)) / hhat index = [xI, eI0, eI1] d_rel_v_dv = [1, -(1 - r), -r] for nI in range(0, 3): for nJ in range(0, 3): for c in range(0, 2): for r in range(0, 2): IJV[0].append(index[nI] * 2 + r) IJV[1].append(index[nJ] * 2 + c) IJV[2] = np.append(IJV[2], d_rel_v_dv[nI] * d_rel_v_dv[nJ] * hess_rel_v[r, c]) After these implementations, we can finally run our compressing squares example with frictional self-contact (see: Figure 22.3.1 ). From the figure, we observe that once the two squares touch, the large friction between them and the ground restricts any sliding. This causes the squares to rotate counter-clockwise as they are compressed by the ceiling. Figure 22.3.1. Two squares dropped onto the ground and compressed by a ceiling. The friction coefficient is 0.4 between any contacting surfaces, which restricts any sliding here in this scene and results in counter-clockwise rotations of the two squares under compression. As their interface becomes nearly vertical, the squares are finally detached.","breadcrumbs":"2D Frictional Self-Contact* » Friction Energy and Its Derivatives » Friction Energy and Its Derivatives","id":"126","title":"Friction Energy and Its Derivatives"},"127":{"body":"We implemented semi-implicit friction in 2D based on squared unsigned distances of point-edge pairs and incorporated it into the time-stepping optimization. We began by making the friction force integrable in the continuous setting through semi-implicit temporal discretization and a smooth approximation of the dynamic-static friction transition. The spatial discretization of the approximate friction potential follows a similar approach to the barrier potential. Next, we examined the computation of the normal force magnitude λ, normal direction n, and barycentric coordinate r of the closest point for point-edge pairs. These values are calculated at the beginning of each time step and remain constant during the optimization. It is important to note that the set of point-edge pairs for friction is also constant per optimization and differs from the set used for the barrier. Finally, we implemented the computation of the discrete friction potential and its derivatives. We used relative velocities v^k​ as intermediate variables and applied the chain rule to organize the calculations. Up to now, we have covered both the theoretical and practical aspects of a 2D solid simulator with inversion-free elastodynamics and interpenetration-free frictional self-contact. Next, we will explore the additional steps needed to extend these concepts to 3D!","breadcrumbs":"2D Frictional Self-Contact* » Summary » Summary","id":"127","title":"Summary"},"128":{"body":"To extend our 2D solid simulator ( 2D Frictional Self-Contact ) to 3D, we can use 3-simplex tetrahedral elements to discretize the 3D solid domains. In this approach, the surface of the solid is represented as a triangle mesh, which is a common method in computer graphics for representing 3D geometries. Additionally, we need to sample vertices in the interior of the solid to form the tetrahedral elements required for discretizing the inertia and elasticity energies.","breadcrumbs":"3D Elastodynamics » 3D Elastodynamics","id":"128","title":"3D Elastodynamics"},"129":{"body":"Similar to 2D triangle elements, we use β,γ,τ∈[0,1] with β+γ+τ=1 to express the material space coordinates of an arbitrary point X in the tetrahedral element defined by vertices X1​,X2​,X3​, and X4​ as follows: X(β,γ,τ)​=X1​+β(X2​−X1​)+γ(X3​−X1​)+τ(X4​−X1​)=(1−β−γ−τ)X1​+βX2​+γX3​+τX4​.​ Here, X is a linear function of (β,γ,τ). Using linear shape functions, the approximate world-space coordinate x^ is also a linear function of (β,γ,τ): x(β,γ,τ)≈x^(β,γ,τ)=(1−β−γ−τ)x1​+βx2​+γx3​+τx4​,​ where x(Xi​) is denoted as xi​. This implies that the shape functions are: N1​(β,γ,τ)N2​(β,γ,τ)N3​(β,γ,τ)N4​(β,γ,τ)​=1−β−γ−τ,=β,=γ,=τ.​","breadcrumbs":"3D Elastodynamics » Kinematics » Kinematics","id":"129","title":"Kinematics"},"13":{"body":"","breadcrumbs":"Optimization Framework » Lecture 2: Optimization Framework","id":"13","title":"Lecture 2: Optimization Framework"},"130":{"body":"Recall that the mass matrix can be calculated as Mab​=e∈T∑​∫Ωe0​​R(X,0)Na​(X)Nb​(X)dX, where Ωe0​ represents the material space of tetrahedron e. Changing the integration variable from X to (β,γ,τ) results in =​∫Ωe0​​R(X,0)Na​(X)Nb​(X)dX∫01​∫01−τ​∫01−β−τ​R(β,γ,τ,0)Na​(β,γ,τ)Nb​(β,γ,τ)​det(∂(β,γ,τ)∂X​)​dγdβdτ.​ For element e with vertices X1​, X2​, X3​, and X4​, ​det(∂(β,γ,τ)∂X​)​=∣det([X2​−X1​,X3​−X1​,X4​−X1​])∣=6Ve​, where Ve​ is the volume of tetrahedron e. Here, we will omit the detailed derivations of each entry in the consistent mass matrix. Assuming uniform density R, for the lumped mass matrix, Maalump​=e∈T(a)∑​41​RVe​andMablump​=0(a=b), where T(a) denotes the set of tetrahedra incident to node a. In other words, the mass of each tetrahedron is evenly distributed among its 4 nodes, which is intuitively analogous to the 2D case.","breadcrumbs":"3D Elastodynamics » Mass Matrix » Mass Matrix","id":"130","title":"Mass Matrix"},"131":{"body":"For elasticity, similar to the 2D case, the deformation gradient F is also constant within each tetrahedron, and we can compute it as F=≈=​∂(β,γ,τ)∂x​(∂(β,γ,τ)∂X​)−1∂(β,γ,τ)∂x^​(∂(β,γ,τ)∂X​)−1[x2​−x1​,x3​−x1​,x4​−x1​][X2​−X1​,X3​−X1​,X4​−X1​]−1.​ For force and Hessian computation, the required ∂F/∂x can be computed using ∇XN1​(X)​=∂X∂(1−β−γ−τ)​=(∂(β,γ,τ)∂(1−β−γ−τ)​(∂(β,γ,τ)∂X​)−1)T=([−1,−1,−1][X2​−X1​,X3​−X1​,X4​−X1​]−1)T​ and similarly ∇XN2​(X)∇XN3​(X)∇XN3​(X)​=∂X∂β​=([1,0,0][X2​−X1​,X3​−X1​,X4​−X1​]−1)T,=∂X∂γ​=([0,1,0][X2​−X1​,X3​−X1​,X4​−X1​]−1)T,=∂X∂τ​=([0,0,1][X2​−X1​,X3​−X1​,X4​−X1​]−1)T.​ With F, the computation of strain energy Ψ, stress P and stress derivative ∂P/∂F can all be found in Strain Energy and Stress and Its Derivatives , and the computation of forces and Hessian matrices follow the same spirit as in 2D. To guarantee non-inversion of the tetrahedral elements during the simulation, the critical step size αI that first brings the volume of any tetrahedra to 0 can be obtained by solving a 1D equation per tetrahedron V(xi​+αIpi​)=0, and then take the minimum of the solved step sizes. Here pi​ is the search direction of node i, and in 3D, this is equivalent to det([x21α​,x31α​,x41α​])≡(x21α​×x31α​)⋅x41α​=0(23.3.1) with xijα​=xij​+αIpij​ and xij​=xi​−xj​, pij​=pi​−pj​. Expanding Equation (23.3.1) , we obtain the following cubic equation for αI: ((p21​×p31​)⋅p41​)αI3+((x21​×p31​+p21​×x31​)⋅p41​+(p21​×p31​)⋅x41​)αI2+((x21​×p31​+p21​×x31​)⋅x41​+(x21​×x31​)⋅p41​)αI+(x21​×x31​)⋅x41​=0,​ This cubic equation can sometimes degenerate into a quadratic or linear equation, particularly when node movements do not substantially alter the tetrahedron's volume. To address potential numerical instability, we scale the equation terms based on the constant term coefficient: ​(x21​×x31​)⋅x41​(p21​×p31​)⋅p41​​αI3+(x21​×x31​)⋅x41​(x21​×p31​+p21​×x31​)⋅p41​+(p21​×p31​)⋅x41​​αI2+(x21​×x31​)⋅x41​(x21​×p31​+p21​×x31​)⋅x41​+(x21​×x31​)⋅p41​​αI+1=0,​(23.3.2) ensuring that magnitude checks can be safely performed with standard thresholds (e.g., 10−6). Practically, we also ensure some safety margin by solving for αI that reduces the volume of any tetrahedron by 80%, modifying the constant term coefficient in Equation (23.3.2) from 1 to 0.8. If no positive real roots are found, the step size can be considered safe, and inversion will not occur. Here is the C++ code snippet for solving this scaled cubic equation: Implementation 23.3.1 (Cubic Equation Solver). double getSmallestPositiveRealRoot_cubic(double a, double b, double c, double d, double tol)\n{ // return negative value if no positive real root is found double t = -1; if (abs(a) <= tol) t = getSmallestPositiveRealRoot_quad(b, c, d, tol); // covered in the 2D case else { complex i(0, 1); complex delta0(b * b - 3 * a * c, 0); complex delta1(2 * b * b * b - 9 * a * b * c + 27 * a * a * d, 0); complex C = pow((delta1 + sqrt(delta1 * delta1 - 4.0 * delta0 * delta0 * delta0)) / 2.0, 1.0 / 3.0); if (std::abs(C) == 0.0) // a corner case C = pow((delta1 - sqrt(delta1 * delta1 - 4.0 * delta0 * delta0 * delta0)) / 2.0, 1.0 / 3.0); complex u2 = (-1.0 + sqrt(3.0) * i) / 2.0; complex u3 = (-1.0 - sqrt(3.0) * i) / 2.0; complex t1 = (b + C + delta0 / C) / (-3.0 * a); complex t2 = (b + u2 * C + delta0 / (u2 * C)) / (-3.0 * a); complex t3 = (b + u3 * C + delta0 / (u3 * C)) / (-3.0 * a); if ((abs(imag(t1)) < tol) && (real(t1) > 0)) t = real(t1); if ((abs(imag(t2)) < tol) && (real(t2) > 0) && ((real(t2) < t) || (t < 0))) t = real(t2); if ((abs(imag(t3)) < tol) && (real(t3) > 0) && ((real(t3) < t) || (t < 0))) t = real(t3); } return t;\n}","breadcrumbs":"3D Elastodynamics » Elasticity » Elasticity","id":"131","title":"Elasticity"},"132":{"body":"In this section, we delve into the process of extending our solid simulator to accommodate 3D elastodynamic simulation. This enhancement involves discretizing the solid domain using 3-simplex tetrahedral elements. Consequently, the kinematics, mass matrix, and elasticity energies adopt the same approach as in 2D, but now incorporate an additional dimension for the per-element parameter space, integration, and deformation gradient. To maintain inversion-free elements, line search filtering operates similarly, though it now entails solving cubic equations for each element. In the following section, we will explore the extension of the frictional contact component to 3D scenarios.","breadcrumbs":"3D Elastodynamics » Summary » Summary","id":"132","title":"Summary"},"133":{"body":"In 3D, the contact between the solid domain boundaries represented as triangle meshes can be reduced to point-triangle and edge-edge contacts. Intuitively, the point-edge contact pairs in 2D extend directly to 3D as point-triangle pairs. However, even if we prevent all point-triangle interpenetrations in 3D, the triangle meshes can still penetrate each other. This necessitates accounting for edge-edge pairs, especially when the resolution of the mesh is not very high.","breadcrumbs":"3D Frictional Self-Contact » 3D Frictional Self-Contact","id":"133","title":"3D Frictional Self-Contact"},"134":{"body":"With triangle mesh discretization, the barrier potential in the continuous settings (Equation (18.3.5) ) can be approximated as ≈==​∫ΓC​​21​b(X2​∈ΓC​−N(X)min​∥x(X,t)−x(X2​,t)∥,d^)ds(X)∫ΓC​​21​b(e∈T−I(X)min​X2​∈emin​∥x(X,t)−x(X2​,t)∥,d^)ds(X)∫ΓC​​21​b(e∈T−I(X)min​dPT(x(X,t),e),d^)ds(X)∫ΓC​​21​e∈T−I(X)max​b(dPT(x(X,t),e),d^)ds(X),​(24.1.1) where T is the set of all surface triangles, I(X) is the set of all surface triangles that hold point X, and dPT is the point-triangle distance. Further approximating the max operator with summations and use mesh surface nodes a^ as quadrature points, we have ≈≈​∫ΓC​​21​e∈T−I(X)max​b(dPT(x(X,t),e),d^)ds(X)∫ΓC​​21​e∈T−I(X)∑​b(dPT(x(X,t),e),d^)ds(X)a^∑​21​wa^​e∈T−I(Xa^​)∑​b(dPT(xa^​,e),d^),​(24.1.2) where wa^​=d^31​∑j∈I(Xa^​)​Aj​ is the integration weight and Aj​ is the area of node a^'s incident surface triangle j. Now, getting back to the second line of Equation (24.1.1) , if we only use points on the edges to approximate the minimum distance, we obtain ≈=​∫ΓC​​21​b(X2​∈ΓC​−N(X)min​∥x(X,t)−x(X2​,t)∥,d^)ds(X)∫ΓC​​21​b(e∈E−I(X)min​X2​∈emin​∥x(X,t)−x(X2​,t)∥,d^)ds(X)∫ΓC​​21​e∈E−I(X)max​b(X2​∈emin​∥x(X,t)−x(X2​,t)∥,d^)ds(X).​ Then if we choose a special quadrature point Xe1​​ per surface edge e1​ and approximate the max operators with summations, we get ≈​∫ΓC​​21​e∈E−I(X)max​b(X2​∈emin​∥x(X,t)−x(X2​,t)∥,d^)ds(X)e1​∈E∑​21​we1​​e∈E−I(Xe1​​)∑​b(X2​∈emin​∥x(Xe1​​,t)−x(X2​,t)∥,d^),​ where we1​​=d^31​∑j∈I(e1​)​Aj​ is the integration weight and Aj​ is the area of e1​'s incident surface triangle j. Next, if we always select Xe1​​ to be the closest point to X2​ on e1​, we will get ≈=​e1​∈E∑​21​we1​​e∈E−I(Xe1​​)∑​b(X2​∈emin​∥x(Xe1​​,t)−x(X2​,t)∥,d^)e1​∈E∑​21​we1​​e∈E−N(e1​)∑​b(X2​∈e,X∈e1​min​∥x(X,t)−x(X2​,t)∥,d^)e1​∈E∑​21​we1​​e∈E−N(e1​)∑​b(dEE(e,e1​),d^),​(24.1.3) where N(e1​) is the set of all the surface edge neighbors of e1​ plus itself. For the summation over all surface edges in Equation (24.1.3) , if we only account for (e1​,e) with e1​ \\epsilon\\)), there should be no contact forces (\\(\\gamma_k = 0\\)). Definition 2.3.1 (Active Set). In optimization problems with inequality constraints defined as \\[ \\forall k, \\ c_k(x) \\geq 0, \\] the active set is defined as \\[ \\{ l \\ | \\ c_l(x^*) = 0 \\}. \\] Here, \\(x^*\\) is a local optimal solution of the problem. Remark 2.3.2 (Combinatorial Difficulty). The complementarity slackness condition reveals that only constraints within the active set will exhibit non-zero Lagrange multiplier \\(\\gamma_k\\) at the solution. This suggests that, unlike equality constraints, inequality constraints not only require solving for the value of the Lagrange multipliers but also demand the identification of which \\(\\gamma_k\\) should be set to \\(0\\). This presents a combinatorial difficulty. A wide array of techniques are available for addressing optimization problems with inequality constraints. Each method introduces a distinct approach, effectively targeting various facets of the problem. Primal-Dual Methods: This class of methods tackles both the primal problem (the original optimization problem) and its dual problem simultaneously. The dual problem often provides valuable insights into the primal problem's solution, making this approach attractive. These methods are iterative, refining an initial solution by leveraging the relationship between the primal and dual problems. However, designing and implementing primal-dual algorithms can be intricate, requiring a careful balance between the two problem types. While effective, these methods may not be efficient or straightforward for complex, high-dimensional problems. Projected Steepest Descent Methods: A modification of the classic steepest descent method, these methods address constraints. At each iteration, the algorithm moves in the steepest descent direction, then projects back onto the feasible set if it deviates due to constraints. This method's simplicity and straightforwardness make it popular, but it may struggle with ill-conditioned problems where convergence is slow, or with constraints that are challenging to project onto. Interior-Point Methods: Also known as barrier methods, these techniques introduce a barrier function that penalizes infeasible solutions, thereby steering the solution towards the feasible region's interior. This approach effectively transforms a constrained problem into an unconstrained one, solvable using conventional techniques. However, the barrier function's choice significantly impacts the method's performance. While efficient for certain problem types, these methods may falter with problems where the feasible region is difficult to define or lacks a simple interior. While each of these methodologies has its own strengths and weaknesses, our primary focus will be on a robust and accurate contact modeling method, known as Incremental Potential Contact (IPC) . IPC distinguishes itself by approximating the contact process with a smooth potential energy. This transformation effectively turns the problem into an unconstrained one, facilitating the application of various efficient and robust optimization techniques. A key feature of IPC is its capability to control the approximation error relative to the non-smooth formulation within a predetermined bound. This characteristic adds a layer of robustness and reliability to the method, making it an especially promising approach for the problem at hand.","breadcrumbs":"Optimization Framework » Contact » Contact","id":"16","title":"Contact"},"17":{"body":"Friction is a crucial element in physical interactions involving movement, often significantly influencing simulation outcomes. Thus, its precise modeling is vital for realistic and reliable simulations. See Figure 2.3.1 on the right for a demonstration of a scenario that requires a precise representation of friction. One of the most widely adopted models for friction is the Coulomb Friction model . This model hinges on the Maximal Dissipation Principal (MDP) , effectively capturing the nonsmooth transition between static and dynamic frictions. Static friction is the force preventing an object from initiating movement, whereas dynamic friction, or kinetic friction, opposes the motion of a moving object. The Coulomb Friction model accurately depicts the critical transition between these two friction types. In the standard Material Point Method (MPM), friction is inherently modeled by the grid. However, this method has its drawbacks, notably an uncontrollable and unrealistically large friction coefficient. For the Finite Element Method (FEM), friction can be more realistically and controllably represented through an approximated potential energy in the Incremental Potential Contact (IPC) model. This fits well within our optimization time integration framework. By using potential energy to approximate friction, we not only maintain the robustness of the simulation but also gain control over the accuracy of the friction model. In subsequent lectures, we will delve into the specific techniques and methodologies employed in the IPC model to represent friction forces and their role in enhancing the accuracy and realism of simulations.","breadcrumbs":"Optimization Framework » Friction » Friction","id":"17","title":"Friction"},"18":{"body":"The objective of our discussions so far has been to devise a reliable solution for the unconditional stable implicit time integration problem. We aimed to address the issue of non-convergent solutions arising from truncation errors. We tackled this by reformulating the time integration problem as a minimization problem. This formulation not only allowed us to apply well-established optimization techniques, but it also facilitated a consistent modeling framework for different physical phenomena. Here is a quick summary of the techniques used for modeling various phenomena within this framework: For conservative forces like gravity and elasticity, we used potential energies. These were integrated into the objective function to create an accurate representation of the forces involved. Boundary conditions, which specify the constraints on the system, were modeled using simple linear equality constraints. This helped us restrict the system to feasible states while performing the simulation. To prevent interpenetration between solid objects during the simulation, we used inequality constraints to model contact and friction. These constraints ensured that objects maintained their physical integrity and behaved as expected when they came in contact with each other. An important aspect to note here is that, we can utilize the unique structure of the boundary conditions to enforce the equality constraints in an unconstrained way. This will lead to a significant reduction in computational complexity. Moreover, we introduced the concept of the Incremental Potential Contact (IPC) method. The IPC method models contact and friction as smooth potential energies with a controllable level of accuracy. This ensures a robust and accurate simulation of solid objects, free from interpenetration. Moving forward, in the next lecture, we will delve into the projected Newton method for solving unconstrained optimization problems. This method offers the advantage of global convergence, meaning that the method is guaranteed to converge regardless of the initial configuration, provided it is feasible. This feature is highly desirable for complex simulations and it helps make the method more robust and reliable.","breadcrumbs":"Optimization Framework » Summary » Summary","id":"18","title":"Summary"},"19":{"body":"","breadcrumbs":"Projected Newton » Projected Newton","id":"19","title":"Projected Newton"},"2":{"body":"Chapter Contributors Minchen Li , CMU Chenfanfu Jiang , UCLA Community Contributors (Github) liminchen, cffjiang","breadcrumbs":"Preface » Version 1.0.0 (Released 2024/5):","id":"2","title":"Version 1.0.0 (Released 2024/5):"},"20":{"body":"In addressing the minimization problem presented by implicit Euler time integration (referenced in Equation (2.1.1) ), employing Newton's method (outlined in Algorithm 1.5.1 ) is a viable strategy for the resultant system of nonlinear equations. This involves setting the gradient of the Incremental Potential Energy to zero: ∇E(x)=0. However, the application of this method to cases such as nonlinear elasticity, particularly in the Neo-Hookean model, does not always guarantee convergence. The presence of truncation errors, especially in scenarios involving large time steps or significant deformations, can adversely affect the convergence process. Example 3.1.1 (Illustration of Newton's Convergence Issue). To elucidate the issue of Newton's method non-convergence, let's consider a one-dimensional minimization problem characterized by the objective function: f(x)=ln(e−x+ex). We can evaluate the function at x=2 and approximate it using a quadratic energy g(x), which is defined as: g(x)=f(2)+f′(2)(x−2)+21​f′′(2)(x−2)2. The joint plot of f(x) and g(x) ( Figure 3.1.1 ) distinctly exhibits that the next iteration would exceed the actual target, landing at a point (x=−11.645) further from the actual solution at x=0. The subsequent iterations amplify this deviation, leading to a trajectory that diverges. It's worth noting that this demonstration involves a convex function f(x)=ln(e−x+ex). The problem can become even more complex when Newton's method is applied to non-convex elasticity energies. Figure 3.1.1. An iteration of Newton's method for minx​E(x)=ln(e−x+ex) at x=2. Remark 3.1.1 (Convexity of Energies). Convex functions are characterized by symmetric and positive-definite (SPD) second-order derivatives throughout their domain. Conversely, the energy in most models of nonlinear elasticity used in computer graphics is rotation invariant. This implies that the energy value remains unchanged regardless of the rotational orientation of objects or elements. Such rotation invariance leads to non-convexity , making the optimization process more complex. Definition 3.1.1 (Symmetric Positive-Definiteness). A square matrix A∈Rn×n is symmetric positive-definite if A=AT, and vTAv>0 for all v∈Rn,v=0. Unlike directly solving nonlinear equations, a minimization problem provides an energy measure that enables the assurance of global convergence using a technique called line search.","breadcrumbs":"Projected Newton » Convergence of Newton's Method » Convergence Issue of Newton's Method","id":"20","title":"Convergence Issue of Newton's Method"},"21":{"body":"In iterative minimization methods, line search is a technique used to select a fraction of the step in each iteration, ensuring the objective energy decreases at the new point. Specifically, for Newton's method, line 4 in Algorithm 1.5.1 is modified from \\(x^i \\leftarrow x\\) to \\(x^i \\leftarrow x^i + \\alpha (x - x^i)\\), where \\(\\alpha \\in (0,1]\\) is the step size, essential for the reduction of energy. This leads to two critical questions: Does such an \\(\\alpha\\) always exist? And how is \\(\\alpha\\) calculated? Remark 3.2.1 (Existence of \\(\\alpha\\)). For a smooth objective energy \\(E(x)\\) at \\(x^i\\) where \\(\\nabla E(x^i) \\neq 0\\), if a search direction \\(p=x-x^i\\) is descent, namely \\(p^T \\nabla E(x^i) < 0\\), then there exists \\(\\alpha > 0\\) such that \\(E(x^i + \\alpha p) < E(x^i)\\). Method 3.2.1 (Backtracking Line Search). Given a descent direction, we can find a reasonably large \\(\\alpha\\) by simply halving it starting from \\(1\\) until the energy at the new location is smaller than the current (see Algorithm 3.2.1 ). Algorithm 3.2.1 (The Backtracking Line Search Algorithm). Remark 3.2.2 (Other Line Search Methods). There are other line search methods that attempt to apply polynomial interpolations to find an \\(\\alpha\\) such that the energy at the new location is closer to a local minimum on the line segment \\(x^i + s p\\), (\\(s\\in(0,1]\\)). However, these methods generally incur higher computational costs and may not necessarily enhance the overall wall-clock timing of the optimization. Now, with line search, if Newton's method consistently generates a descent search direction, then the method is guaranteed to converge for any initial configuration on any smooth energy with a lower bound. We know that in iteration \\(i\\), \\(p = -(\\nabla^2 E(x^i))^{-1} \\nabla E(x^i)\\), so \\(p^T \\nabla E(x^i)\\) equals \\(-\\nabla E(x^i)^T (\\nabla^2 E(x^i))^{-T} \\nabla E(x^i)\\). For convex energies, \\(\\nabla^2 E(x^i)\\) is always Symmetric Positive Definite (SPD), and so is \\((\\nabla^2 E(x^i))^{-T}\\), making \\(p\\) always a descent direction. However, for non-convex energies, this assurance does not always hold. One approach to address this issue is to approximate the energies locally using convex energy proxies.","breadcrumbs":"Projected Newton » Line Search » Line Search","id":"21","title":"Line Search"},"22":{"body":"The search direction of the standard Newton's method is calculated by minimizing the local quadratic approximation of the objective energy: p=argΔxmin​(E(xi)+ΔxT∇E(xi)+21​ΔxTPΔx)(3.3.1) where \\(P = \\nabla^2 E(x^i)\\). In general gradient-based optimization methods, \\(p\\) can be calculated by Equation (3.3.1) with any proxy matrix \\(P\\). Setting \\(P = I\\) results in \\(p = -\\nabla E(x^i)\\), as used in the standard gradient descent method. This approach converges more slowly than Newton's method, as the energy approximation is of a lower order. The closer the proxy matrix \\(P\\) is to the Hessian matrix \\(\\nabla^2 E(x^i)\\), the faster the convergence. Hence, using an SPD approximation of the Hessian matrix as the proxy ensures that the search direction is always descent, while maintaining a convergence rate close to quadratic. This is akin to approximating non-convex energies locally using a convex energy proxy. A straightforward method to obtain such an SPD approximation involves first projecting \\(\\nabla^2 E(x^i)\\) onto its closest semi-definite matrix by solving Pmin​∥P−∇2E(xi)∥F​s.t.vTPv≥0 ∀v=0, and then introducing perturbations to ensure that \\(P\\) is invertible. The solution in this case is \\(P = Q \\hat{\\Lambda} Q^{-1}\\), where \\(P = Q \\Lambda Q^{-1}\\) is the eigendecomposition, and Λ^ij​=Λij​ if \\(\\Lambda_{ij} > 0\\), otherwise \\(\\hat{\\Lambda}_{ij} = 0\\). Intuitively, \\(P\\) is obtained by zeroing out all the negative eigenvalues of \\(\\nabla^2 E(x^i)\\). Definition 3.3.1 (Eigendecomposition). The eigendecomposition of a square matrix \\(A \\in \\mathbb{R}^{n \\times n}\\) is A=QΛQ−1 where \\(Q = [q_1, q_2, ..., q_n]\\) is composed of the eigenvectors \\(q_i\\) of \\(A\\), ∥qi​∥=1; \\(\\Lambda = [\\lambda_1, \\lambda_2, ..., \\lambda_n]\\), with \\(\\lambda_1 \\geq \\lambda_2 \\geq ..., \\lambda_n\\) being the eigenvalues of \\(A\\); and \\(Aq_i = \\lambda_i q_i\\). However, in simulation, \\(\\nabla^2 E(x^i)\\) is usually a large sparse matrix, and performing eigendecomposition on it would be prohibitively expensive. Fortunately, we will discover later in this book that the Incremental Potential in solids simulation can be expressed as a separable sum of energies defined on local stencils, such as a triangle in the 2D Finite Element Method (FEM) mesh: E(x)=j∑​Ej​(xj1​,xj2​,...), where \\(\\mathbf{x}_{jk}\\) are the nodes associated with the energy \\(E_j\\). Consequently, we can conveniently obtain a reasonably good SPD approximation by zeroing out the negative eigenvalues of each \\(\\nabla^2 E_i\\) defined on a small number of nodes and aggregating them. Example 3.3.1 (Local Projection Method). To simulate elasticity in 2D on a triangle mesh with 10,201 nodes and 20,000 triangles, the Hessian matrix \\(\\nabla^2 E(x)\\) is \\(20,402 \\times 20,402\\). For the local projection method described above, it requires 20,000 eigendecompositions on \\(6 \\times 6\\) matrices. Considering the computational complexity of eigendecomposition on an \\(n \\times n\\) matrix is worse than \\(O(n^2)\\), this rough estimation already suggests a more than \\(500\\times\\) speedup for this medium-sized problem when employing the local projection methods. In addition, since the mass matrix in \\(\\nabla^2 E(x^i)\\) is Symmetric Positive Definite (SPD) and the sum of SPD matrices remains SPD, there is no need for perturbations when projecting other matrices. We now summarize the globally convergent projected Newton method for backward Euler time integration in Algorithm 3.3.1 . Algorithm 3.3.1 (Projected Newton Method for Backward Euler Time Integration). Remark 3.3.1 (Stopping Criteria). From Equation (3.3.1) , we understand that ∥p∥ can be interpreted as a quadratic approximation of the distance from the current estimate \\(x^i\\) to the optimal solution. Hence, we utilize ∥p∥∞​/Δt as a more intuitive measure for the stopping criteria. This approach transforms it into a velocity unit and takes the maximum magnitude across every node.","breadcrumbs":"Projected Newton » Gradient-Based Optimization » Gradient-based Optimization","id":"22","title":"Gradient-based Optimization"},"23":{"body":"After examining the convergence issues of traditional Newton's method, even on smooth convex energies, we introduced a backtracking line search scheme for minimizing the Incremental Potential of Implicit Euler time integration, ensuring global convergence. To guarantee the discovery of a positive step size, the Incremental Potential Hessian is projected onto a nearby Symmetric Positive Definite (SPD) matrix. This SPD projection is efficiently achieved by eliminating the negative eigenvalues of the Hessian matrices for each non-convex energy stencil, involving only a few nodes. A convergence criterion that provides a more intuitive and consistent method for setting tolerance is also introduced, utilizing the Newton search direction. In the next lecture, we will conclude with a clear demonstration of all the covered topics through a simple 2D case study.","breadcrumbs":"Projected Newton » Summary » Summary","id":"23","title":"Summary"},"24":{"body":"Up to now, we have completed a high-level introduction to the optimization-based solids simulation framework. In this lecture, we elaborate on how to implement a simple 2D elastodynamics simulator with Python3. Sections in this book with Python implementations will be marked with a * right after the title. All the Python implementations can be found at https://github.com/phys-sim-book/solid-sim-tutorial . The excutable Python project for this section is in the /1_mass_spring folder of this repository.","breadcrumbs":"Case Study: 2D Mass-Spring* » Case Study: 2D Mass Spring*","id":"24","title":"Case Study: 2D Mass Spring*"},"25":{"body":"In representing solid geometries, we employ a mesh structure. We can further simplify the representation by connecting nodes on the mesh with edges. To facilitate this process, especially for geometries like squares, we can script a mesh generator. This generator allows for specifying both the side length of the square and the desired resolution of the mesh. Implementation 4.1.1 (Square Mesh Generation, square_mesh.py). import numpy as np\nimport os def generate(side_length, n_seg): # sample nodes uniformly on a square x = np.array([[0.0, 0.0]] * ((n_seg + 1) ** 2)) step = side_length / n_seg for i in range(0, n_seg + 1): for j in range(0, n_seg + 1): x[i * (n_seg + 1) + j] = [-side_length / 2 + i * step, -side_length / 2 + j * step] # connect the nodes with edges e = [] # horizontal edges for i in range(0, n_seg): for j in range(0, n_seg + 1): e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j]) # vertical edges for i in range(0, n_seg + 1): for j in range(0, n_seg): e.append([i * (n_seg + 1) + j, i * (n_seg + 1) + j + 1]) # diagonals for i in range(0, n_seg): for j in range(0, n_seg): e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j + 1]) e.append([(i + 1) * (n_seg + 1) + j, i * (n_seg + 1) + j + 1]) return [x, e] In the code, n_seg represents the number of edges along each side of the square. The nodes are uniformly distributed across the square and interconnected through horizontal, vertical, and diagonal edges. For instance, calling generate(1.0, 4) constructs a mesh as depicted in Figure 4.1.1 . This implementation utilizes the array data structures from the Numpy library, which provides convenient methods for handling the vector algebra required in subsequent steps. Figure 4.1.1. A 4×4 square mesh generated by calling generate(1.0, 4) defined in Square Mesh Generation script above. For temporal discretization, our approach is the implicit Euler method. The Incremental Potential, which needs to be minimized in time step \\(n\\), is represented as follows: E(x)=21​∥x−(xn+hvn)∥M2​+h2P(x).(4.1.1) Next, our focus shifts to implementing the calculations for the energy value, gradient, and Hessian for both the inertia term and the potential energy \\(P(x)\\).","breadcrumbs":"Case Study: 2D Mass-Spring* » Spatial and Temporal Discretizations » Spatial and Temporal Discretizations","id":"25","title":"Spatial and Temporal Discretizations"},"26":{"body":"For the inertia term, with \\(\\tilde{x}^n = x^n + h v^n\\), we have \\[ E_I(x) = \\frac{1}{2}\\|x - \\tilde{x}^n \\|_M^2, \\quad \\nabla E_I(x) = M(x - \\tilde{x}^n), \\quad \\text{and} \\quad \\nabla^2 E_I(x) = M, \\] which is straightforward to implement: Implementation 4.2.1 (InertiaEnergy.py). import numpy as np def val(x, x_tilde, m): sum = 0.0 for i in range(0, len(x)): diff = x[i] - x_tilde[i] sum += 0.5 * m[i] * diff.dot(diff) return sum def grad(x, x_tilde, m): g = np.array([[0.0, 0.0]] * len(x)) for i in range(0, len(x)): g[i] = m[i] * (x[i] - x_tilde[i]) return g def hess(x, x_tilde, m): IJV = [[0] * (len(x) * 2), [0] * (len(x) * 2), np.array([0.0] * (len(x) * 2))] for i in range(0, len(x)): for d in range(0, 2): IJV[0][i * 2 + d] = i * 2 + d IJV[1][i * 2 + d] = i * 2 + d IJV[2][i * 2 + d] = m[i] return IJV The functions val(), grad(), and hess() are designed to compute different components of the inertia term. Specifically: val(): Computes the value of the inertia term. grad(): Calculates the gradient of the inertia term. hess(): Determines the Hessian of the inertia term. Regarding the Hessian matrix, a memory-efficient approach is employed. Rather than allocating a large two-dimensional array to store all entries of the Hessian matrix, only the nonzero entries are kept. This is achieved using the IJV structure, which consists of three lists: Row Index : Identifies the row position of each nonzero entry. Column Index : Indicates the column position of each nonzero entry. Value : The actual nonzero value at the specified row and column. This method significantly reduces memory usage and computational costs associated with downstream processing.","breadcrumbs":"Case Study: 2D Mass-Spring* » Inertia Term » Inertia Term","id":"26","title":"Inertia Term"},"27":{"body":"In this case study, we focus exclusively on incorporating the mass-spring elasticity potential into our system. The concept of mass-spring elasticity is akin to treating each edge of the mesh as if it were a spring. This approach is inspired by Hooke's Law, allowing us to formulate the potential energy on edge e as follows: Pe​(x)=l221​k(l2∥x1​−x2​∥2​−1)2,(4.3.1) Here, x1​ and x2​ represent the current positions of the two endpoints of the edge. The variable l denotes the original length of the edge, and k is a parameter controlling the spring's stiffness. Notably, when the distance between the two endpoints ∥x1​−x2​∥ equals the original length l, the potential energy Pe​(x) attains its global minimum value of 0, indicating no force is exerted. An important aspect of this formulation is the inclusion of l2 at the beginning. This is analogous to integrating the spring energy across the solid and choosing edges as quadrature points. This integration helps maintain a consistent relationship between the stiffness behavior and the parameter k, regardless of mesh resolution variations. Another deviation from standard spring energy formulations is our avoidance of the square root operation. We directly use ∥x1​−x2​∥2, making our model polynomial in nature. This simplification yields more streamlined expressions for the gradient and Hessian: ∂x1​∂Pe​​(x)=−∂x2​∂Pe​​(x)=2k(l2∥x1​−x2​∥2​−1)(x1​−x2​), ∂x12​∂2Pe​​(x)​=∂x22​∂2Pe​​(x)=−∂x1​x2​∂2Pe​​(x)=−∂x2​x1​∂2Pe​​(x)=l24k​(x1​−x2​)(x1​−x2​)T+2k(l2∥x1​−x2​∥2​−1)I=l22k​(2(x1​−x2​)(x1​−x2​)T+(∥x1​−x2​∥2−l2)I).​ The total potential energy of the system, denoted as P(x), can be derived by summing the potential energy across all edges. This is calculated using Equation (4.3.1) . Thus, the total potential energy is expressed as: P(x)=e∑​Pe​(x) where the summation is taken over all edges in the mesh. Implementation 4.3.1 (MassSpringEnergy.py). import numpy as np\nimport utils def val(x, e, l2, k): sum = 0.0 for i in range(0, len(e)): diff = x[e[i][0]] - x[e[i][1]] sum += l2[i] * 0.5 * k[i] * (diff.dot(diff) / l2[i] - 1) ** 2 return sum def grad(x, e, l2, k): g = np.array([[0.0, 0.0]] * len(x)) for i in range(0, len(e)): diff = x[e[i][0]] - x[e[i][1]] g_diff = 2 * k[i] * (diff.dot(diff) / l2[i] - 1) * diff g[e[i][0]] += g_diff g[e[i][1]] -= g_diff return g def hess(x, e, l2, k): IJV = [[0] * (len(e) * 16), [0] * (len(e) * 16), np.array([0.0] * (len(e) * 16))] for i in range(0, len(e)): diff = x[e[i][0]] - x[e[i][1]] H_diff = 2 * k[i] / l2[i] * (2 * np.outer(diff, diff) + (diff.dot(diff) - l2[i]) * np.identity(2)) H_local = utils.make_PSD(np.block([[H_diff, -H_diff], [-H_diff, H_diff]])) # add to global matrix for nI in range(0, 2): for nJ in range(0, 2): indStart = i * 16 + (nI * 2 + nJ) * 4 for r in range(0, 2): for c in range(0, 2): IJV[0][indStart + r * 2 + c] = e[i][nI] * 2 + r IJV[1][indStart + r * 2 + c] = e[i][nJ] * 2 + c IJV[2][indStart + r * 2 + c] = H_local[nI * 2 + r, nJ * 2 + c] return IJV In dealing with the Hessian matrix of the mass-spring energy, a key consideration is its non-symmetric positive definite (SPD) nature. To address this, a specific modification is employed: we neutralize the negative eigenvalues of the local Hessian corresponding to each edge. This is done prior to incorporating these local Hessians into the global matrix. The process involves setting negative eigenvalues to zero, thus ensuring that the resulting global Hessian matrix adheres more closely to the desired SPD properties. This modification is crucial for Newton's method. Implementation 4.3.2 (Positive Semi-Definite Projection). import numpy as np\nimport numpy.linalg as LA def make_PSD(hess): [lam, V] = LA.eigh(hess) # Eigen decomposition on symmetric matrix # set all negative Eigenvalues to 0 for i in range(0, len(lam)): lam[i] = max(0, lam[i]) return np.matmul(np.matmul(V, np.diag(lam)), np.transpose(V))","breadcrumbs":"Case Study: 2D Mass-Spring* » Mass-Spring Potential Energy » Mass-Spring Potential Energy","id":"27","title":"Mass-Spring Potential Energy"},"28":{"body":"Having established the capability to evaluate the Incremental Potential for arbitrary configurations, we now turn our attention to the implementation of the optimization time integrator. This integrator is crucial for minimizing the Incremental Potential, which in turn updates the nodal positions and velocities. This implementation follows the approach outlined in Algorithm 3.3.1 : Implementation 4.4.1 (time_integrator.py). import copy\nfrom cmath import inf import numpy as np\nimport numpy.linalg as LA\nimport scipy.sparse as sparse\nfrom scipy.sparse.linalg import spsolve import InertiaEnergy\nimport MassSpringEnergy def step_forward(x, e, v, m, l2, k, h, tol): x_tilde = x + v * h # implicit Euler predictive position x_n = copy.deepcopy(x) # Newton loop iter = 0 E_last = IP_val(x, e, x_tilde, m, l2, k, h) p = search_dir(x, e, x_tilde, m, l2, k, h) while LA.norm(p, inf) / h > tol: print('Iteration', iter, ':') print('residual =', LA.norm(p, inf) / h) # line search alpha = 1 while IP_val(x + alpha * p, e, x_tilde, m, l2, k, h) > E_last: alpha /= 2 print('step size =', alpha) x += alpha * p E_last = IP_val(x, e, x_tilde, m, l2, k, h) p = search_dir(x, e, x_tilde, m, l2, k, h) iter += 1 v = (x - x_n) / h # implicit Euler velocity update return [x, v] def IP_val(x, e, x_tilde, m, l2, k, h): return InertiaEnergy.val(x, x_tilde, m) + h * h * MassSpringEnergy.val(x, e, l2, k) # implicit Euler def IP_grad(x, e, x_tilde, m, l2, k, h): return InertiaEnergy.grad(x, x_tilde, m) + h * h * MassSpringEnergy.grad(x, e, l2, k) # implicit Euler def IP_hess(x, e, x_tilde, m, l2, k, h): IJV_In = InertiaEnergy.hess(x, x_tilde, m) IJV_MS = MassSpringEnergy.hess(x, e, l2, k) IJV_MS[2] *= h * h # implicit Euler IJV = np.append(IJV_In, IJV_MS, axis=1) H = sparse.coo_matrix((IJV[2], (IJV[0], IJV[1])), shape=(len(x) * 2, len(x) * 2)).tocsr() return H def search_dir(x, e, x_tilde, m, l2, k, h): projected_hess = IP_hess(x, e, x_tilde, m, l2, k, h) reshaped_grad = IP_grad(x, e, x_tilde, m, l2, k, h).reshape(len(x) * 2, 1) return spsolve(projected_hess, -reshaped_grad).reshape(len(x), 2) Here step_forward() is essentially a direct translation of the projected Newton method with line search ( Algorithm 3.3.1 ), and we implemented the Incremental Potential value (IP_val()), gradient (IP_grad()), and Hessian (IP_hess()) evaluations as separate functions for clarity. For the computation of search directions, we utilize the linear solver from the Scipy library , which is adept at handling sparse matrices. Notably, this solver accepts matrices in the Compressed Sparse Row (CSR) format. The choice of this format and solver is driven by their efficiency in processing and memory usage, which is particularly advantageous when dealing with large-scale problems with large sparse matricies often encountered in computational simulations.","breadcrumbs":"Case Study: 2D Mass-Spring* » Optimization Time Integrator » Optimization Time Integrator","id":"28","title":"Optimization Time Integrator"},"29":{"body":"Having gathered all necessary elements for our 2D mass-spring simulator, the next step is to implement the simulator. This implementation will operate in a step-by-step manner and include visualization capabilities to enhance understanding and engagement. Implementation 4.5.1 (simulator.py). # Mass-Spring Solids Simulation import numpy as np # numpy for linear algebra\nimport pygame # pygame for visualization\npygame.init() import square_mesh # square mesh\nimport time_integrator # simulation setup\nside_len = 1\nrho = 1000 # density of square\nk = 1e5 # spring stiffness\ninitial_stretch = 1.4\nn_seg = 4 # num of segments per side of the square\nh = 0.004 # time step size in s # initialize simulation\n[x, e] = square_mesh.generate(side_len, n_seg) # node positions and edge node indices\nv = np.array([[0.0, 0.0]] * len(x)) # velocity\nm = [rho * side_len * side_len / ((n_seg + 1) * (n_seg + 1))] * len(x) # calculate node mass evenly\n# rest length squared\nl2 = []\nfor i in range(0, len(e)): diff = x[e[i][0]] - x[e[i][1]] l2.append(diff.dot(diff))\nk = [k] * len(e) # spring stiffness\n# apply initial stretch horizontally\nfor i in range(0, len(x)): x[i][0] *= initial_stretch # simulation with visualization\nresolution = np.array([900, 900])\noffset = resolution / 2\nscale = 200\ndef screen_projection(x): return [offset[0] + scale * x[0], resolution[1] - (offset[1] + scale * x[1])] time_step = 0\nsquare_mesh.write_to_file(time_step, x, n_seg)\nscreen = pygame.display.set_mode(resolution)\nrunning = True\nwhile running: # run until the user asks to quit for event in pygame.event.get(): if event.type == pygame.QUIT: running = False print('### Time step', time_step, '###') # fill the background and draw the square screen.fill((255, 255, 255)) for eI in e: pygame.draw.aaline(screen, (0, 0, 255), screen_projection(x[eI[0]]), screen_projection(x[eI[1]])) for xI in x: pygame.draw.circle(screen, (0, 0, 255), screen_projection(xI), 0.1 * side_len / n_seg * scale) pygame.display.flip() # flip the display # step forward simulation and wait for screen refresh [x, v] = time_integrator.step_forward(x, e, v, m, l2, k, h, 1e-2) time_step += 1 pygame.time.wait(int(h * 1000)) square_mesh.write_to_file(time_step, x, n_seg) pygame.quit() For 2D visualization in our simulator, we utilize the Pygame library . The simulation is initiated with a scene featuring a single square, which is initially elongated horizontally. During the simulation, the square begins to revert to its original horizontal dimensions. Subsequently, due to inertia, it will start to stretch vertically, oscillating back and forth until it eventually stabilizes at its rest shape, as illustrated in ( Figure 4.5.1 ). Figure 4.5.1. From left to right: initial, intermediate, and final static frame of the initially stretched square simulation. In addition to storing node positions x and edges e, our simulation also requires allocating memory for several other key variables: Node Velocities (v) : To track the movement of each node over time. Masses (m) : Node masses are calculated by uniformly distributing the total mass of the square across each node. This is a preliminary approach; more detailed methods for calculating nodal mass in Finite Element Method (FEM) or Material Point Method (MPM) will be explored in future chapters. Squared Rest Length of Edges (l2) : Important for calculating the potential energy in the mass-spring system. Spring Stiffnesses (k) : A crucial parameter influencing the dynamics of the springs. For visualization purposes beyond our simulator, we enable the export of the mesh data into .obj files. This is achieved by calling the write_to_file() function at the start and at each frame of the simulation. This feature facilitates the use of alternative visualization software to analyze and present the simulation results. Implementation 4.5.2 (Output Square Mesh, square_mesh.py). def write_to_file(frameNum, x, n_seg): # Check if 'output' directory exists; if not, create it if not os.path.exists('output'): os.makedirs('output') # create obj file filename = f\"output/{frameNum}.obj\" with open(filename, 'w') as f: # write vertex coordinates for row in x: f.write(f\"v {float(row[0]):.6f} {float(row[1]):.6f} 0.0\\n\") # write vertex indices for each triangle for i in range(0, n_seg): for j in range(0, n_seg): #NOTE: each cell is exported as 2 triangles for rendering f.write(f\"f {i * (n_seg+1) + j + 1} {(i+1) * (n_seg+1) + j + 1} {(i+1) * (n_seg+1) + j+1 + 1}\\n\") f.write(f\"f {i * (n_seg+1) + j + 1} {(i+1) * (n_seg+1) + j+1 + 1} {i * (n_seg+1) + j+1 + 1}\\n\") With all components properly set up, the next phase involves initiating the simulation loop. This loop advances the time integration and visualizes the results at each time step. To execute the simulation program, the following command is used in the terminal: python3 simulator.py Remark 4.5.1 (Practical Considerations). With our simulator implementation in place, it provides us with the flexibility to experiment with various configurations of the optimization time integration scheme. Such testing is invaluable for gaining deeper insights into the roles and impacts of each essential component. Consider an example: if we opt not to project the mass-spring Hessian to a Symmetric Positive Definite (SPD) form, peculiar behaviors may emerge under certain conditions. For instance, running the simulation with a frame-rate time step size of h=0.02 and an initial_stretch of 0.5 could lead to line search failures. This, in turn, results in very small step sizes, hampering the optimization process and preventing significant progress. While line search might seem superfluous in this simplistic 2D example, its necessity becomes apparent in more complex 3D elastodynamics simulations, especially those involving large deformations. Here, line search is crucial to ensure the convergence of the simulation. Another point of interest is the stopping criteria applied in traditional solids simulators. Many such simulators forego a dynamic stopping criterion and instead terminate the optimization process after a predetermined number of iterations. This approach, while straightforward, can lead to numerical instabilities or 'explosions' in more challenging scenarios. This underscores the importance of carefully considering the integration scheme and its parameters to ensure stable and accurate simulations.","breadcrumbs":"Case Study: 2D Mass-Spring* » Simulation with Visualization » Simulator with Visualization","id":"29","title":"Simulator with Visualization"},"3":{"body":"@book{li2024physics,\ntitle={Physics-Based Simulation (V1.0.0)},\nauthor={Li, Minchen and Jiang, Chenfanfu},\nyear={2024}\n}","breadcrumbs":"Preface » BibTeX","id":"3","title":"BibTeX"},"30":{"body":"We have successfully demonstrated the implementation of a basic 2D mass-spring simulator encompassing several critical components: Mesh Generation : This involves the creation of nodes and connecting elements. In practical scenarios, simulators often import meshes from pre-existing files. Incremental Potential Energy Evaluation : Comprises the computation of the potential energy value, its gradient, and the Symmetric Positive Definite (SPD)-projected Hessian. Optimization Time Integrator : This includes linear solves for determining search directions, line search techniques to ensure global convergence, and rules for updating nodal positions and velocities. Simulator Structure : Encompasses scene setup, variable initialization, and the execution of the simulation loop. (Note: Visualization aspects can be decoupled from the simulator itself.) In the forthcoming chapter, we will delve into boundary treatments, including prescribed motion and frictional contact, which are implemented through equality or inequality constraints in the optimization framework. This discussion will be enriched with practical case studies, illustrating the application of each boundary treatment in computational simulations.","breadcrumbs":"Case Study: 2D Mass-Spring* » Summary » Summary","id":"30","title":"Summary"},"31":{"body":"Boundary treatments, including boundary conditions and frictional contacts, play a crucial role in solid simulations. They not only enhance the expressiveness of scene setup but also capture intricate dynamics within the simulation. This lecture introduces Dirichlet boundary conditions, a pivotal concept for prescribing the motion of specific nodes in solid structures. Understanding these conditions is essential for accurately modeling and manipulating the behavior of solids in various simulation scenarios.","breadcrumbs":"Dirichlet Boundary Conditions* » Dirichlet Boundary Conditions*","id":"31","title":"Dirichlet Boundary Conditions*"},"32":{"body":"Dirichlet boundary conditions (BC), when integrated into the optimization time integrator, are represented as linear equality constraints: Ax=b,(5.1.1) In this equation, the matrix \\(A\\) is a \\(m \\times dn\\) matrix, where \\(m \\leq dn\\). This matrix functions to select the degrees of freedom (DOFs) at the nodes that are subject to the boundary conditions. The vector \\(b\\) is a \\(m \\times 1\\) vector, which specifies the precise spatial values that are prescribed by these conditions. Example 5.1.1 (Sticky Dirichlet Boundary Condition). For a 2D system containing two nodes \\((x_{11}, x_{12})\\) and \\((x_{21}, x_{22})\\), to fix the second node at position \\((1, 2)\\), the boundary condition (Equation (5.1.1) ) can be expressed as [00​00​10​01​]​x11​x12​x21​x22​​​=[12​]. The two most common types of Dirichlet boundary conditions are sticky and slip: Sticky Boundary Conditions : These conditions effectively fix the position of certain nodes within a time step. They are characterized by a block-wise constraint Jacobian matrix \\(A\\). In this matrix, each set of \\(d\\) rows includes exactly one \\(d \\times d\\) identity matrix. The rest of the matrix consists of zero matrices. This configuration is illustrated in Example 5.1.1 . The implementation of sticky boundary conditions ensures that the specified nodes remain stationary, adhering to the prescribed positions during the simulation. Slip Boundary Conditions : These conditions are designed to constrain each boundary condition (BC) node within a specific linear subspace, such as a plane or a line, which may not necessarily be axis-aligned. As an example, consider planar slip boundary conditions. Here, for each BC node, there is a corresponding row in the matrix \\(A\\) that contains the normal vector of the plane. This vector occupies the columns corresponding to the BC node, as detailed in Example 5.1.2 . Such conditions allow the nodes to move, but only within the defined linear subspace, thus adding a layer of complexity and realism to the simulation. Example 5.1.2 (Slip Dirichlet Boundary Condition). For the same two-node system in Example 5.1.1 , to constrain the first node in the line with equation \\(2x + 3y = 4\\), the constraint (Equation (5.1.1) ) can be expressed as [2​3​0​0​]​x11​x12​x21​x22​​​=4. At the start of each time step, if we are given that all boundary conditions are satisfied, then the goal during optimization is simply to maintain the positions of the boundary condition nodes. This is represented as: AΔx=0.(5.1.2) Here, \\(\\Delta x\\) is the search direction in each optimization iteration. Maintaining this condition ensures that any updated nodal position \\(x + \\alpha \\Delta x\\), with \\(\\alpha\\) being the step size from line search, still satisfies the boundary conditions: A(x+αΔx)=b. This guarantees the adherence to boundary conditions throughout the optimization process. To enforce the linear equality constraints (Equation (5.1.2) ) for sticky DBC in a time step, we address this in each Newton iteration while solving for the search direction \\( \\Delta x \\). This process involves forming the Lagrangian with a quadratic approximation to the Incremental Potential: L(Δx,λ)=21​ΔxTHΔx+gTΔx+λTAΔx, Here, \\( \\lambda \\) is the \\( m\\times 1 \\) Lagrange multiplier vector. The gradient and Hessian of the Incremental Potential are denoted by \\( g \\) and \\( H \\), respectively. The solution is approached through a max-min optimization problem: λmax​Δxmin​L(Δx,λ), which leads to the formulation of a Karush-Kuhn-Tucker (KKT) system: [HA​AT​][Δxλ​]=[−g0​].(5.1.3) Solving this KKT system is essential to determine the search direction. Note that this system is not Symmetric Positive Definite (SPD) and its size increases with the number of BC nodes.","breadcrumbs":"Dirichlet Boundary Conditions* » Equality Constraint Formulation » Equality Constraint Formulation","id":"32","title":"Equality Constraint Formulation"},"33":{"body":"Considering the simplest sticky Dirichlet boundary condition as an example, its constraint Jacobian \\( A \\) acts as a selection matrix. Consequently, \\( AA^T \\) forms a \\( m \\times m \\) identity matrix, and \\( A^T A \\) becomes a \\( dn \\times dn \\) diagonal matrix. In this matrix, the entries corresponding to the BC nodes are one, and all other entries are zero. When we left-multiply \\( A \\) to the first block row of Equation (5.1.3) , the resulting equation is: [AHA​AAT​][Δxλ​]=[−Ag0​]. This manipulation allows us to directly solve for \\( \\lambda \\) as: λ=−AHΔx−Ag.(5.2.1) By substituting Equation (5.2.1) back into the first block row of Equation (5.1.3) , we derive the following equation: (I−ATA)HΔx=(I−ATA)(−g).(5.2.2) Here, left-multiplying by \\((I - A^T A)\\) effectively zeroes out the rows corresponding to the BC nodes. Hence, Equation (5.2.2) represents an under-constrained system. However, the second block row of Equation (5.1.3) actually provides us with the values of \\(\\Delta x\\) at the BC nodes (so they are not really unknowns). By considering this information, we can rewrite Equation (5.2.2) into a Symmetric Positive Definite (SPD) system: HUB​ΔxB​+HUU​ΔxU​=−gU​, where the matrices and vectors are partitioned as follows: H=[HBB​HUB​​HBU​HUU​​],Δx=[ΔxB​ΔxU​​],g=[gB​gU​​], and the subscript \\(B\\) denotes the BC nodes. Knowing that \\(\\Delta x_B = 0\\), the system simplifies to: HUU​ΔxU​=−gU​,(5.2.3) which represents a SPD system that excludes the BC nodes.","breadcrumbs":"Dirichlet Boundary Conditions* » DOF Elimination Method » DOF Elimination Method","id":"33","title":"DOF Elimination Method"},"34":{"body":"The method outlined above serves primarily for mathematical explanation. In practical applications, constructing Equation (5.2.3) is often avoided. This is because it entails reordering degrees of freedom (DOFs) and separating the BC nodes from unconstrained nodes, a process that can be both tedious and inefficient, particularly when the set of Dirichlet nodes varies over time. To circumvent the need to reorder DOFs, a direct modification of the original linear system can be made to align it with Equation (5.2.3) . This adjustment involves setting all entries in the rows corresponding to BC nodes in \\( H \\) and \\( g \\) to \\( 0 \\). Additionally, for the columns associated with BC nodes in \\( H \\), all off-diagonal entries are set to \\( 0 \\) while diagonal entries are assigned \\( 1 \\) or another positive real number to ensure the system remains well-conditioned. After solving this modified system, the resulting values of \\( \\Delta x_U \\) are immediately aquired, and all \\( \\Delta x_B \\) values are guaranteed to be \\( 0 \\). Example 5.2.1 (DOF Elimination). For the problem defined in Example 5.1.1 where the second node \\((x_{21}, x_{22})\\) is fixed at \\((1,2)\\) in a 2D two-node system, assuming in a certain iteration of a time step H=​4−1−1−1​−14−1−1​−1−14−1​−1−1−14​​,andg=​1234​​, we solve the system ​4−100​−1400​0010​0001​​​Δx11​Δx12​Δx21​Δx22​​​=​−1−200​​.(5.2.4) for search direction \\(\\Delta x\\) so that \\(\\Delta x_{21} = \\Delta x_{22} = 0\\) and after line search we for sure know that \\((x_{21}, x_{22}) = (1, 2)\\) still holds since (x21​+αΔx21​,x22​+αΔx22​)=(x21​,x22​). Here (5.2.4) is essentially [HUU​​I​][ΔxU​ΔxB​​]=[−gU​0​] Remark 5.2.1 (Limitations of DOF Elimination). The DOF elimination method described is effective when sticky BC nodes are established at the beginning of the time step. However, if this is not the case, and the constraint function in Equation (5.1.3) has a non-zero right-hand side (rhs), the DOF elimination method becomes inapplicable. The issue here is not the inability to solve for \\( \\Delta x \\) under constraints with a non-zero rhs. Rather, the concern is that the resulting \\( \\Delta x \\) might not lead to a descent direction in the Incremental Potential. This can result in exceedingly small step sizes after a line search, potentially stalling the optimization process. Intuitively, if the direction of \\( \\Delta x_B \\) is towards the prescribed BC coordinates, it could inadvertently increase the Incremental Potential, which is not adjusted to consider the BCs. Conversely, if \\( \\Delta x_B \\) is simply \\( 0 \\) when the BCs are already satisfied, it effectively minimizes the Incremental Potential using a subset of variables, which remains a valid approach. One might then ask why not adjust the DOFs to meet the BCs before starting the optimization. However, this strategy could lead to infeasible configurations, such as those involving intersections. A viable alternative is to initially apply stiff spring forces to gradually 'drag' the BC nodes to their constrained positions during optimization. After this, switching to the DOF elimination method can enhance convergence. This technique is further discussed in the section Moving Boundary Conditions* .","breadcrumbs":"Dirichlet Boundary Conditions* » DOF Elimination Method » A More Practical Approach","id":"34","title":"A More Practical Approach"},"35":{"body":"We use a simple case study to end this lecture. Based on the mass-spring system developed in a previous section, we implement gravitational energy and sticky Dirichlet boundary conditions to simulate a hanging square. The excutable Python project for this section can be found at https://github.com/phys-sim-book/solid-sim-tutorial under the 2_dirichlet folder. Gravitational energy has P(x)=−xTMg,∇P(x)=−Mg,and∇2P(x)=0, which can be trivially implemented: Implementation 5.3.1 (GravityEnergy.py). import numpy as np gravity = [0.0, -9.81] def val(x, m): sum = 0.0 for i in range(0, len(x)): sum += -m[i] * x[i].dot(gravity) return sum def grad(x, m): g = np.array([gravity] * len(x)) for i in range(0, len(x)): g[i] *= -m[i] return g # Hessian is 0 Then we just need to make sure the gravitational energy is added into the Incremental Potential (IP): Implementation 5.3.2 (Adding gravity to IP, time_integrator.py). def IP_val(x, e, x_tilde, m, l2, k, h): return InertiaEnergy.val(x, x_tilde, m) + h * h * (MassSpringEnergy.val(x, e, l2, k) + GravityEnergy.val(x, m)) # implicit Euler def IP_grad(x, e, x_tilde, m, l2, k, h): return InertiaEnergy.grad(x, x_tilde, m) + h * h * (MassSpringEnergy.grad(x, e, l2, k) + GravityEnergy.grad(x, m)) # implicit Euler For the sticky Dirichlet boundary condition, we modify the system accordingly when computing search direction: Implementation 5.3.3 (DOF elimination, time_integrator.py). def search_dir(x, e, x_tilde, m, l2, k, is_DBC, h): projected_hess = IP_hess(x, e, x_tilde, m, l2, k, h) reshaped_grad = IP_grad(x, e, x_tilde, m, l2, k, h).reshape(len(x) * 2, 1) # eliminate DOF by modifying gradient and Hessian for DBC: for i, j in zip(*projected_hess.nonzero()): if is_DBC[int(i / 2)] | is_DBC[int(j / 2)]: projected_hess[i, j] = (i == j) for i in range(0, len(x)): if is_DBC[i]: reshaped_grad[i * 2] = reshaped_grad[i * 2 + 1] = 0.0 return spsolve(projected_hess, -reshaped_grad).reshape(len(x), 2) Here is_DBC is an array marking whether a node is Dirichlet or not as we store the Dirichlet node indices in DBC: Implementation 5.3.4 (DBC definition, simulator.py). DBC = [n_seg, (n_seg + 1) * (n_seg + 1) - 1] # fix the left and right top nodes # ... # identify whether a node is Dirichlet\nis_DBC = [False] * len(x)\nfor i in DBC: is_DBC[i] = True Finally, after making sure is_DBC is passed to the time integrator, we can simulate an energetic hanging square (no initial stretching) with a smaller spring stiffness k=1e3 at framerate time step size h=0.02 ( Figure 5.3.1 ). Figure 5.3.1. From left to right: initial, intermediate, and final static frame of the hanging square simulation.","breadcrumbs":"Dirichlet Boundary Conditions* » Case Study: Hanging Sqaure* » Case Study: Hanging Square*","id":"35","title":"Case Study: Hanging Square*"},"36":{"body":"In this section, we explored Dirichlet boundary conditions (DBC), integral to optimization time integrators, and presented them as straightforward linear equality constraints. There are two types of DBCs: sticky and slip . Sticky DBCs immobilize certain nodes, fixing their positions, whereas slip DBCs restrict the movement of nodes to within a plane or a line. We focused on cases where sticky DBCs are already met at the start of a time step. In such scenarios, the DOF elimination method proves efficient. This technique modifies the gradient and Hessian of the Incremental Potential, ensuring that the resulting search direction remains within the feasible space. In the following lecture, we will delve into the handling of slip DBCs and demonstrate methods for their efficient incorporation into optimization problems.","breadcrumbs":"Dirichlet Boundary Conditions* » Summary » Summary","id":"36","title":"Summary"},"37":{"body":"Although they might be satisfied at the start of a time step, general slip Dirichlet boundary conditions (DBC) present unique challenges. Unlike the sticky DBCs, they cannot be directly addressed using the DOF elimination method , primarily because their constraint Jacobian does not consist of identity matrix blocks. To navigate this complexity, we can adopt a change-of-basis strategy. Before delving into the more general scenarios, it's insightful to first examine a particular type of slip DBC: those that are axis-aligned. Understanding this specific case will lay the groundwork for tackling the broader range of slip DBCs.","breadcrumbs":"Slip Dirichlet Boundary Conditions » Slip Dirichlet Boundary Conditions","id":"37","title":"Slip Dirichlet Boundary Conditions"},"38":{"body":"Axis-Aligned slip Dirichlet boundary conditions (DBC) uniquely restrict the movement of certain nodes to linear subspaces that are aligned with the axes. For instance, these constraints could limit motion to lines parallel to the x-axis or planes parallel to the yz-plane. An advantageous aspect of Axis-Aligned slip DBC is that their constraint Jacobians bear resemblance to those of sticky DBCs. Consequently, they can be efficiently managed using the same DOF elimination method. Example 6.1.1 (Axis-Aligned Slip DBC). Consider the previously mentioned two-node system in a 2D space, as referenced in the slip DBC example ( Example 5.1.2 ). To apply a slip DBC that constrains the first node, represented by coordinates \\((x_{11}, x_{12})\\), to move only along the line \\(y = 3\\), we express this constraint as a linear equality: [0​1​0​0​]​x11​x12​x21​x22​​​=3. Then similar to sticky DBC, in a time step where this slip DBC is already satisfied, assume we have H=​4−1−1−1​−14−1−1​−1−14−1​−1−1−14​​,andg=​1234​​, we can solve the system ​40−1−1​0100​−104−1​−10−14​​​Δx11​Δx12​Δx21​Δx22​​​=​−10−3−4​​ for search direction so that \\(\\Delta x_{12} = 0\\) and the first node will stay on the \\(y=3\\) line for arbitrary step size since its \\(y\\) coordinate will not vary.","breadcrumbs":"Slip Dirichlet Boundary Conditions » Axis-Aligned Slip DBC » Axis-Aligned Slip DBC","id":"38","title":"Axis-Aligned Slip DBC"},"39":{"body":"","breadcrumbs":"Slip Dirichlet Boundary Conditions » Change of Variables » Change of Variables","id":"39","title":"Change of Variables"},"4":{"body":"In this lecture, we explore the simulation of deformable solids with the aim of developing a discrete, computationally solvable problem. The primary goal is to introduce the abstract algebraic concepts inherent in this problem. We approach elasticity simulation using a top-down architectural view, placing mathematical modeling at the forefront. The study of classical elastic solids physics largely revolves around Partial Differential Equations (PDEs). In continuum mechanics and finite element analysis literature, the norm is to first derive the continuous form of these PDEs, elaborating on each term's origin, before adapting them to discrete programming languages. Often, this adaptation appears in later sections, creating a sense of anticipation for the reader. This book, however, takes a different route. It weaves continuum mechanics and PDEs into the discussion as needed, evenly distributing these topics to avoid overwhelming the reader. This method links theory to practice incrementally, enhancing understanding. We introduce the main problem formulation early, offering an overview of its numerical solutions. This gives readers an initial comprehensive view, sparking curiosity and motivating deeper exploration in later chapters. This strategy makes the learning process smoother and more intuitive, helping readers effortlessly connect complex concepts and quickly grasp the subject's core. Our aim is to provide a well-rounded, thorough, and engaging exploration of deformable solids simulation, valuable for both students and seasoned researchers in the field.","breadcrumbs":"Discrete Space and Time » Lecture 1: Discrete Space and Time","id":"4","title":"Lecture 1: Discrete Space and Time"},"40":{"body":"When dealing with general linear equality constraints, such as slip DBCs that aren't axis-aligned, the direct Degree of Freedom (DOF) elimination method faces certain limitations. This becomes evident particularly when \\( AA^T \\) is not an \\( m \\times m \\) identity matrix. According to the Karush-Kuhn-Tucker (KKT) system (Equation (5.1.3) ), the Lagrange multiplier vector \\( \\lambda \\) can be solved as follows: λ=−(AAT)−1AHΔx−(AAT)−1Ag.(6.2.1) When we substitute Equation (6.2.1) back into the KKT system, it results in: (I−AT(AAT)−1A)HΔx=(I−AT(AAT)−1A)(−g),(6.2.2) This leads to an under-constrained system. The key challenge here is that \\( I - A^T (AA^T)^{-1} A \\) does not possess a special structure that can be conveniently exploited to derive an equivalent, non-singular system while still satisfying the constraints. This makes the direct application of the DOF elimination method impractical for general slip DBCs.","breadcrumbs":"Slip Dirichlet Boundary Conditions » Change of Variables » Challenges with General Slip DBCs and the DOF Elimination Method","id":"40","title":"Challenges with General Slip DBCs and the DOF Elimination Method"},"41":{"body":"Our approach involves transforming the degrees of freedom (DOF) into a new set of variables, making the constraints as straightforward as those in sticky DBC. To achieve this, we employ singular value decomposition (SVD) on the constraint Jacobian matrix \\( A \\). The SVD of \\( A \\) is expressed as: A=USVT. Here, \\( U \\) is a \\( m \\times m \\) orthogonal matrix, \\( V \\) is a \\( dn \\times dn \\) orthogonal matrix, and \\( S \\) is a \\( m \\times dn \\) diagonal matrix. By defining \\( y = V^T \\Delta x \\), we can reframe the Karush-Kuhn-Tucker (KKT) system (Equation (5.1.3) ) into a new format: [VTHVS​ST0​][yλ′​]=[−VTg0​].(6.2.3) In this transformed system, \\( \\lambda' = U^T \\lambda \\). Notably, the presence of the diagonal matrix \\( S \\) in the off-diagonal blocks allows the direct application of the DOF elimination method. Once we solve for \\( y \\), the original variable \\( \\Delta x \\) is easily recovered through the matrix-vector product \\( \\Delta x = V y \\). Remark 6.2.1 (Limitations of Using SVD for DOF Elimination). While we utilized singular value decomposition (SVD) to illustrate the concept, it's important to recognize the limitations of applying SVD in practice, especially on large matrices. There are two primary concerns: Intractability with Large Matrices: Performing SVD on matrices of substantial size can be computationally challenging and often impractical. Impact on Computational Efficiency: The Incremental Potential Hessian \\( H \\) typically exhibits sparsity, making it efficient to factorize in linear solves during simulations. However, if the resulting \\( V \\) from the SVD is dense, then \\( V^T H V \\) will also be dense. This not only slows down the computation but also significantly increases the cost of linear solves. It's crucial to note that the new basis set (the column vectors of \\( V \\)) needs to be linearly independent but does not necessarily have to be orthonormal. This insight opens up the possibility of identifying a sparse basis set. Such a set can maintain computational efficiency when dealing with general linear equality constraints. For a practical example of this approach, see [Chen et al. 2022] .","breadcrumbs":"Slip Dirichlet Boundary Conditions » Change of Variables » Simplifying Constraints Using Singular Value Decomposition","id":"41","title":"Simplifying Constraints Using Singular Value Decomposition"},"42":{"body":"Fortunately, for constraints like slip DBCs that are decoupled per node, SVD simply results in block-diagonal U and V which could be constructed procedurally in an efficient way. 3D planar slip DBC at node i can be expressed as niT​(xi​−xi′​)=0, where ni​ is the normal of the plane that node i is slipping, and xi′​ is an arbitrary point on that plane. As discussed near Equation (5.1.2) , if at the beginning of the time step node i is already on the plane, the constraint simplifies to niT​Δxi​=0. Then performing SVD on the row vector niT​, we obtain niT​=Ui​Si​ViT​=1[1​0​0​]​niT​miT​liT​​​,(6.3.1) where unit vectors ni​, mi​, and li​ together form an orthonormal basis in 3D. Then it becomes clear that globally, U is simply a m×m identity matrix, S is a m×dn matrix where every row contains exactly one unit-valued entry in the column corresponding to the first DOF of the slip BC node, and V is a dn×dn block-diagonal matrix with the d×d orthonormal blocks only on those corresponding to BC nodes, and d×d identity matrix elsewhere. To compute mi​ and li​ from ni​, we first note that there are an infinite number of possible solutions. Therefore, we can simply first construct mi​=ni​×[1​0​0​]T, or mi​=ni​×[0​1​0​]T if ni​ is almost colinear with [1​0​0​]T, and then construct li​=ni​×mi​. To obtain VT(−g), one only needs to left-multiply each ViT​=​niT​miT​liT​​​ to −gi​. As for VTHV, first left-multiply each ViT​ to every block on the i-th block row of H to obtain VTH. Then for the i-th block column of VTH, left-multiply Vi​=[ni​​mi​​li​​] to every block. Finally, after solving for y by applying the DOF elimination method on the modified system (Equation (6.2.3) ), Δx can be obtained by Δx=Vy with similar block(node)-wise operations. Example 6.3.1 (General Slip DBC). For the same two-node system in 2D as mentioned in the slip DBC example ( Example 5.1.2 ), to constrain the first node (x11​,x12​) inside the 3x+4y=2 line, the slip DBC can be expressed as [3​4​0​0​]​x11​x12​x21​x22​​​=2 and we can build U=1, S=[1​0​0​0​], VT=​0.6−0.8​0.80.6​1​1​​ for changing the basis. Then in a time step where this slip DBC is already satisfied, assume we have H=​4−1−1−1​−14−1−1​−1−14−1​−1−1−14​​,andg=​1234​​, we can compute VTHV=​4.960.280.20.2​0.283.04−1.4−1.4​0.2−1.44−1​0.2−1.4−14​​,andVTg=​−1234​​, and solve the system ​1000​03.04−1.4−1.4​0−1.44−1​0−1.4−14​​​y11​y12​y21​y22​​​=​0−2−3−4​​ for y. Then the search direction can be obtained by Δx=Vy so that 3Δx11​+4Δx12​=0 and so the first node will stay on the 3x+4y=2 line for arbitrary step size.","breadcrumbs":"Slip Dirichlet Boundary Conditions » General Slip DBC » General Slip DBC","id":"42","title":"General Slip DBC"},"43":{"body":"This section has demonstrated that, with a change in the basis of variables, general slip Dirichlet boundary conditions (DBC) can be effectively managed using the Degree of Freedom (DOF) elimination method, much like axis-aligned slip DBCs. While singular value decomposition (SVD) can be used to find the basis for general linear equality constraints, this approach may not be feasible for large or complex constraints. Nonetheless, it's possible to develop procedural routines for computing the basis, specifically tailored to node-wise slip DBC constraints. Currently, our focus has been on maintaining DBCs that are already satisfied within the simulation framework. Moving forward, the discussion will shift towards exploring frictional contact between points and analytic surfaces. Additionally, we will revisit scenarios where DBCs are not satisfied at the start of a time step, delving into more complex cases.","breadcrumbs":"Slip Dirichlet Boundary Conditions » Summary » Summary","id":"43","title":"Summary"},"44":{"body":"Contact modeling is a crucial aspect of ensuring that solids do not intersect with obstacles or themselves. This topic was briefly touched upon in a previous section . In this lecture, we delve deeper into the specifics of non-interpenetration within the framework of the Incremental Potential Contact (IPC) method. Our focus will be on a simplified yet significant scenario: contact between solids and obstacles that have closed boundaries. This specific focus allows us to thoroughly explore the mechanics and principles of the IPC method in a controlled setting.","breadcrumbs":"Distance Barrier for Nonpenetration » Distance Barrier for Nonpenetration","id":"44","title":"Distance Barrier for Nonpenetration"},"45":{"body":"The Incremental Potential Contact (IPC) method is designed to ensure non-interpenetration in solids of any codimension by maintaining the unsigned distances between solid boundaries above zero throughout their movement. This approach is robust as it applies universally, irrespective of the solid's specific characteristics. However, when signed distances are accessible, the application of IPC becomes not only straightforward but also more streamlined. Signed distances extend the concept of unsigned distances to encompass solid geometries with closed boundaries. With IPC enforcing non-interpenetration, the possibility of negative distances inside a solid is eliminated. Therefore, in scenarios where signed distances remain non-negative (including the state of being exactly zero), it's an indication of successful non-interpenetration. Definition 7.1.1 (Codimension). If \\(W\\) is a linear subspace of a finite-dimensional vector space \\(V\\), then the codimension of \\(W\\) in \\(V\\) is the difference between their dimensions: codim(W)=dim(V)−dim(W). For example, in 3D, a surface has codimension \\(1\\), and a line has codimension \\(2\\). In computer graphics, when simulating cloth and hair, codimension 1 and 2 geometry representations are often applied respectively for efficiency. However, their signed distances are not well-defined. This also explains why unsigned distances are more general for modeling solid contact. In a previous section , we explored various methods for representing solid geometries. One notable approach is the analytical representation. For instance, a 3D ball centered at \\( \\mathbf{c} \\) with radius \\( r \\) can be analytically described by the parameterization: {x∈R3 ∣ ∥x−c∥≤r, c∈R3, r>0}. This principle of defining solid geometries extends beyond simple spheres. Many other shapes, such as half-spaces, boxes, ellipsoids, and tori, can be similarly parameterized. The key to these parameterizations lies in defining the \"interior\" of these objects, which can often be achieved through functions like signed distances. These functions provide a versatile tool for describing a wide range of simple and complex shapes in a concise and mathematical manner. Example 7.1.1 (Ball Signed Distance Function). The signed distance function \\(d(\\mathbf{x})\\) and its derivatives of a ball centered at \\(\\mathbf{c}\\) with radius \\(r\\) can be defined as ​d(x)=∥x−c∥−r,∇d(x)=∥x−c∥x−c​,and∇2d(x)=∥x−c∥3∥x−c∥2I−(x−c)(x−c)T​.​ Example 7.1.2 (Half-Space Signed Distance Function). The signed distance function \\(d(\\mathbf{x})\\) and its derivatives of a half-space with normal \\(\\mathbf{n}\\) and \\(d(\\mathbf{o}) = 0\\) can be defined as d(x)=nT(x−o),∇d(x)=n,and∇2d(x)=0.(7.1.1) Representing more intricate geometries, like those commonly encountered in real-life scenarios, can be a challenging task due to their complexity. An effective alternative to intricate parameterizations is the use of a uniform Euclidean grid. This grid serves as a storage mechanism for the signed distances of a solid object, with these distances precomputed at each grid node. When the distance at any arbitrary point within the solid is required, interpolation can be applied to the grid data. Example 7.1.3 (Grid Signed Distance Field). For a signed distance field stored on a uniform Euclidean grid with spacing \\(\\Delta x\\), to query the distance at an arbitrary location \\(\\mathbf{x} = (x,y)\\) where \\(x = x_i + \\alpha \\Delta x\\) and \\(y = y_i + \\beta \\Delta x\\) (\\(\\mathbf{x}_{i,j} = (x_i, y_j)\\) are the location of grid nodes, \\(0 \\leq \\alpha,\\beta \\leq 1\\)), with bilinear interpolation ( Figure 7.1.1 right), d(x)=(1−β)((1−α)d(xi,i​)+αd(xi+1,i​))+β((1−α)d(xi,i+1​)+αd(xi+1,i+1​)). From Figure 7.1.1 we also see that to approximate a solid boundary smoothly in this setting, a higher-order interpolation scheme such as quadratic b-spline interpolation is needed. Figure 7.1.1. The signed distance between the grid nodes and the sphere boundary is precomputed and stored (left). With bilinear interpolation, part of the sphere boundary is approximated as the blue polyline (right).","breadcrumbs":"Distance Barrier for Nonpenetration » Signed Distances » Signed Distances","id":"45","title":"Signed Distances"},"46":{"body":"","breadcrumbs":"Distance Barrier for Nonpenetration » Distance Barrier » Distance Barrier","id":"46","title":"Distance Barrier"},"47":{"body":"In scenarios like a solid interacting with a planar ground, where the signed distance function \\( d(\\mathbf{x}) \\) is smooth outside the obstacle, we can approach the modeling of contact by incorporating non-interpenetration constraints. These constraints are formulated using \\( d(\\mathbf{x}) \\), while we also aim to minimize the Incremental Potential of the system. Assuming that the solids are densely sampled with nodes \\(\\mathbf{x}\\), we apply these constraints at the level of nodal Degrees of Freedom (DOFs) in relation to the obstacles: xmin​E(x)s.t.dij​≥0 ∀ node i and obstacle j.(7.2.1) In this equation, \\( d_{ij} \\) represents the signed distance between node \\( i \\) and obstacle \\( j \\). By ensuring that \\( d_{ij} \\) is non-negative, we effectively prevent the solids from intersecting with the obstacles [1] .","breadcrumbs":"Distance Barrier for Nonpenetration » Distance Barrier » Constrained Optimization","id":"47","title":"Constrained Optimization"},"48":{"body":"To address the inequality constraints in our contact modeling, we introduce a barrier potential \\( P_b(\\mathbf{x}) \\). This potential transforms the constrained problem, as described in Equation (7.2.1) , into an \"unconstrained\" optimization problem: xmin​E(x)+h2Pb​(x).(7.2.2) The barrier potential is defined as follows: Pb​(x)=i,j∑​Ai​d^b(dij​(x))andb(dij​(x))={2κ​(d^dij​​−1)lnd^dij​​0​dij​ 0 \\Longleftrightarrow 0 < d_{ij} < \\hat{d} \\), representing the activation of contact forces based on the distance between solids and obstacles. As the threshold \\( \\hat{d} \\) decreases, contact forces become active only when the solids are in closer proximity (as illustrated in Figure 7.2.1 ). This adjustment leads to a reduction in the complementarity slackness error, which can be controlled to a certain extent. However, it's important to note that this control comes at a cost: computational efficiency may be reduced. This is because sharper objective functions, resulting from smaller \\( \\hat{d} \\) values, tend to require more Newton iterations to resolve. Therefore, there is a trade-off between the accuracy of the simulation (in terms of adhering to the KKT condition) and the computational resources required.","breadcrumbs":"Distance Barrier for Nonpenetration » Solution Accuracy » Solution Accuracy","id":"49","title":"Solution Accuracy"},"5":{"body":"In everyday life, solid objects are perceived as continuous. Yet, in the digital world of computers, where we use discrete numbers for representation, a range of interesting methods arises. One method is parametrization . Consider a 3D sphere, which can be described as {x∈R3 ∣ ∥x−c∥≤r, c∈R3, r>0}, centered at point \\( \\mathbf{c} \\) with radius \\( r \\). This approach extends beyond spheres to include shapes like half-spaces, boxes, ellipsoids, tori, and others, characterized by their interior using functions such as signed distances. However, parametrization faces challenges when handling complex geometries that are frequently encountered in real-world scenarios. An emerging exception to this limitation is the use of advanced neural representations employing neural networks. These newer methods show promise in effectively representing more intricate geometrical forms. An alternative is representing with sampling . This involves choosing points on and inside the object. But points alone aren't enough; we typically need to establish connectivity between them to define the object’s boundaries for applications like rendering and 3D printing. Monitoring how a cluster of points shifts over time also helps in measuring deformation. In continuum mechanics, an object is seen as having a continuous density field. Digitally, this continuity must be represented discretely, usually through defining the connectivity of the solid's geometry. Remark 1.1.1 (Other Solid Representations). There are other methods for representing solid geometries, such as voxel-based approaches. These methods divide the space into a 3D grid of small boxes, or voxels, with each voxel representing a segment of the object, similar to pixels in a 2D image. Voxel-based methods are advantageous for several reasons. Firstly, they can act as a discrete level set representation, capable of modeling complex geometries and tracking their evolution over time. Each voxel contains information about its position relative to the object's surface, offering an efficient discrete approximation of the continuous level set function. This is beneficial for algorithms involved in surface evolution, shape optimization, and collision detection. Secondly, voxel-based approaches are conducive to Constructive Solid Geometry (CSG) operations. This technique in solid modeling uses Boolean operators to combine simpler shapes into complex 3D models. The voxelized framework allows for straightforward and efficient execution of operations like union, intersection, and difference on the voxel grid. This enables the easy creation and modification of intricate shapes. Example 1.1.1 (Mesh). The method of creating a mesh by directly connecting points with edges or triangles is a popular technique in computational geometry. This concept is illustrated in the accompanying figure, where the left and middle images show two different meshes. Notably, even though these meshes utilize the same sampled points or nodes, they have distinct connectivities, resulting in different shapes. The rightmost mesh in the figure demonstrates a transformation from one shape to another. This mesh represents a deformation of the middle mesh, achieved by vertically compressing its upper half. Figure 1.1.1. Mesh Example 1.1.2 (Particle and Grid). By implementing a uniform grid structure in our spatial representation, we record the extent of solid matter at each node location. This allows us to use our sampled points to calculate the density of the solid at each grid node. This method is beneficial for quantifying the solid's distribution within the grid and for establishing a network of connectivity among the original sampled points. Refer to the accompanying figure for a visual demonstration of this concept. In the figure, the sampled points are depicted as green dots. The grid nodes, where we record solid densities, are shown as black circles. These nodes are connected through the grid, illustrated with blue lines. Figure 1.1.2. Particle and grid In the field of modern solid simulation, the described methods of defining connectivity are crucial. The first method, establishing connections through a mesh of edges or triangles, is foundational to Finite Element Method (FEM) simulators. The second approach, which involves using a uniform grid to compute solid density and establish connectivity, is integral to Material Point Method (MPM) simulators [Jiang et al. 2016] . This book largely concentrates on the former method, delving into the intricacies of FEM. The mesh-based structure of FEM is particularly effective in handling complex domains by breaking them down into simpler elements. This makes FEM an essential tool in the study and simulation of deformable solids, and understanding its nuances is vital for those engaged in this area of study. At first glance, the use of two representations of solid geometry in the MPM might appear redundant. Yet, this dual approach gives MPM a significant edge, especially in simulating dynamic events like solid fractures. In such cases, FEM would necessitate meticulous modification of the edges and elements that define the original connectivity to accurately depict the damage. In contrast, MPM efficiently handles these scenarios. The uniform grid naturally accommodates the separation of body parts in a fracture, as the lack of material at fracture nodes leads to an automatic disconnection of adjacent grid nodes. This attribute allows MPM to excel in managing changes in solid topology. However, when it comes to simulation accuracy control, the Finite Element Method (FEM) excels. FEM operates directly on the mesh, obviating the need for constant information transfer, thus ensuring greater precision. This level of accuracy makes FEM an invaluable resource in the precise simulation of deformable solids, which is the primary emphasis of this book. The technique of consolidating coordinates of each sampled point into an extended vector, denoted as \\( x\\in\\mathbb{R}^{dn} \\) (refer to the figure below), provides an effective means to describe a specific geometric configuration, given a constant connectivity. In this representation, \\(d\\) indicates the dimension of space (1, 2, or 3), and \\(n\\) represents the total number of points. Similarly, attributes like velocity, acceleration, and forces at each sample point can be amalgamated into corresponding extended vectors, symbolized as \\(v\\), \\(a\\), and \\(f\\) respectively. This organized approach to data presentation not only aids in comprehensively understanding the various parameters and their interrelations but also streamlines the mathematical formulation of the simulation process. Figure 1.1.3. Stacked position vector","breadcrumbs":"Discrete Space and Time » Representations of a Solid Geometry » Representations of a Solid Geometry","id":"5","title":"Representations of a Solid Geometry"},"50":{"body":"In simulating contact between solids and obstacles, we primarily focus on enforcing non-negativity on the signed distances between solid degrees of freedom (DOFs) and obstacles, in conjunction with minimizing the Incremental Potential. Transformation to an Unconstrained Problem: The inherent inequality-constrained minimization issue for each time step is transformed into an unconstrained problem. This is achieved through the introduction of a barrier potential. This potential rises to infinity as distances approach zero, effectively generating large repulsion forces that prevent interpenetration. Outcomes at Local Minimum: At the local minimum of this barrier-augmented Incremental Potential, we attain a balance of momentum, ensure non-interpenetration, and generate contact forces that only push but do not pull. The only exception in the Karush-Kuhn-Tucker (KKT) conditions is the complementarity slackness, which is not strictly satisfied. The accuracy in satisfying this condition can be controlled by adjusting the distance threshold d^, albeit at the expense of computational efficiency. Limitations and Next Steps: While the distance barrier method effectively addresses many contact scenarios, it cannot alone prevent artificial tunneling in dynamic simulations. To overcome this limitation, our next lecture will introduce the filtered line search scheme, an advanced technique designed to provide more guarantees to our simulations. Remark 7.4.1 (Tunneling). Artificial tunneling in the context of simulations, particularly in computational physics and computer graphics, refers to a phenomenon where fast-moving objects pass through other objects or barriers without physically interacting with them, as if there were a tunnel through the barrier. This typically happens in scenarios involving discrete time steps, such as in computer simulations of physical systems. In a real-world scenario, when two objects collide, there should be a physical interaction like a bounce, a stop, or a deformation. However, in a simulation with discrete time steps, if an object is moving very fast or the time steps are too large, the object's position might be calculated as being on one side of a barrier in one step and then on the other side in the next, without ever detecting a collision. This \"skipping\" of the collision step leads to what appears as tunneling through the object.","breadcrumbs":"Distance Barrier for Nonpenetration » Summary » Summary","id":"50","title":"Summary"},"51":{"body":"The Incremental Potential Contact (IPC) method effectively maintains non-interpenetration constraints within solid simulations. This method models a constitutive relationship that directly correlates contact forces with their respective distances, thus converting the constrained problem into an unconstrained one. By using appropriately small time steps, the IPC allows for robust and accurate solid simulations free from obstacle interpenetration within an optimization-based time integration framework. However, challenges arise when using larger time steps, which can introduce multiple local minima in the Incremental Potential. This condition can lead to tunneling issues, where solids might unexpectedly pass through obstacles due to overly large search directions. To mitigate this risk, we introduce a filter line search strategy supplemented by continuous collision detection (CCD). This approach is designed to prevent tunneling by continuously adjusting the trajectory of solids in response to potential collisions. To illustrate these concepts, we will examine a case study where an elastic square falls onto the ground. This example will demonstrate the effectiveness of the IPC method along with the filter line search and CCD in managing the dynamics of solid bodies and ensuring accurate, interpenetration-free simulations.","breadcrumbs":"Filter Line Search* » Filter Line Search*","id":"51","title":"Filter Line Search*"},"52":{"body":"Example 8.1.1 (Tunneling). Let's consider a simple illustrative example. Without external forces like gravity, for a particle (no elasticity) at \\(\\mathbf{x}_0 = (0, 0)\\) with mass \\(m\\) and initial velocity \\(\\mathbf{v}_0 = (1, 0)\\) hitting a fixed square obstacle centered at \\((0.005, 0) \\), the Incremental Potential minimization problem for the first time step is xmin​(2m​∥x−(x0​+hv0​)∥2+h2Pb​(x)).(8.1.1) Since \\(\\hat{d}\\) is usually set small enough such as \\(10^{-4}m\\) in this case, the barrier potential \\(P_b(\\mathbf{x})\\) is not yet active at \\(\\mathbf{x}_0\\) as the particle is not touching the obstacle. This makes the problem in Equation (8.1.1) quadratic, and our projected Newton (PN) method ( Algorithm 3.3.1 ) will produce a search direction p=hv0​ at the first iteration, which directly leads to the global minimum of the Incremental Potential at \\(\\mathbf{x}_0 + h\\mathbf{v}_0\\) after line search. Taking \\(h=0.01s\\) ( Figure 8.1.1 ), the particle will tunnel through the obstacle. However, scenarios where particles pass through obstacles due to large time steps are clearly unrealistic, as the expected physical behavior is for the particle to collide with the obstacle and either stop or bounce back. Figure 8.1.1. An illustration of the tunneling issue. With the projected Newton method introduced earlier, tunneling artifact could happen as shown in the middle. The physically plausible result shown on the right could be obtained with the filter line search scheme. The blue arrows show the optimization path. From Example 8.1.1 , we understand that simply ensuring the signed distances to be non-negative at the final solution is inadequate, especially in scenarios involving large time step sizes, high-speed impacts, or thin obstacles. These conditions can lead to inaccuracies and unrealistic outcomes in simulations. The Incremental Potential Contact (IPC) method addresses this issue by ensuring that distances remain non-zero across the entire motion trajectory of solids. This approach is crucial for maintaining the physical accuracy and realism of the simulation. But what exactly do we mean by \"motion trajectory\" in the context of discrete time integration? We will explain this next.","breadcrumbs":"Filter Line Search* » Tunneling Issue » The Tunneling Issue","id":"52","title":"The Tunneling Issue"},"53":{"body":"The most straightforward way of defining the motion trajectory between \\(x^n\\) and \\(x^{n+1}\\) at time \\(t^n\\) and \\(t^{n+1}\\) respectively would be the high-dimensional line segment connecting these two configurations. However, although enforcing non-negative signed distances on this trajectory could avoid the tunneling issue in Example 8.1.1 , this strategy could potentially result in unrealistic behaviors as it alters the local optimum of the minimization problem (Equation (7.2.1) ) in a nonphysical way ( Figure 8.2.1 ). Figure 8.2.1. For the setup in the tunneling example, enforcing non-negative signed distance along the motion trajectory approximated by the line segment between xn and xn+1 results in a nonphysical simulation result. A more rigorous definition of the motion trajectory between \\(x^n\\) and \\(x^{n+1}\\) could be {argxmin​(21​∥x−(xn+hvn)∥M2​+h2∑P(x)) ∣ h∈[0,tn+1−tn]}. However, evaluating the configurations on this trajectory requires solving extra optimization problems, which could significantly complicate the time integration. Instead, IPC takes the optimization path as an approximation to the motion trajectory. Specifically, for the time step solving from \\(x^n\\) to \\(x^{n+1}\\), if the optimization took \\(l\\) iterations, and each iteration we get iterate \\(x^i\\) after line search, the optimization path is simply the high-dimensional polyline {(1−β)xi+βxi+1 ∣ β∈[0,1], i=0,1,2,...,l}. Now the time integration problem in time step \\(n\\) becomes finding such optimization path \\(x_0, x_1, ..., x_l\\) where \\(x^l\\) locally minimizes the Incremental Potential (Equation (7.2.2) ) subject to djk​((1−β)xi+βxi+1)>0∀ node j, obstacle k, β∈[0,1],and i=0,1,2,...,l. This enables enforcing the non-negative distance constraints per optimization iteration on the line segment between \\(x^i\\) and \\(x^{i+1}\\), which will not alter the local optimum of the time integration problem, and can be handled efficiently. Recall from Algorithm 3.2.1 that the line search scheme updates the iterate as \\(x^{i+1} \\leftarrow x^i + \\alpha p\\), which means \\(x^{i+1} - x^{i} = \\alpha p\\). Therefore, given an interpenetration-free \\(x^i\\), to ensure all the configurations on the line segment between \\(x^i\\) and \\(x^{i+1}\\) are interpenetration-free, we just need to find such \\(\\alpha\\) that makes sure djk​(xi+βp)≥0∀ node j, obstacle k, and β∈[0,α]. Based on the intuition that a sufficiently small \\(\\alpha\\) could definitely make this happen, we can simply calculate an upper bound of such \\(\\alpha\\) in every iteration, and make sure the backtracking line search results in a step size smaller than this upper bound. This upper bound can be conveniently calculated with continuous collision detection (CCD). Definition 8.2.1 (Continuous Collision Detection (CCD)). For a distance function \\(d_{jk}(x + \\alpha p)\\) defined with the initial interpenetration-free configuration of the solids and obstacles \\(x\\), their intended displacement \\(p\\), and the step size \\(\\alpha\\), CCD calculates the step size \\(\\alpha^C_{jk}\\) given \\(x\\) and \\(p\\) such that djk​(x+αp)>0∀ α∈[0,αjkC​).(8.2.1) Note that the problem definition implicitly requires \\(d_{jk}(x) > 0\\). Under this setting, if we denote \\(d^a_{jk}(\\alpha) = d_{jk}(x + \\alpha p)\\), \\(\\alpha^C_{jk}\\) is simply the smallest positive real root of \\(d^a_{jk}(\\alpha)\\) (see Figure 8.2.2 for an example), or \\(\\alpha^C_{jk} = \\infty\\) if \\(d^a_{jk}(\\alpha)\\) does not have any positive real roots. There are many methods to obtain the exact or a conservative estimate of \\(\\alpha^C_{jk}\\), we will see a specific example in the case study of this lecture. After computing \\(\\alpha^C_{jk}\\) for all nodes \\(j\\) and obstacle \\(k\\), a step size upper bound \\(\\alpha^C\\) for the line search could then be obtained as αC=min(1,j,kmin​αjkC​) Figure 8.2.2. An illustration of CCD with a solid particle at (0,0) hitting a fixed vertical plane at x=0.3. With the intended displacement p=(0.5,0), we obtain αC=0.6. Now, we can introduce our filter line search method ( Algorithm 8.2.1 ), specifically designed to enforce non-interpenetration constraints throughout the entire approximated motion trajectory. This strategic enforcement is key in preventing tunneling issues that commonly occur in simulations with insufficient constraint handling. This new scheme differs from the traditional backtracking line search method in a critical aspect: it initializes the step size. Instead of starting with a step size of \\(1\\), the filter line search method begins with \\(\\alpha^C\\). This modification is subtle yet significant. Algorithm 8.2.1 (Filter Backtracking Line Search). Remark 8.2.1 (Algorithm Dependency Issue). Using the optimization path to approximate the motion trajectory is still not perfect as it is algorithm dependent. Other than the projected Newton (PN) method, there could be an algorithm that walks around an obstacle and ended up with a configuration on the other side, still providing a tunneling solution ( Figure 8.2.3 ). Even with projected Newton, although in practice it always generates straightforward and physically plausible trajectories, there is no theoretical guarantee that it will never encounter tunneling issues. An intuition is that the search direction in every PN iteration always significantly decreases the Incremental Potential (IP), and so it is unlikely to walk around any contacts which often results in iterations that do not sufficiently decrease the IP. In fact, this kind of issue also happens in elastodynamics simulation without contact. Elasticity energy itself is also nonconvex, which can result in multiple local optima for the IP. The key to obtaining physical behaviors is to locally minimize IP, in other words, finding the nearby local minimum as the solution. Figure 8.2.3. For the setup in the tunneling example, even with the filter line search scheme, if an optimization method other than projected Newton is applied, it could still lead to the tunneling issue.","breadcrumbs":"Filter Line Search* » Penetration-free Trajectory » Penetration-free Trajectory","id":"53","title":"Penetration-free Trajectory"},"54":{"body":"To conclude, let's consider a case study where we simulate a square dropped onto a fixed planar ground. Building on our previous mass-spring model for an elastic square, we augment a barrier potential into its Incremental Potential and apply the filter line search scheme to manage the contact between the square's degrees of freedom (DOFs) and the ground. The excutable Python project for this section can be found at https://github.com/phys-sim-book/solid-sim-tutorial under the 3_contact folder. If we further limit the planar ground to be horizontal, e.g. at \\(y=y_0\\), its signed distance function can be made even simpler than Equation (7.1.1) : d(x)=xy​−y0​,∇d(x)=[01​],∇2d(x)=0.(8.3.1) Combining it with Equation (7.2.4) and Equation (7.2.5) , we can conveniently implement the gradient and Hessian computation for the barrier potential of this horizontal ground: Implementation 8.3.1 (Barrier energy value, gradient, and Hessian, BarrierEnergy.py). import math\nimport numpy as np dhat = 0.01\nkappa = 1e5 def val(x, y_ground, contact_area): sum = 0.0 for i in range(0, len(x)): d = x[i][1] - y_ground if d < dhat: s = d / dhat sum += contact_area[i] * dhat * kappa / 2 * (s - 1) * math.log(s) return sum def grad(x, y_ground, contact_area): g = np.array([[0.0, 0.0]] * len(x)) for i in range(0, len(x)): d = x[i][1] - y_ground if d < dhat: s = d / dhat g[i][1] = contact_area[i] * dhat * (kappa / 2 * (math.log(s) / dhat + (s - 1) / d)) return g def hess(x, y_ground, contact_area): IJV = [[0] * len(x), [0] * len(x), np.array([0.0] * len(x))] for i in range(0, len(x)): IJV[0][i] = i * 2 + 1 IJV[1][i] = i * 2 + 1 d = x[i][1] - y_ground if d < dhat: IJV[2][i] = contact_area[i] * dhat * kappa / (2 * d * d * dhat) * (d + dhat) else: IJV[2][i] = 0.0 return IJV For the filter line search, with the position in the last iteration \\(\\mathbf{x}\\) and a search direction \\(\\mathbf{p}\\) of a specific node, the signed distance function is simply \\[ d(\\mathbf{x} + \\alpha \\mathbf{p}) = \\mathbf{x}_y + \\alpha \\mathbf{p}_y - y_0, \\] where \\(\\alpha\\) is the step size, and there is only one positive real root \\(\\alpha = (y_0 - \\mathbf{x}_y) / \\mathbf{p}_y\\) when \\(\\mathbf{p}_y < 0\\) since \\(\\mathbf{x}_y > y_0\\) (no interpenetration up to current iteration). Taking the minimum of the positive real root per node then gives us the step size upper bound \\(\\alpha_C\\) defined in Equation (8.2.1) : Implementation 8.3.2 (Ground CCD, BarrierEnergy.py). def init_step_size(x, y_ground, p): alpha = 1 for i in range(0, len(x)): if p[i][1] < 0: alpha = min(alpha, 0.9 * (y_ground - x[i][1]) / p[i][1]) return alpha Here we scale the upper bound by \\(0.9\\times\\) so that exact touching configurations with \\(d=0\\) and \\(b = \\infty\\) (floating-point number overflow) can be avoided. Then once we make sure the step size upper bound is used to initialize the line search Implementation 8.3.3 (Filter line search, time_integrator.py). # filter line search alpha = BarrierEnergy.init_step_size(x, y_ground, p) # avoid interpenetration and tunneling while IP_val(x + alpha * p, e, x_tilde, m, l2, k, y_ground, contact_area, h) > E_last: alpha /= 2 and that the contact area weights for all nodes are calculated Implementation 8.3.4 (Contact area, simulator.py). contact_area = [side_len / n_seg] * len(x) # perimeter split to each node and passed to our simulator, we can simulate the square drop with mass-spring stiffness k=2e4 and time step size h=0.01 as shown in Figure 8.3.1 . Figure 8.3.1. A mass-spring elastic square is dropped onto the ground with 0 initial velocity under gravity. Here we show the frames when the square is: just dropped, first touching the ground, compressed to the maximum in this simulation, and becoming static. Remark 8.3.1 (Contact Layer Integration). Since in practice, contact forces are only exerted on the boundary of the solids, the barrier potential should be integrated only on the boundary as well. This also explains why in our case study the contact area weight per node is simply calculated as the diameter of the square evenly distributed onto each boundary node. However, as mass-spring elasticity cannot guarantee that all interior nodes will stay inside the boundary of the solid, we simply apply the barrier potential to all nodal DOFs of the square.","breadcrumbs":"Filter Line Search* » Case Study: Square Drop* » Case Study: Square Drop","id":"54","title":"Case Study: Square Drop"},"55":{"body":"To mitigate tunneling issues in solid simulation with large time steps, it is crucial to enforce non-negativity constraints of signed distances between solids and obstacles throughout the entire motion trajectory, not just at the final solution. While directly using the optimization path to approximate the motion trajectory isn't perfect theoretically, it supports the design of a filter line search scheme. This scheme utilizes continuous collision detection (CCD) and the projected Newton method, effectively preventing tunneling in practical scenarios. The projected Newton method, a gradient-based approach for minimizing the Incremental Potential, requires that the potential energy has a continuous gradient. Consequently, the distance functions employed in our barrier potential need to be at least C1 continuous. For grid-based signed distance fields ( Example 7.1.3 ), mere bilinear interpolation is considered insufficient. Additionally, handling self-contact on the piece-wise linear boundary of a mesh necessitates further approximations to smooth the distance function. Detailed exploration of self-contact will be addressed in future sections add ref. Before that, we will first transition to discussing solids-obstacle friction in our next lecture.","breadcrumbs":"Filter Line Search* » Summary » Summary","id":"55","title":"Summary"},"56":{"body":"In the macroscopic view, contact forces comprise not only the normal forces that prevent interpenetrations but also tangential friction forces that dampen shearing motions at the interfaces. Most surfaces, when observed microscopically, are not perfectly smooth but are formed of jagged edges. Friction essentially arises from forces preventing non-interpenetration between these jagged edges. In this lecture, we introduce the Coulomb friction model, incorporating approximations that make it compatible with optimization time integrators.","breadcrumbs":"Frictional Contact » Frictional Contact","id":"56","title":"Frictional Contact"},"57":{"body":"To model frictional contact, local frictional forces Fk​ can be added for every active contact point pair k. For each such pair k, at the current state {x,v}, a consistently oriented sliding basis Tk​(x)∈Rdm×d can be constructed, where m is the total number of simulated nodes and d is the dimension of space, such that vk​=Tk​(x)Tv∈Rd provides the local relative sliding velocity that is orthogonal to the distance gradient in the normal direction nk​(x). Example 9.1.1 (Particle Sliding on Sphere). For a particle with velocity vp​∈R3 moving on the surface of a sphere with velocity vs​∈R3 (no rotation), the relative sliding velocity vk​ here can be calculated as vk​=(vp​−vs​)−nk​⋅(vp​−vs​)nk​=(I3​−nk​nkT​)(vp​−vs​). If we stack the velocity of the particle and the sphere for this system to obtain v=[vpT​,vsT​]T∈R6, we now know that Tk​ is simply Tk​(x)=[I3​−nk​(x)nk​(x)Tnk​(x)nk​(x)T−I3​​]∈R6×3. For more general cases like mesh-mesh contact, the form of Tk​ only varies in how the relative velocity at the contact point pair k is related to the velocity at the simulated nodes. Maximizing dissipation rate subject to the Coulomb constraint defines friction forces variationally Fk​(x)=Tk​(x) argβ∈Rdmin​βTvk​s.t.∥β∥≤μλk​ and β⋅nk​=0,(9.1.1) where λk​=−wk​∂dk​∂b​ is the contact force magnitude and μ is the local friction coefficient. This is equivalent to Fk​(x)=−μλk​Tk​(x)f(∥vk​∥)s(vk​),(9.1.2) with s(vk​)=∥vk​∥vk​​ when ∥vk​∥>0, while s(vk​) takes any unit vector orthogonal to nk​ when ∥vk​∥=0. In addition, the friction scaling function, f, is also nonsmooth with respect to vk​ since f(∥vk​∥)=1 when ∥vk​∥>0, and f(∥vk​∥)∈[0,1] when ∥vk​∥=0. These non-smoothness would severely slow down and even break convergence of gradient-based optimization. Figure 9.1.1. An illustration of Tk​, vk​, nk​, and Fk​ when a point slides on a sphere. Remark 9.1.1 (Contact Force Magnitude). λk​=−wk​∂dk​∂b​ is the contact force magnitude because at node k, the contact force is −wk​∇xk​​b(dk​(x))=−wk​∂dk​∂b​∇xk​​dk​(x). Therefore, λk​=∥−wk​∂dk​∂b​∇xk​​dk​(x)∥=−wk​∂dk​∂b​ since ∂dk​∂b​<0 and ∥∇xk​​dk​(x)∥=1. To enable efficient and stable optimization, the friction-velocity relation in the transition to static friction can be mollified by replacing f with a smoothly approximated function. Following IPC, we use f1​(y)={−ϵv2​y2​+ϵv​2y​,1,​y∈[0,ϵv​)y≥ϵv​,​​(9.1.3)​ where f1′​(ϵv​)=0 and a velocity magnitude bound ϵv​ (in units of m/s) below which sliding velocities vk​ are treated as static is defined for bounded approximation error ( Figure 9.1.2 ). Figure 9.1.2. A 1D illustration of the smoothed relation between friction force and sliding velocity. Decreasing ϵv​ asymptotically matches the discontinuous Coulomb friction model.","breadcrumbs":"Frictional Contact » Smooth Dynamic-Static Transition » Smooth Dynamic-Static Transition","id":"57","title":"Smooth Dynamic-Static Transition"},"58":{"body":"However, challenges still remain on incorporating friction into the optimization time integration. A major problem is that friction is not a conservative force and there is no well-defined potential such that taking the opposite of its gradient produces the frictional force. In other words, implicit friction force is not integrable. Without a potential energy, backtracking line search could not be performed, and thus guarantees on the stability and convergence of the optimization will be broken. In fact, whether a force has well-defined potential energy really depends on the temporal discretization. For example, with explicit time integration, any force f is constant within a time step and it has a potential energy −fTx. Taking this inspiration, we could make friction force integrable with a smarter temporal discretization. Making friction force constant within a time step would certainly restrict the size of the time step to obtain high quality results. Therefore, we discretize part of the friction force explicitly and formulate an integrable semi-implicit friction force. Following IPC, we fix the normal force magnitude λ (the ones only used in calculating friction) and the tangent operator T during the nonlinear optimization to the value in the last time step n: λn=λ(xn), and Tn=T(xn), which then makes the friction force integrable with a potential energy Pf​(x)=k∑​μλkn​f0​(∥vˉk​h^∥),(9.2.1) where vˉk​=(Tkn​)Tv, h^I=(∂v/∂x)−1, and f0​(y)={−3ϵv2​h^2y3​+ϵv​h^y2​+3ϵv​h^​,y,​y∈[0,ϵv​h^)y≥ϵv​h^,​(9.2.2) so that f0′​(y)=f1​(y/h^). Here h^ is a constant multiple of the time step size h for most linear (multi-)step time integration methods including implicit Euler and higher-order backward difference formulas, etc. Then, taking the gradient of Equation (9.2.1) w.r.t. x we obtain −∇Pf​(x)=−k∑​μλkn​Tkn​f1​(∥vˉk​∥)s(vˉk​),(9.2.3) which is a semi-implicit discretization of our mollified friction force with explicit terms λkn​ and Tkn​. The Hessian of Pf​ can be calculated as =​∇2Pf​(x)k∑​μλkn​Tkn​(∥vˉk​∥3f1′​(∥vˉk​∥)∥vˉk​∥−f1​(∥vˉk​∥)​vˉk​vˉkT​+∥vˉk​∥f1​(∥vˉk​∥)​I3​)Tkn​T∂x∂v​.​(9.2.4) Remark 9.2.1. In the friction gradient and Hessian expression (Equation (9.2.3) and Equation (9.2.4) ), there are ∥vk​∥ in the denominators, which could be 0 when there is no relative sliding motion at a contact point. To avoid division by 0 during the computation, for friction gradient, we can derive ∥vˉk​∥f1​(∥vˉk​∥)​={−ϵv2​∥vˉk​∥​+ϵv​2​,1/∥vˉk​∥,​∥vˉk​∥∈[0,ϵv​)∥vˉk​∥≥ϵv​,​(9.2.5) which is well-defined everywhere, and so we obtain −∇Pf,k​(x)=−μλkn​Tkn​∥vˉk​∥f1​(∥vˉk​∥)​vˉk​=0when∥vˉk​∥=0. For friction Hessian, we can derive ∥vˉk​∥2f1′​(∥vˉk​∥)∥vˉk​∥−f1​(∥vˉk​∥)​={−1/ϵv2​,−1/∥vˉk​∥2,​∥vˉk​∥∈[0,ϵv​)∥vˉk​∥≥ϵv​,​(9.2.6) which is also well-defined everywhere, and since vˉk​vˉkT​/∥vˉk​∥=0 when ∥vˉk​∥=0, we know that ∇2Pf,k​(x)=μλkn​Tkn​(∥vˉk​∥f1​(∥vˉk​∥)​I3​)Tkn​T∂x∂v​when∥vˉk​∥=0. Remark 9.2.2. The friction formulation in this lecture is introduced slightly differently from the original IPC [Li et al. 2020] in 2 places: We directly use the relative sliding velocity vk​ rather than the relative sliding displacement uk​=h^vk​ in IPC as the input to the mollifier f1​(), and so our f1​() differs from that in the IPC on h^ in the denominators. When time integration rules other than implicit Euler is applied (so xn+1−xn=h^vn+1), calling uk​ the relative sliding displacement is inappropriate and may cause confusions. We did not introduce a tangent basis to express relative sliding velocity in the tangent space, because this is not necessary in computing the friction energy, gradient, and Hessian.","breadcrumbs":"Frictional Contact » Semi-Implicit Discretization » Semi-Implicit Discretization","id":"58","title":"Semi-Implicit Discretization"},"59":{"body":"To obtain the solution with fully implicit friction, we can iteratively alternate between the nonlinear optimization with fixed λ, and T given as ​xmin​:E(x,{λ,T})=21​∥x−x~n∥M2​+Δt2(Pe​(x)+Pb​(x)+Pf​(x,{λ,T}))s.t.Ax=b,​(9.3.1)​ and friction update until convergence ( Algorithm 9.3.1 ). Algorithm 9.3.1 (Fixed-Point Iteration for Fully-Implicit Friction). If we denote \\begin{equation} \\begin{aligned} & f_m({ \\lambda, T }) = \\text{arg}\\min_x E(x, { \\lambda, T}) \\ & f_u(x) = \\text{FrictionUpdate}(x), \\end{aligned} \\end{equation} then Algorithm 9.3.1 is essentially a fixed-point iteration that finds the fixed-point of function \\begin{equation} (f_m \\cdot f_u) (x) \\equiv f_m( f_u (x)). \\end{equation} Definition 9.3.1. x is a fixed point of function f() if and only if \\begin{equation} x = f(x). \\end{equation} The fixed-point iterations find the fixed-point of a function f() starting from x0 by iteratively updating the estimate \\begin{equation} x^{i+1} \\leftarrow f(x^i) \\end{equation} until convergence. Since the convergence of fixed-point iterations could only be achieved given an initial guess sufficiently close to the final solution, the convergence of Algorithm 9.3.1 analogously requires small time step sizes. However, note that each minimization with fixed {λ,T} ( Algorithm 9.3.1 line 4) is still guaranteed to converge with arbitrarily large time step sizes. Remark 9.3.1. In practice, semi-implicit friction with frame-rate time step sizes can already produce results with high visual quality. For higher accuracy, running 2 to 3 fixed-point iterations for friction is generally sufficient.","breadcrumbs":"Frictional Contact » Fixed-Point Iteration » Fixed-Point Iteration","id":"59","title":"Fixed-Point Iteration"},"6":{"body":"Having defined a method for representing a solid geometry at a single instance in time, we now face the challenge of predicting the solid's motion and deformation over time. This prediction is a key component for accurate simulation. Newton's second law, expressed as \\(\\mathbf{f} = m \\mathbf{a}\\), indicates that forces \\(\\mathbf{f}\\) are the primary reasons for changes in velocity, as indicated by acceleration \\(\\mathbf{a}\\). It's important to understand that when a solid's displacement fields extend beyond simple translational or rotational movements, or a linear combination thereof, it indicates deformation. By applying Newton's second law to each sample point, we can effectively predict the movement and deformation of solids. This concept is concisely represented in vector form: dtdx​Mdtdv​​=v,=f.​(1.2.1) In this representation, \\(M\\in\\mathbb{R}^{dn\\times dn}\\) is the mass matrix, and \\(x\\), \\(v\\), and \\(f\\) are the column vectors stacking position, velocity, and force, respectively. This approach lays the groundwork for our simulations of deformable solids, integrating principles of motion in both discrete space and continuous time. Remark 1.2.1 (Stacked Variables). Though the mass matrix \\(M\\) isn't necessarily a diagonal matrix in theory, it's often simplified to one in practical applications. This results in a lumped mass matrix, representing a system of discrete point masses and offering an efficient way to handle complex systems. Consider a two-point system in two dimensions to illustrate this. The lumped mass matrix for such a system is represented as: \\[ M = \\begin{pmatrix} m_1 & & & \\\\ & m_1 & & \\\\ & & m_2 & \\\\ & & & m_2 \\end{pmatrix}, \\] Here, we assume vectors like \\({v}\\) (as well as \\({x}\\) and \\({f}\\)) are stacked in a specific order: \\[ v = (v_{11}, v_{12}, v_{21}, v_{22})^T, \\] where \\(v_{i\\alpha}\\) denotes the \\(\\alpha\\)th component of the velocity \\(\\mathbf{v}_i\\) for the \\(i\\)th point. Such an organized structure simplifies calculations significantly and enhances the understanding of the system's dynamics.","breadcrumbs":"Discrete Space and Time » Newton's Second Law » Newton's Second Law","id":"6","title":"Newton's Second Law"},"60":{"body":"We introduced the Coulomb friction model, which non-smoothly penalizes shearing motion at contact points through static and dynamic friction forces in the tangent space. To integrate friction into the optimization time integrator, we first smoothly approximate the dynamic-static transition. This allows friction forces to be uniquely determined using only the nodal velocity degrees of freedom. We then apply a semi-implicit discretization that fixes the normal force magnitude λ and the tangent operator T at the previous time step, enhancing the integrability of friction. To achieve a solution with fully-implicit friction, fixed-point iterations are performed. These iterations alternate between semi-implicit time integration and updates for λ and T. In the next lecture, we will explore a case study involving a square on a slope with varying friction coefficients.","breadcrumbs":"Frictional Contact » Summary » Summary","id":"60","title":"Summary"},"61":{"body":"In this section, based on our learnings from Frictional Contact , we implement frictional contact for a slope within the optimization time integration framework. We start by extending the contact model used for horizontal grounds in the Square Drop case study to accommodate slopes with arbitrary orientations and locations. Following this extension, we implement friction for the slope, tested by simulating an elastic square dropped onto it. Depending on the friction coefficient μ, the square either stops at various points on the slope or continues to slide. The excutable Python project for this section can be found at https://github.com/phys-sim-book/solid-sim-tutorial under the 4_friction folder.","breadcrumbs":"Case Study: Square On Slope* » Case Study: Square On Slope*","id":"61","title":"Case Study: Square On Slope*"},"62":{"body":"The implementation in the Square Drop case study for horizontal grounds results in a simplified distance and distance gradient (Equation (8.3.1) ) compared to that of a general half-space (Equation (7.1.1) ): d(x)=nT(x−o),∇d(x)=n,and∇2d(x)=0.(10.1.1) This is all we need for implementing the slope. Defining a normal direction and a point lying on the slope Implementation 10.1.1 (Slope setup, simulator.py). ground_n = np.array([0.1, 1.0]) # normal of the slope\nground_n /= np.linalg.norm(ground_n) # normalize ground normal vector just in case\nground_o = np.array([0.0, -1.0]) # a point on the slope and passing them to the time integrator and barrier energy, we can modify the barrier energy value, gradient, and Hessian computation for the slope as Implementation 10.1.2 (Slope contact barrier, BarrierEnergy.py). import math\nimport numpy as np dhat = 0.01\nkappa = 1e5 def val(x, n, o, contact_area): sum = 0.0 for i in range(0, len(x)): d = n.dot(x[i] - o) if d < dhat: s = d / dhat sum += contact_area[i] * dhat * kappa / 2 * (s - 1) * math.log(s) return sum def grad(x, n, o, contact_area): g = np.array([[0.0, 0.0]] * len(x)) for i in range(0, len(x)): d = n.dot(x[i] - o) if d < dhat: s = d / dhat g[i] = contact_area[i] * dhat * (kappa / 2 * (math.log(s) / dhat + (s - 1) / d)) * n return g def hess(x, n, o, contact_area): IJV = [[0] * 0, [0] * 0, np.array([0.0] * 0)] for i in range(0, len(x)): d = n.dot(x[i] - o) if d < dhat: local_hess = contact_area[i] * dhat * kappa / (2 * d * d * dhat) * (d + dhat) * np.outer(n, n) for c in range(0, 2): for r in range(0, 2): IJV[0].append(i * 2 + r) IJV[1].append(i * 2 + c) IJV[2] = np.append(IJV[2], local_hess[r, c]) return IJV Then for the continuous collision detection, we similarly modify the implementation to compute the large feasible initial step size for line search using n and o: Implementation 10.1.3 (Slope CCD, BarrierEnergy.py). def init_step_size(x, n, o, p): alpha = 1 for i in range(0, len(x)): p_n = p[i].dot(n) if p_n < 0: alpha = min(alpha, 0.9 * n.dot(x[i] - o) / -p_n) return alpha Here the search direction of each node is projected onto the normal direction n to divide the current distance when computing the smallest step size that first brings the distance to 0. Finally, drawing the slope as a line from o−3n^ to o+3n^ where n^=[ny​,−nx​] pointing to the inclined direction, Implementation 10.1.4 (Slope visualization, simulator.py). pygame.draw.aaline(screen, (0, 0, 255), screen_projection([ground_o[0] - 3.0 * ground_n[1], ground_o[1] + 3.0 * ground_n[0]]), screen_projection([ground_o[0] + 3.0 * ground_n[1], ground_o[1] - 3.0 * ground_n[0]])) # slope we can now simulate an elastic square dropped on a slope without friction ( Figure 10.1.1 ). Figure 10.1.1. An elastic square dropped onto a frictionless slope, bouncing as it slides down.","breadcrumbs":"Case Study: Square On Slope* » From Ground To Slope » From Ground to Slope","id":"62","title":"From Ground to Slope"},"63":{"body":"Now to implement friction for the slope, we start by implementing the functions that calculate f0​(∥vˉk​∥h^), f1​(∥vˉk​∥)/∥vˉk​∥, and (f1′​(∥vˉk​∥)∥vˉk​∥−f1​(∥vˉk​∥))/∥vˉk​∥2 according to Equation (9.2.2) , Equation (9.2.5) , and Equation (9.2.6) respectively. Implementation 10.2.1 (Friction helper functions, FrictionEnergy.py). import numpy as np\nimport utils epsv = 1e-3 def f0(vbarnorm, epsv, hhat): if vbarnorm >= epsv: return vbarnorm * hhat else: vbarnormhhat = vbarnorm * hhat epsvhhat = epsv * hhat return vbarnormhhat * vbarnormhhat * (-vbarnormhhat / 3.0 + epsvhhat) / (epsvhhat * epsvhhat) + epsvhhat / 3.0 def f1_div_vbarnorm(vbarnorm, epsv): if vbarnorm >= epsv: return 1.0 / vbarnorm else: return (-vbarnorm + 2.0 * epsv) / (epsv * epsv) def f_hess_term(vbarnorm, epsv): if vbarnorm >= epsv: return -1.0 / (vbarnorm * vbarnorm) else: return -1.0 / (epsv * epsv) With these terms available, we can then implement the semi-implicit friction energy value, gradient, and Hessian computations according to Equation (9.2.1) , Equation (9.2.3) , and Equation (9.2.4) respectively. Implementation 10.2.2 (Friction value, gradient, and Hessian, FrictionEnergy.py). def val(v, mu_lambda, hhat, n): sum = 0.0 T = np.identity(2) - np.outer(n, n) # tangent of slope is constant for i in range(0, len(v)): if mu_lambda[i] > 0: vbar = np.transpose(T).dot(v[i]) sum += mu_lambda[i] * f0(np.linalg.norm(vbar), epsv, hhat) return sum def grad(v, mu_lambda, hhat, n): g = np.array([[0.0, 0.0]] * len(v)) T = np.identity(2) - np.outer(n, n) # tangent of slope is constant for i in range(0, len(v)): if mu_lambda[i] > 0: vbar = np.transpose(T).dot(v[i]) g[i] = mu_lambda[i] * f1_div_vbarnorm(np.linalg.norm(vbar), epsv) * T.dot(vbar) return g def hess(v, mu_lambda, hhat, n): IJV = [[0] * 0, [0] * 0, np.array([0.0] * 0)] T = np.identity(2) - np.outer(n, n) # tangent of slope is constant for i in range(0, len(v)): if mu_lambda[i] > 0: vbar = np.transpose(T).dot(v[i]) vbarnorm = np.linalg.norm(vbar) inner_term = f1_div_vbarnorm(vbarnorm, epsv) * np.identity(2) if vbarnorm != 0: inner_term += f_hess_term(vbarnorm, epsv) / vbarnorm * np.outer(vbar, vbar) local_hess = mu_lambda[i] * T.dot(utils.make_PSD(inner_term)).dot(np.transpose(T)) / hhat for c in range(0, 2): for r in range(0, 2): IJV[0].append(i * 2 + r) IJV[1].append(i * 2 + c) IJV[2] = np.append(IJV[2], local_hess[r, c]) return IJV Note that in Numpy, matrix-matrix and matrix-vector products are realized by the dot() function. For implicit Euler, v=(x−xn)/h and so h^=h. Here mu_lambda stores μλkn​ for each node, where the normal force magnitude λkn​ is calculated using xn at the beginning of each time step. Implementation 10.2.3 (Use mu and lambda, time_integrator.py). def step_forward(x, e, v, m, l2, k, n, o, contact_area, mu, is_DBC, h, tol): x_tilde = x + v * h # implicit Euler predictive position x_n = copy.deepcopy(x) mu_lambda = BarrierEnergy.compute_mu_lambda(x, n, o, contact_area, mu) # compute mu * lambda for each node using x^n # Newton loop Implementation 10.2.4 (Compute mu and lambda, BarrierEnergy.py). def compute_mu_lambda(x, n, o, contact_area, mu): mu_lambda = np.array([0.0] * len(x)) for i in range(0, len(x)): d = n.dot(x[i] - o) if d < dhat: s = d / dhat mu_lambda[i] = mu * -contact_area[i] * dhat * (kappa / 2 * (math.log(s) / dhat + (s - 1) / d)) return mu_lambda Since the slope is static, and the normal direction is the same everywhere, T is constant and so can be discretized accurately. Finally, we set friction coefficient μ and pass it to the time integrator where we add friction energy to model semi-implicit friction on the slope. mu = 0.11 # friction coefficient of the slope Now we are ready to test the simulation with different friction coefficients. Since our slope has an inclined angle θ with tan(θ)=0.1, we test μ=0.1, 0.11, and 0.2 ( Figure 10.2.1 ). Here we see that when μ=0.1, the critical value that provides dynamic friction forces in the same magnitude with that of the gravity component on the slope, the square keeps sliding after gaining the initial momentum ( Figure 10.2.1 top). When we set μ=0.11, right above the critical value, the square slides a while and then stopped, showing that static friction is properly resolved ( Figure 10.2.1 middle). With μ=0.2, the square stops even earlier ( Figure 10.2.1 bottom). Figure 10.2.1. With friction coefficient μ=0.1 (top), 0.11 (middle), and 0.2 (bottom), we simulate an elastic square dropped onto a slope. Except the top one that the square keeps sliding, the lower two with larger μ both end up with a static equilibrium.","breadcrumbs":"Case Study: Square On Slope* » Slope Friction » Slope Friction","id":"63","title":"Slope Friction"},"64":{"body":"In this case study, we implemented semi-implicit friction between simulated objects and a slope, accommodating arbitrary orientations and positions. Within the optimization time integration framework of IPC, friction is also modeled using potential energy. The key difference is that the normal force magnitude and tangent operator are precomputed at the start of each time step for semi-implicit discretization. In the next lecture, we will introduce moving boundary conditions. This will involve obstacles or boundary nodes moving in a prescribed manner, actively injecting dynamics into the scene.","breadcrumbs":"Case Study: Square On Slope* » Summary » Summary","id":"64","title":"Summary"},"65":{"body":"Kinematic Collision Objects (CO) and Moving Dirichlet Boundary Conditions (BC) are crucial in many simulation scenarios. A CO can be considered as a collection of BC nodes. At the start of a time step, it is ideal if the BC nodes can be moved directly to their prescribed locations without causing any interpenetrations. This allows the simulation to proceed smoothly using the Degree of Freedom (DOF) elimination method , which ensures the constraints remain feasible. However, with large time steps, high velocities, or significant deformations, directly prescribing BC nodes often leads to interpenetration or \"tunneling\" artifacts, where objects pass through each other unrealistically. To address these challenges, the penalty method is applied. This method progressively adjusts the simulation towards a feasible set where both CO and BC constraints are satisfied, and interpenetrations are avoided. A case study demonstrating these principles will be shown through the simulation of a compressed square.","breadcrumbs":"Moving Boundary Conditions* » Moving Boundary Conditions*","id":"65","title":"Moving Boundary Conditions*"},"66":{"body":"At the beginning of each time step towards time n+1, we evaluate nodal position x^kn+1​ for each BC node k based on their prescribed motions. During each Newton iteration i, for the iterate xi, we define a velocity residual to assess how close each BC node is to meeting its target: rBC,ki​=h1​∥xki​−x^kn+1​∥. When rBC,ki​ falls below a specific tolerance ϵ for any BC node k, we can fix the node at its current location xki​≈x^kn+1​ and apply the DOF elimination method in the subsequent iterations. This is particularly straightforward in scenes with only static BCs, where the DOF elimination method is directly applied. For other BC nodes k that are far from their target locations, we introduce new penalty terms to the Incremental Potential for each of these nodes: 2κM​​mk​∥xk​−x^kn+1​∥2.(11.1.1) Here, mk​ represents the nodal mass, allowing for intuitive setting of the penalty stiffness κM​, as the Hessian of the penalty term with respect to BC nodes is simply κM​ times that of the inertia term. Remark 11.1.1. For collision obstacles (CO), precisely calculating node masses is challenging due to unknown factors like density. A practical approach is to assume a density similar to that of the simulated solids in the scene. This assumption makes the diagonal entries on the Hessian of the penalty terms roughly κM​ times that of the inertia term. For codimensional COs such as shells, rods, and particles, the key is to consider a reasonably large thickness when calculating their volumes. This helps in ensuring that their physical properties align more closely with those of the main simulation bodies. Setting the penalty stiffness κM​ appropriately can be challenging. If κM​ is set too low, it may not effectively move the BC node towards its target. Conversely, a too high κM​ can lead to numerical issues. Thus, we initially set κM​ to a reasonably large value and adaptively increase it as necessary. During the Newton solve, if there are BC nodes k where rBC,ki​≥ϵ at the point of Newton convergence, we double the penalty stiffness κM​ to 2× its current value and continue the Newton solve. This process is repeated until all BCs are satisfactorily met at convergence. Remark 11.1.2. In practice, with double precision floating-point numbers, initializing κM​ below 106 is typically sufficient, given that the Hessian of the stiff penalty terms is purely diagonal. However, if certain BCs remain unsatisfied even when κM​ is increased to above 1010, the optimization process may stall due to severe numerical errors. This stalling occurs because extremely stiff penalty terms are in conflict with the contact barriers. However, such a scenario would likely only occur under a rare CO/BC setting in a manner far more extreme than what is tested in Figure 2.3.1 .","breadcrumbs":"Moving Boundary Conditions* » Penalty Method » Penalty Method","id":"66","title":"Penalty Method"},"67":{"body":"We simulate compressing an elastic square using a ceiling. The excutable Python project for this section can be found at https://github.com/phys-sim-book/solid-sim-tutorial under the 5_mov_dirichlet folder. The ceiling in our simulation is modeled as a half-space with a downward normal vector n=(0,−1). The distance from the ceiling to other simulated Degrees of Freedom (DOFs) can be calculated using Equation (7.1.1) . To effectively apply the penalty method, it's necessary that the ceiling's height also serves as a DOF. Following the approach used in the Square on Slope project, we choose the origin o on the ceiling as the DOF and incorporate it into the variable x: Implementation 11.2.1 (Ceiling DOF setup, simulator.py). [x, e] = square_mesh.generate(side_len, n_seg) # node positions and edge node indices\nx = np.append(x, [[0.0, side_len * 0.6]], axis=0) # ceil origin (with normal [0.0, -1.0]) The ceiling is initially positioned directly above the elastic square, as shown in the left image of Figure 11.2.1 . By doing so, we ensure that the nodal mass of this newly added DOF is consistent with the other simulated nodes on the square, as per our implementation. With this additional DOF, we can straightforwardly model the contact between the ceiling and the square. This is done by enhancing the existing functions that compute the barrier energy value, gradient, Hessian, and the initial step size: Implementation 11.2.2 (Barrier energy value, BarrierEnergy.py). n = np.array([0.0, -1.0]) for i in range(0, len(x) - 1): d = n.dot(x[i] - x[-1]) if d < dhat: s = d / dhat sum += contact_area[i] * dhat * kappa / 2 * (s - 1) * math.log(s) Implementation 11.2.3 (Barrier energy gradient, BarrierEnergy.py). n = np.array([0.0, -1.0]) for i in range(0, len(x) - 1): d = n.dot(x[i] - x[-1]) if d < dhat: s = d / dhat local_grad = contact_area[i] * dhat * (kappa / 2 * (math.log(s) / dhat + (s - 1) / d)) * n g[i] += local_grad g[-1] -= local_grad Implementation 11.2.4 (Barrier energy Hessian, BarrierEnergy.py). n = np.array([0.0, -1.0]) for i in range(0, len(x) - 1): d = n.dot(x[i] - x[-1]) if d < dhat: local_hess = contact_area[i] * dhat * kappa / (2 * d * d * dhat) * (d + dhat) * np.outer(n, n) index = [i, len(x) - 1] for nI in range(0, 2): for nJ in range(0, 2): for c in range(0, 2): for r in range(0, 2): IJV[0].append(index[nI] * 2 + r) IJV[1].append(index[nJ] * 2 + c) IJV[2] = np.append(IJV[2], ((-1) ** (nI != nJ)) * local_hess[r, c]) Implementation 11.2.5 (Initial step size calculation, BarrierEnergy.py). n = np.array([0.0, -1.0]) for i in range(0, len(x) - 1): p_n = (p[i] - p[-1]).dot(n) if p_n < 0: alpha = min(alpha, 0.9 * n.dot(x[i] - x[-1]) / -p_n) Here for the distance between the ceiling o and a node x, we have the stacked quantities locally: d(x,o)=nT(x−o),∇d(x,o)=[n−n​],∇2d(x,o)=0. Now we apply the moving BC on the ceiling to compress the elastic square. We set the ceiling's DOF, identified by the node index (n_seg+1)*(n_seg+1), as the sole Dirichlet Boundary Condition (DBC) in this scene. We assign it a downward velocity of (0,−0.5). The movement is stopped when the ceiling reaches a height of −0.6: Implementation 11.2.6 (DBC setup, simulator.py). DBC = [(n_seg + 1) * (n_seg + 1)] # dirichlet node index\nDBC_v = [np.array([0.0, -0.5])] # dirichlet node velocity\nDBC_limit = [np.array([0.0, -0.6])] # dirichlet node limit position Then we implement the penalty term according to Equation (11.1.1) , which is essentially a quadratic spring energy for controlling the motion of the ceiling: Implementation 11.2.7 (Spring energy computation, SpringEnergy.py). import numpy as np def val(x, m, DBC, DBC_target, k): sum = 0.0 for i in range(0, len(DBC)): diff = x[DBC[i]] - DBC_target[i] sum += 0.5 * k * m[DBC[i]] * diff.dot(diff) return sum def grad(x, m, DBC, DBC_target, k): g = np.array([[0.0, 0.0]] * len(x)) for i in range(0, len(DBC)): g[DBC[i]] = k * m[DBC[i]] * (x[DBC[i]] - DBC_target[i]) return g def hess(x, m, DBC, DBC_target, k): IJV = [[0] * 0, [0] * 0, np.array([0.0] * 0)] for i in range(0, len(DBC)): for d in range(0, 2): IJV[0].append(DBC[i] * 2 + d) IJV[1].append(DBC[i] * 2 + d) IJV[2] = np.append(IJV[2], k * m[DBC[i]]) return IJV Next, we focus on optimizing with the spring energies while properly handling the convergence check and penalty stiffness adjustments. At the start of each time step, the target position for each DBC node is computed, and the penalty stiffness, kM​, is initialized to 10. If certain nodes reach their preset limit, we then set the target as their current position: Implementation 11.2.8 (DBC initialization, time_integrator.py). DBC_target = [] # target position of each DBC in the current time step for i in range(0, len(DBC)): if (DBC_limit[i] - x_n[DBC[i]]).dot(DBC_v[i]) > 0: DBC_target.append(x_n[DBC[i]] + h * DBC_v[i]) else: DBC_target.append(x_n[DBC[i]]) DBC_stiff = 10 # initialize stiffness for DBC springs Entering the Newton loop, in each iteration, just before computing the search direction, we assess how many DBC nodes are close enough to their target positions. We store these results in the variable DBC_satisfied: Implementation 11.2.9 (DBC satisfaction check, time_integrator.py). # check whether each DBC is satisfied DBC_satisfied = [False] * len(x) for i in range(0, len(DBC)): if LA.norm(x[DBC[i]] - DBC_target[i]) / h < tol: DBC_satisfied[DBC[i]] = True Then we only eliminate the DOFs of those DBC nodes that already satisfy the boundary condition: Implementation 11.2.10 (DOF elimination, time_integrator.py). # eliminate DOF if it's a satisfied DBC by modifying gradient and Hessian for DBC: for i, j in zip(*projected_hess.nonzero()): if (is_DBC[int(i / 2)] & DBC_satisfied[int(i / 2)]) | (is_DBC[int(j / 2)] & DBC_satisfied[int(i / 2)]): projected_hess[i, j] = (i == j) for i in range(0, len(x)): if is_DBC[i] & DBC_satisfied[i]: reshaped_grad[i * 2] = reshaped_grad[i * 2 + 1] = 0.0 return [spsolve(projected_hess, -reshaped_grad).reshape(len(x), 2), DBC_satisfied] The BC satisfaction information stored in DBC_satisfied is also used to check convergence and update kM​ when needed: Implementation 11.2.11 (Convergence criteria, time_integrator.py). [p, DBC_satisfied] = search_dir(x, e, x_tilde, m, l2, k, n, o, contact_area, (x - x_n) / h, mu_lambda, is_DBC, DBC, DBC_target, DBC_stiff, tol, h) while (LA.norm(p, inf) / h > tol) | (sum(DBC_satisfied) != len(DBC)): # also check whether all DBCs are satisfied print('Iteration', iter, ':') print('residual =', LA.norm(p, inf) / h) if (LA.norm(p, inf) / h <= tol) & (sum(DBC_satisfied) != len(DBC)): # increase DBC stiffness and recompute energy value record DBC_stiff *= 2 E_last = IP_val(x, e, x_tilde, m, l2, k, n, o, contact_area, (x - x_n) / h, mu_lambda, DBC, DBC_target, DBC_stiff, h) Now, we proceed to run the simulation, which involves severely compressing the dropped elastic square as depicted in ( Figure 11.2.1 ). From the final static frame, we observe that the elastic springs on the edges are inverted due to extreme compression. This artifact is typical in mass-spring models of elasticity. In future chapters, we will explore how applying finite-element discretization to barrier-type elasticity models, such as the Neo-Hookean model, can prevent such issues. That approach is akin to the enforcement of non-interpenetrations in our current simulations. Figure 11.2.1. A square is dropped onto the ground and compressed by a ceiling until inverted.","breadcrumbs":"Moving Boundary Conditions* » Case Study: Compressing Square* » Case Study: Compressing Square","id":"67","title":"Case Study: Compressing Square"},"68":{"body":"We introduced the penalty method for handling moving boundary conditions while preventing interpenetrations. The key strategies involved are: Augmenting the Incremental Potential with additional spring energies on the DBC nodes; Adaptively increasing the penalty stiffness as required; Eliminating DOFs for those BC nodes that are sufficiently close to their targets; and Ensuring all BCs are satisfied at the point of convergence. To address the inversion artifact observed in our case study of compressing mass-spring elastic squares, the application of barrier-type elasticity energies is essential. Our penalty method for moving BCs plays a crucial role when these energies are applied, as directly prescribing BC nodes can still lead to inversion. In the next chapter, we will explore hyperelasticity models, which are preferred over mass-spring systems in practical applications.","breadcrumbs":"Moving Boundary Conditions* » Summary » Summary","id":"68","title":"Summary"},"69":{"body":"In previous case studies, we've relied on the mass-spring model to simulate the elastic behaviors of solids. This model approximates 2D and 3D elasticity by connecting multiple springs in various directions, each responding only to stretch and compression. However, this simple approximation often fails to capture the complexities of real-world phenomena. Starting with this lecture, we will delve into the mathematical description of deformation and introduce a more rigorous approach to modeling elasticity for continuum bodies. When discussing continuum bodies or continuum mechanics, we operate under the continuum assumption . This perspective treats materials—whether solid, liquid, or gas—as continuous entities, avoiding the need to account for microscopic interactions between molecules and atoms. This assumption is not only practical in engineering and graphics applications but is also prevalent in everyday scenarios. In graphics simulations, the continuum assumption applies to a wide range of materials, including deformable objects (both elastic and plastic), muscle, flesh, cloth, hair, liquids, smoke, gas, and granular materials like sand, snow, mud, and soil. In continuum mechanics, properties such as density, velocity, and force are defined as continuous functions of position. We have explored their discrete counterparts in the Discrete Space and Time section. Equations of motion, based on Newton's 2nd law, are solved within the spatial domain and evolved over time to simulate the dynamic behaviors of these materials.","breadcrumbs":"Kinematics Theory » Kinematics Theory","id":"69","title":"Kinematics Theory"},"7":{"body":"Newton's second law lays the foundation for a series of Ordinary Differential Equations (ODEs) expressed in their continuous forms. This is analogous to how we previously used sampled points in space to discretely represent continuous geometries. Now, we take a similar approach but in the realm of time. By sampling points in time, we can effectively represent time derivatives, such as \\(\\frac{\\mathbf{d} x}{\\mathbf{d} t}\\) and \\(\\frac{\\mathbf{d} v}{\\mathbf{d} t}\\). Definition 1.3.1 (Time Integration). When discretizing time into fixed small intervals, we denote the time at the \\(n\\)-th step as \\(t^n\\), commonly referred to as a timestep . The length of this interval, or timestep size , is given by \\(\\Delta t = t^{n+1} - t^n\\). The timestep count, \\(n\\), is typically a whole number starting from zero, making \\(t^0=0 s\\) the starting point of a simulation. The concept of timesteps leads to the introduction of symbols \\(x^n\\), \\(v^n\\), and \\(f^n\\) to represent the positions, velocities, and forces of nodes at the \\(n\\)-th timestep, respectively. The term timestepping , or time integration, refers to the process of calculating \\(x^{n+1}, v^{n+1}\\) from \\(x^n, v^n\\) at each incremental timestep \\(n=0,1,2,\\dots\\). For a visual demonstration, consider an Armadillo slingshot animation. Each frame in this animation is computed progressively from left to right, as illustrated in the figure below. In this context, timestepping mirrors a cinematic progression, revealing the evolving dynamics of a system in a step-by-step manner. Figure 1.3.1. Armadillo slingshot frame by frame In the context of this book and the simulation scenarios we examine, a crucial assumption must be emphasized: we always possess exact knowledge of the initial values \\(x^0\\) and \\(v^0\\) at the start of our simulation. Furthermore, for each timestep, we either have a method to calculate \\(f^n\\) based on a physical model, or we have its precise value readily available, as with a constant force such as gravity. This assumption is fundamental to our approach, ensuring that simulations are grounded in known initial conditions and forces, thereby allowing for more accurate and reliable outcomes.","breadcrumbs":"Discrete Space and Time » Time Integration » Time Integration","id":"7","title":"Time Integration"},"70":{"body":"Kinematics is the study of motion within continuum materials, focusing primarily on the changes in shape or deformation that occur, whether locally or globally, across different coordinate systems. The aim is to describe motion both qualitatively and quantitatively, which is crucial for deriving the governing equations of dynamics and mechanical responses. Notably, kinematics can often be described without the need to introduce concepts like force, stress, or even mass. In continuum mechanics, deformation is typically represented through three key components: Material (or undeformed) space X : This represents the initial position of any point in the material. World (or deformed) space x : This indicates the current position of any point. Deformation map ϕ(X,t) : This function maps points from the material space to the world space, showing how the position of material points changes over time. At the initial time t=0, the material space X and the world space x coincide, meaning every point starts at its undeformed position. Definition 12.1.1 (Deformation/Flow Map). The motion of material in continuum mechanics is determined by a mapping ϕ(⋅,t):Ω0→Ωt, where Ω0,Ωt⊂Rd and d=2 or 3 represents the dimension of the simulated problem (or domain). This mapping, often referred to as the flow map or the deformation map, is crucial in understanding how material points move over time. Material Points X : Points in the set Ω0 are known as material points and are designated as X. Current Locations x : Points in Ωt represent the location of material points at time t, and are referred to as x. The deformation map ϕ describes the trajectory of each material point X∈Ω0 throughout time, expressed as: x=x(X,t)=ϕ(X,t). Example 12.1.1. If our object is moving with a constant speed v along direction n, then we have x=X+tvn.(12.1.1) If an object undergoes some rigid motion after time t (compared to time 0), we will have x=RX+b,(12.1.2) where R is a rotation matrix, and b is some translation. R and b will likely be functions of time t and the initial position X, depending on the actual motion. The mapping ϕ can be used to quantify relevant continuum-based physics. For example, the velocity of a given material point X at time t is V(X,t)=∂t∂ϕ​(X,t),(12.1.3) and the acceleration is A(X,t)=∂t2∂2ϕ​(X,t)=∂t∂V​(X,t).(12.1.4) That is, V(⋅,t):Ω0→Rd and A(⋅,t):Ω0→Rd. Remark 12.1.1. In the above, the velocity V and acceleration A are defined from the Lagrangian perspective. This means that both velocity and acceleration are functions of the material configuration X and time t, focusing on specific particles within the material. Physically, this implies that these measurements pertain to particles that have their own mass and have occupied some volume from the beginning of the simulation. The Lagrangian view is particularly valuable for tracking individual particle dynamics over time, offering detailed insights into how particles move, accelerate, and interact within the material under various conditions.","breadcrumbs":"Kinematics Theory » Continuum Motion » Continuum Motion","id":"70","title":"Continuum Motion"},"71":{"body":"We have X and x as material coordinates and world coordinates, respectively, each associated with domains Ω0​ and Ωt​. For any point X within Ω0​, the mapping function ϕ transports it to Ωt​ at a specific time t, represented as x=ϕ(X,t). Definition 12.2.1 (Deformation Gradient). The Jacobian of the deformation map ϕ is referred to as the deformation gradient and is crucial in describing the physics of elasticity. It is commonly denoted as F and defined by the relation: F(X,t)=∂X∂ϕ​(X,t)=∂X∂x​(X,t). Discretely, this Jacobian often takes the form of a small 2×2 or 3×3 matrix. For materials like cloth or thin shells in 3D, F might be a 3×2 matrix, reflecting the 2D nature of the material space. Thus, F(⋅,t):Ω0→Rd×d maps every material point X to a Rd×d matrix that describes the deformation Jacobian at time t. Using index notation, it can be expressed as: Fij​=∂Xj​∂ϕi​​=∂Xj​∂xi​​,i,j=1,…,d. We can compute the deformation gradient for the deformation map specified in Equation (12.1.1) , where the result is the identity matrix. Similarly, for the deformation map in Equation (12.1.2) , the deformation gradient F equals R. In both cases, the object does not undergo real deformation; these are merely examples of rigid transformations. Such deformation gradients should not lead to any internal forces within the material unless artistic effects are intentionally being pursued (such as in a cartoon). Figure 12.2.1 (Deformation gradient). Example 12.2.1. Intuitively, the deformation gradient F indicates the extent of local deformation within a material. Consider two nearby points, x10​ and x20​, embedded in the material at the start of the simulation (as illustrated in Figure 12.2.1 ). If x1​ and x2​ represent these points in the current configuration, the relationship between these points can be expressed as: (x2​−x1​)=F(x20​−x10​). This equation shows how the deformation gradient transforms the initial distance between the points into their current separation, thus quantifying the local deformation. The determinant of the deformation gradient F, commonly denoted by J, is crucial because it characterizes the infinitesimal volume change during deformation. This is expressed as J=det(F). The value of J represents the ratio of the infinitesimal volume of the material in the deformed configuration Ωt to its original volume in Ω0. For instance, in rigid motions, which include rotations and translations, F is a rotation matrix and therefore J=1. Notably, the identity matrix, being a rotation matrix, also results in J=1. If J>1, it indicates a volume increase, whereas J<1 indicates a decrease. A situation where J=0 suggests that the volume has effectively become zero, a scenario that is impossible in the real world but can occur numerically. In 3D, this indicates that the material is compressed to such an extent that it might collapse into a plane, line, or even a point without volume. Conversely, J<0 indicates material inversion. For example, in 2D, if J<0 for a triangle, it implies that one vertex has passed through the opposing edge, effectively 'inverting' the triangle and making its area negative. As seen in the Moving Boundary Conditions section, severe compression of an elastic square can lead to inversions. In such cases, J serves as a direct measure of this artifact and is utilized in many elasticity models to ensure simulations are free from inversions.","breadcrumbs":"Kinematics Theory » Deformation » Deformation","id":"71","title":"Deformation"},"72":{"body":"Defining the flow map which transforms continuum bodies from the material space (initial configuration) to the world space (current configuration), we introduced a mathematical description of the change in shapes -- the deformation gradient F∈Rd×d (d=2 or 3), which is the Jacobian of the flow map with respect to X. When F at a certain point on the continuum body is a rotation matrix, it indicates there is no deformation and, consequently, no local elasticity forces should be present. In the next lecture, we will explore how to define more realistic elastic potential energies using the deformation gradient.","breadcrumbs":"Kinematics Theory » Summary » Summary","id":"72","title":"Summary"},"73":{"body":"With the deformation gradient F serving as a rigorous mathematical measure of local deformation, we can define the elastic potential energy based on F to more accurately capture the elastic behaviors of solids. F is measured at every local point within the solid domain. We would measure the elastic potential locally for each point and then integrate these measurements across the entire domain. This approach mirrors the process used in the 2D Mass Spring case study, where the energy of each spring, weighted by an estimated volume, was summed up in a discrete setting. Here, F is also known as strain , and the elastic potential Pe​, referred to as strain energy , is derived from integrating strain energy density functions Ψ(F):Rd×d→R at each material point within the solid domain: Pe​=∫Ω0​​Ψ(F)dX. In this lecture, we will explore various design choices of Ψ(F) and examine some of their properties.","breadcrumbs":"Strain Energy » Strain Energy","id":"73","title":"Strain Energy"},"74":{"body":"As mentioned in the previous lecture, for a solid undergoing only translational and/or rotational motions, no elastic potential energy is stored, and thus no elasticity force is exerted. This implies that any strain energy density functions Ψ(F) have a rigid null space , meaning that Ψ(F) should remain 0 if the input deformation gradient is any rotation matrix R: Ψ(F)=0∀ F=R. A square matrix F is a rotation matrix if and only if: FT=F−1andJ≡det(F)=1. From this definition, a straightforward formulation for Ψ(F) emerges, penalizing any deviation of F from being a rotation matrix with quadratic terms: Ψ(F)=4μ​∥FTF−I∥F2​+2λ​(J−1)2.(13.1.1) Here, μ and λ are the stiffness parameters, with the first term derived from right-multiplying F to both sides of FT=F−1. This intuitive formulation closely aligns with how many standard strain energy density functions are constructed. Definition 13.1.1 (Neo-Hookean Elasticity). The Neo-Hookean elasticity model is characterized by the following energy density function: ΨNH​(F)=2μ​(tr(FTF)−d)−μln(J)+2λ​ln2(J).(13.1.2) Taking the derivative of ΨNH​(F) with respect to F, we obtain: ∂F∂Ψ​(F)=μ(F−F−T)+λln(J)F−T. From this gradient, it is evident that the μ-term achieves a local minimum when F−F−T=0 (i.e., FT=F−1), and for the λ-term, the local minimum occurs at J=1. Definition 13.1.2 (Lame Parameters). In standard strain energy density functions, the stiffness parameters μ and λ are known as Lame parameters. These parameters are directly related to the Young's modulus E, which measures resistance to stretching, and the Poisson's ratio ν, which measures the incompressibility of the solid: μ=2(1+ν)E​,λ=(1+ν)(1−2ν)Eν​. Definition 13.1.3 (Rotation Invariance). The energy density function for any nonlinear elastic model is rotation invariant. Mathematically, this is expressed as: Ψ(F)=Ψ(RF)∀ F∈Rd×d and d×d rotation matrix R.(13.1.3) Intuitively, this means that any rotations applied after deformation should not alter the value of the strain energy density function. However, the simplest strain energy density function, linear elasticity , does not include rigid modes in its null space nor does it satisfy Equation (13.1.3) . This is because linear elasticity is specifically designed for infinitesimal strains , where no significant rotations are involved. Definition 13.1.4 (Linear Elasticity). Linear elasticity has the energy density function Ψlin​(F)=μ∥ϵ∥F2​+2λ​tr2(ϵ).(13.1.4) Here ϵ=21​(F+FT)−I is the small strain tensor , and we see that Ψlin​(F) is a quadratic function of F. Notably, the linear elasticity model with the corresponding Lame parameters is calibrated to real-world experiments under conditions of small deformations. In such circumstances, all standard strain energy density functions must align with linear elasticity. The consistency between these models and linear elasticity will be concisely demonstrated after we introduce the polar singular value decomposition of F in the next section. Rotation invariance (Equation (13.1.3) ) should not be confused with the isotropic property of certain elastic models. Definition 13.1.5 (Isotropic Elasticity). The energy density function of isotropic elastic models satisfies Ψ(F)=Ψ(FR)∀ F∈Rd×d and d×d rotation matrix R.(13.1.5) This implies that the same amount of stretch in any direction results in the same energy change. Consequently, there are no special directions in which the material is harder or easier to deform than others. Neo-Hookean (Equation (13.1.2) ) and our intuitive model (Equation (13.1.1) ) are both examples of isotropic models. However, linear elasticity (Equation (13.1.4) ) does not meet this condition (Equation (13.1.5) ), as it is not designed to handle rotational motions effectively. For anisotropic elastic models , the resistance to stretch varies depending on the direction. Materials such as cloth, bones, muscles and wood are examples of anisotropic materials, exhibiting different mechanical properties in different directions.","breadcrumbs":"Strain Energy » Rigid Null Space and Rotation Invariance » Rigid Null Space and Rotation Invariance","id":"74","title":"Rigid Null Space and Rotation Invariance"},"75":{"body":"When discussing general slip boundary conditions , we introduced the usage of singular value decomposition (SVD). Here, we apply a variant known as Polar SVD ( Algorithm 13.2.1 ) to decompose F: F=UΣVT, where U and V are both d×d rotation matrices, and Σ is a d×d diagonal matrix. Unlike standard SVD, which ensures Σii​ remains non-negative possibly at the expense of having det(U)=−1 or det(V)=−1, Polar SVD maintains det(U)=1 and det(V)=1, allowing Σii​ to be negative if necessary. Polar SVD is named for its relation to Polar decomposition, where F is expressed as RS. This decomposition can be reconstructed via R=UVT and S=VΣVT, with R representing the closest rotation to F and S being symmetric. Algorithm 13.2.1 (Polar SVD from Standard SVD). The Polar SVD of F offers a more intuitive way to understand deformation. If we denote σi​=Σii​, referred to as the principal stretches , we can conceptualize F as comprising a sequence of transformations. Initially, there is a rotation by VT, followed by scaling the dimensions by σi​ along each axis, and concluding with another rotation by U. This decomposition is applicable for all possible F. Polar SVD also allows for the more convenient expression of isotropic strain energy density functions using σi​ exclusively. For instance, our intuitive formulation in Equation (13.1.1) can be reframed as: Ψ(F)=Ψ^(Σ)=4μ​i=1∑d​(σi2​−1)2+2λ​(i=1∏d​σi​−1)2, where J=∏i=1d​σi​=σ1​⋅σ2​⋅…⋅σd​. Moreover, the Neo-Hookean strain energy density function (Equation (13.1.2) ) can be rewritten as: ΨNH​(F)=Ψ^NH​(Σ)=2μ​(i=1∑d​σi2​−d)−μln(J)+2λ​ln2(J). These two models are both consistent with linear elasticity under small deformation. Definition 13.2.1 (Consistency to Linear Elasticity). To verify the consistency to linear elasticity of a strain energy density function Ψ(F), we just need to check whether the following relations all hold: Ψ^(I)=0,∂σi​∂Ψ^​(I)=0,and∂σi​∂σj​∂2Ψ^​(I)=2μδij​+λ. Here 1≤i,j≤d, and δij​=1 if i=j, otherwise it is 0.","breadcrumbs":"Strain Energy » Polar Singular Value Decomposition » Polar Singular Value Decomposition","id":"75","title":"Polar Singular Value Decomposition"},"76":{"body":"Definition 13.3.1 (Corotated Linear Elasticity). To make linear elasticity rotation-aware while maintaining its simplicity, we can introduce a base rotation Rn and construct an energy density function ΨLC​(F)=Ψlin​((Rn)TF), penalizing any deviation between F and this fixed Rn. This is called corotated linear elasticity. ΨLC​(F) remains a quadratic energy with respect to F and is very useful for dynamic simulations. At the beginning of the optimization for each time step n+1, we compute Rn as the closest rotation to Fn: Rn=argRmin​∥Fn−R∥F2​s.t.RT=R−1anddet(R)=1.(13.3.1) As mentioned earlier, the solution is given by the Polar decomposition on Fn, and with Polar SVD Fn=UnΣn(Vn)T, we have Rn=Un(Vn)T. However, corotated linear elasticity is still not rotation invariant, as Rn does not change with F during the optimization. Thus, it is not suitable for large deformations. For rotation invariant elastic models, practitioners in computer graphics have been simplifying them for visual computing purposes. For example, only keeping a μ-term while ignoring the λ-term in the energy density function for more efficient computations: ΨR​(F)=4μ​∥FTF−I∥F2​,orΨARAP​(F)=μi∑d​(σi​−1)2,etc.(13.3.2) Here ΨARAP​(F) is called the As-Rigid-As-Possible (ARAP) energy, which is widely used in shape modeling, cloth simulation, and surface parameterization, etc. ΨR​(F), while being a higher-order polynomial of F compared to ARAP, can be computed without performing the expensive SVDs on F. For all the strain energy density functions we have looked at in this lecture, except Neo-Hookean, all others are defined on the whole domain Rd×d. Neo-Hookean energy density function is defined on {F ∣ F∈Rd×d, det(F)>0}. Just like the barrier energy to prevent interpenetrations in IPC, ΨNH​(F) is also a barrier energy, which goes to infinity as det(F) approaches 0, providing arbitrarily large elastic forces to prevent inversion (det(F)≤0). Strain energy density functions allowing det(F)≤0 are also called invertible elasticity models . They are easy to deal with (no need for line search filtering), but do not guarantee non-inversion. Designing an invertible elastic energy that provides reasonably large resistance to inversion has drawn a lot of attention in computer graphics research [Stomakhin et al. 2012] [Smith et al. 2018] .","breadcrumbs":"Strain Energy » Simplified Models and Invertibility » Simplified Models and Invertibility","id":"76","title":"Simplified Models and Invertibility"},"77":{"body":"The elastic potential energy Pe​ is an integration of the strain energy density function Ψ(F) at every local point in the solid domain. From the rigid null space , we derived an intuitive formulation of the strain energy density function, similar in structure to standard models like Neo-Hookean . Nonlinear elastic models are also rotation invariant , meaning any rotations applied after the deformation F do not change Ψ. Linear elasticity features a quadratic energy density function and is specifically designed for infinitesimal strains ϵ, lacking rigid modes in its null space. Yet, with the corresponding Lame Parameters μ and λ, it can accurately capture behaviors of small deformations observed in the real world. Standard elasticity models are required to be consistent with linear elasticity under small deformations. This lecture focused on isotropic elasticity , where no special directions exist that make the material harder or easier to deform. Performing Polar SVD on F=UΣV allows us to rewrite Ψ(F) of isotropic models using only principal stretches σi​=Σii​. Using the closest rotation Rn=Un(Vn)T to Fn in the last time step, we constructed a corotated linear elasticity to make linear elasticity rotation-aware while maintaining its simplicity. Simplifying further by retaining only the μ-term enhances efficiency for visual computing. Similar to how non-interpenetrations are enforced in IPC, the energy density function of Neo-Hookean acts as a barrier function, ensuring non-inversion (det(F)>0). All other elasticity models introduced in this lecture are invertible , and they do not guarantee non-inversion. In the next lecture, we will explore the derivatives of Ψ(F) with respect to F.","breadcrumbs":"Strain Energy » Summary » Summary","id":"77","title":"Summary"},"78":{"body":"Having introduced standard strain energies, we now proceed to their differentiation with respect to the world space coordinates, x, to simulate realistic elastic behaviors. However, it's important to first establish the explicit relationship between these coordinates x and the deformation gradient F. This relationship heavily depends on specific discretization choices. Before we explore discretization in depth, we should understand how to compute the derivatives of the strain energy function, Ψ, with respect to F. These derivatives are fundamentally linked to the concept of stress, a critical element in understanding material behavior under deformation.","breadcrumbs":"Stress and Its Derivatives » Stress and Its Derivatives","id":"78","title":"Stress and Its Derivatives"},"79":{"body":"Stress is a tensor field, akin to the deformation gradient F, and is defined over the entire domain of solid materials. It quantifies the internal pressures and tensions experienced by a material object. The link between stress and strain (or F) is established through what is known as a constitutive relationship . This relationship outlines how materials respond to various deformations. A common example of a constitutive relationship is Hooke's law in one dimension, which applies to many conventional materials under elastic conditions. In the context of hyperelastic materials , the relationship is specifically defined by the strain energy function, Ψ(F). Definition 14.1.1 (Hyperelastic Materials). Hyperelastic materials are those elastic solids whose first Piola-Kirchhoff stress P can be derived from a strain energy density function Ψ(F) via P=∂F∂Ψ​.(14.1.1) With index notation, this means Pij​=∂Fij​∂Ψ​. P is discretely a small matrix with the same dimensions as F. In the study of material behavior under stress, various definitions are utilized, with Cauchy stress being particularly prevalent in engineering contexts. Cauchy stress, denoted as σ(⋅,t):Ωt→Rd×d, can be mathematically linked to the first Piola-Kirchhoff stress tensor P through the relationship: σ=J1​PFT=det(F)1​∂F∂Ψ​FT. Calculating P from the strain energy function Ψ(F) is relatively straightforward for energy models that do not require singular value decomposition (SVD), such as the Neo-Hookean model. However, general isotropic elasticity models, like ARAP (As-Rigid-As-Possible), often rely on the computation of principal stretches or the closest rotation matrix, necessitating SVD. This computation becomes particularly complex and resource-intensive when determining ∂F∂P​, which is crucial for implicit time integrations. We present an efficient method that leverages the sparsity structure, as introduced by [Stomakhin et al. 2012] , to compute the first Piola-Kirchhoff stress tensor P and its derivative ∂F∂P​ (whether as a tensor or the differential δP) for general isotropic elastic materials. This approach utilizes symbolic software packages, and we will specifically discuss the implementation in Mathematica . Implementations in Maple or other software are similarly straightforward, following the same conceptual framework. For a deeper exploration of derivative computations commonly employed in computer graphics, refer to the work of [Schroeder 2022] . It is important to note that the computational strategy discussed can also be applied to other derivatives in diagonal space, similar to ∂F∂P​. For instance, in certain models, the Kirchhoff stress τ is preferred over the first Piola-Kirchhoff stress P. The Kirchhoff stress is expressed as: τ=Uτ^UT, where τ^ is a diagonal stress measure, with each entry being a function of the singular values Σ. The methodology for computing ∂F∂τ​ mirrors that of P.","breadcrumbs":"Stress and Its Derivatives » Stress » Stress","id":"79","title":"Stress"},"8":{"body":"Explicit time integration schemes provide a direct method to calculate \\(x^{n+1},v^{n+1}\\) by substituting known values into simple formulas, which is why these are called explicit . This section focuses on two basic explicit schemes: Forward Euler and Symplectic Euler methods.","breadcrumbs":"Discrete Space and Time » Explicit Time Integration » Explicit Time Integration","id":"8","title":"Explicit Time Integration"},"80":{"body":"Let's begin with the computation of P. For isotropic materials, the first Piola-Kirchhoff stress tensor can be calculated as follows: PwhereF​=UP^VT=UΣVT,Ψ(F)=Ψ^(Σ),andP^ij​=∂σi​∂Ψ^​δij​.​(14.2.1) This formulation leverages the property that P shares the same SVD space as F, which simplifies the derivation and computation process. Example 14.2.1. For the Neo-Hookean model (Equation (13.1.2) ), we have: Ψ^NH​(Σ)=2μ​(i∑d​σi2​−d)−μln(J)+2λ​ln2(J). Thus, we can first perform SVD on F=UΣV and derive: P^ii​=μ(σi​−σi​1​)+λln(J)σi​1​ to compute ∂F∂Ψ​=P=UP^VT without symbolically deriving the derivative of Ψ w.r.t. F. Here we provide the proof that P commutes with rotations in diagonal space (see Equation (14.2.1) ). To demonstrate that P(RF)=RP(F) for any rotation matrix R, consider a generic (potentially anisotropic) material model. The key idea is that a rotation applied after deformation does not alter the material's stored energy, thus we have the identity Ψ(F)=Ψ(RF). Differentiating both sides of this equation with respect to the deformation gradient F yields: δΨP(F):δFP(F):δFP(F)RP(F)​=∂F∂Ψ​(F):δF=∂F∂Ψ​(RF):δ(RF),=P(RF):(RδF),=(RTP(RF)):δF,=RTP(RF),=P(RF).​ Furthermore, for an isotropic material where Ψ(FR)=Ψ(F), a similar argument shows that P(FR)=P(F)R. Combining these relationships for P under rotation, we establish that: P(F)=P(UΣVT)=UP(Σ)VT=UP^VT. This formulation confirms the rotational invariance of P in diagonal space.","breadcrumbs":"Stress and Its Derivatives » Computing Stress » Computing P","id":"80","title":"Computing P"},"81":{"body":"In the above, the last equality comes from the fact that P(F=Σ)=∂Σ∂Ψ^​. Here we show why this is true. (1) First, we claim that P(Σ) is diagonal. This can be seen by realizing that for isotropic elasticity, P(F)=k∑​∂Ik​∂Ψ​(F)∂F∂Ik​​(F), where Ik​ is the isotropic invariants. Following [Sifakis & Barbic 2022] (page 23), we can observe that ∂F∂Ik​​(F) when the argument F is diagonal, must be diagonal. Therefore, P(F) is diagonal when F is diagonal. (2) Next, we claim that diag(∂Fij​∂Σ​)=diag(UT∂Fij​∂F​F). This is proven in [Xu et al. 2015] (Equation 7). (3) Based on (2), we know that for any ij, after substituting F=Σ, we have diag(∂Fij​∂Σ​(Σ))=diag(IT∂Fij​∂F​(Σ)I), using this we can write out the cases for ij=11,ij=22,ij=33. For example, for ij=11, we have ∂F11​∂Σ​(Σ)=​1∗∗​∗0∗​∗∗0​​ (4) Finally, let's derive P(Σ). Since we know it is diagonal from (1), we just need to derive its diagonal entry. Let's use 11 entry as an example: Pab​(Σ)P11​(Σ)P11​(Σ)​=∂Fab​∂Ψ^​(Σ)=∂Σ∂Ψ^​(Σ):∂Fab​∂Σ​(Σ)=∂Σ∂Ψ^​(Σ):∂F11​∂Σ​(Σ)=​∂σ1​∂Ψ^​​∂σ1​∂Ψ^​​∂σ1​∂Ψ^​​​:​1∗∗​∗0∗​∗∗0​​=∂σ1​∂Ψ^​​ Now are are done with the final proof.","breadcrumbs":"Stress and Its Derivatives » Computing Stress » Additional Proof for P(Σ)=P^=∂Σ∂Ψ^​","id":"81","title":"Additional Proof for P(Σ)=P^=∂Σ∂Ψ^​"},"82":{"body":"To compute the derivative of P with respect to F, we leverage the rotational invariance property discussed earlier for P. Consider two arbitrary rotation matrices R and Q. From the rotational properties of P, we have: P(F)=P(RRTFQQT)=RP(RTFQ)QT. Define K=RTFQ, then: P(F)=RP(K)QT. Taking the differential of P, while treating R and Q as constants, gives: δP=R[∂F∂P​(K):δ(K)]QT=R[∂F∂P​(K):(RTδFQ)]QT. By setting R=U and Q=V, where K=Σ, the differential expression simplifies to: δP=U[∂F∂P​(Σ):(UTδFV)]VT. The tensorial derivative ∂P/∂F is then expressed in index notation as: (δP)ij​=Uik​(∂F∂P​(Σ))klmn​Urm​δFrs​Vsn​Vjl​,and(δP)ij​=(∂F∂P​(F))ijrs​δFrs​. These expressions must hold for any δF, leading to the relationship: (∂F∂P​(F))ijrs​=(∂F∂P​(Σ))klmn​Uik​Urm​Vsn​Vjl​. So the remaining task is computing ∂F∂P​(Σ). We show how to do it in 3D. First, let's introduce Rodrigues' rotation formula, which provides a method for expressing any rotation matrix in terms of a unit vector k and a rotation angle θ. The formula is given by: R=I+sin(θ)K+(1−cos(θ))K2,(14.3.1) where K is the skew-symmetric cross-product matrix associated with k. This formula shows that any rotation matrix is characterized by just three degrees of freedom, denoted as r1​,r2​,r3​. These components are used to define the rotation vector r, from which k and θ are derived as follows: k=∣r∣r​,θ=∣r∣. Using this parameterization, rotation matrices U and V can each be described by three parameters. Now we have the following code for defining F in terms of s1, s2, s3, u1, u2, u3, v1, v2, v3, where U and V are defined by ui​ and vi​ with Rodrigues' rotation formula, si​ are the singular values from Σ. id=IdentityMatrix[3];\nvar={s1,s2,s3,u1,u2,u3,v1,v2,v3};\nSigma=DiagonalMatrix[{s1,s2,s3}];\ncp[k1_,k2_,k3_]={{0,-k3,k2},{k3,0,-k1},{-k2,k1,0}};\nvV={v1,v2,v3};\nvU={u1,u2,u3};\nnv=Sqrt[Dot[vV,vV]];\nnu=Sqrt[Dot[vU,vU]];\nUU=cp[u1,u2,u3]/nu;\nVV=cp[v1,v2,v3]/nv;\nU=id+Sin[nu]*UU+(1-Cos[nu])*UU.UU;\nV=id+Sin[nv]*VV+(1-Cos[nv])*VV.VV;\nF=U.Sigma.Transpose[V]; where cp is a function for generating the cross-product matrix (corresponding to computing K in Equation (14.3.1) ). From now on, we write the 3×3×3×3 tensor ∂F∂P​(Σ) and any other such tensors to 9×9 matrices. That means each 3×3 matrix is now a size-9 vector. It is easy to see the old ∂Fkl​∂Pij​​ is now ∂F3(k−1)+l​∂P3(i−1)+j​​. We further call vector S={s1,s2,s3,u1,u2,u3,v1,v2,v3} being the parametrization of F. Then we can apply the chain rule ∂F∂P​(Σ)=∂S∂P​(Σ)∂F∂S​(Σ) Here are the Mathematica code for computing them. Note that we achieve F=Σ by taking the limit {u1,u2,u3,v1,v2,v3}=+ϵ, which correspond to nearly zero rotations. dFdS=D[Flatten[F],{var}];\ndFdS0=dFdS/.{u1->e,u2->e,u3->e,v1->e,v2->e,v3->e};\ndFdS1=Limit[dFdS0,e->0,Direction->-1];\ndSdF0=Inverse[dFdS1];\nPhat=DiagonalMatrix[{t1[s1,s2,s3],t2[s1,s2,s3],t3[s1,s2,s3]}];\nP=U.Phat.Transpose[V];\ndPdS=D[Flatten[P],{var}];\ndPdS0=dPdS/.{u1->e,u2->e,u3->e,v1->e,v2->e,v3->e};\ndPdS1=Limit[dPdS0,e->0,Direction->-1];\ndPdF=Simplify[dPdS1.dSdF0]; Note 'Direction->-1' in Mathematica means taking the limit from large values to the small limit value. The Mathematica computation result will be given in terms of the singular values and P^. One can then take the formula for implementing them in the code. [Stomakhin et al. 2012] gives the result where ∂F∂P​(Σ) (size 9×9 matrix) is permuted to be a block diagonal matrix with diagonal blocks A3×3,B122×2​,B132×2​,B232×2​, where A=​Ψ^,σ1​σ1​​Ψ^,σ2​σ1​​Ψ^,σ3​σ1​​​Ψ^,σ1​σ2​​Ψ^,σ2​σ2​​Ψ^,σ3​σ2​​​Ψ^,σ1​σ3​​Ψ^,σ2​σ3​​Ψ^,σ3​σ3​​​​ and Bij​=σi2​−σj2​1​(σi​Ψ^,σi​​−σj​Ψ^,σj​​σj​Ψ^,σi​​−σi​Ψ^,σj​​​σj​Ψ^,σi​​−σi​Ψ^,σj​​σi​Ψ^,σi​​−σj​Ψ^,σj​​​). Denominator clamping is needed for terms in B that may introduce division-by-zero (after fully simplifying them). Here we denote ∂σi​∂Ψ^​ and ∂σi​∂σj​∂2Ψ^​ as Ψ^,σi​​ and Ψ^,σi​σj​​ respectively. The division by σi2​−σj2​ is problematic when two singular values are nearly equal or when two singular values nearly sum to zero. The latter is possible with a convention for permitting negative singular values (as in invertible elasticity [Irving et al. 2004] [Stomakhin et al. 2012] ). Expanding Bij​ in terms of partial fractions yields the useful decomposition Bij​=21​σi​−σj​Ψ^,σi​​−Ψ^,σj​​​(11​11​)+21​σi​+σj​Ψ^,σi​​+Ψ^,σj​​​(1−1​−11​). Note that if Ψ^ is invariant under permutation of the singular values, then Ψ^,σi​​→Ψ^,σj​​ as σi​→σj​. Thus, the first term can normally be computed robustly for an isotropic model if implemented carefully. The other fraction can be computed robustly if Ψ^,σi​​+Ψ^,σj​​→0 as σi​+σj​→0. But this usually does not hold as it means the constitutive model will have difficulty recovering from degenerate or inverted configurations. Thus, this term will be unbounded under some circumstances. We address this by clamping the magnitude of the denominator to not be smaller than 10−6 before division to bound the derivatives. For 2D, a rotation matrix is now simply paremetrized with a single θ where the reconstruction is R=(cosθsinθ​−sinθcosθ​). The 2D version of the whole Mathematica code is id=IdentityMatrix[2];\nvar={s1,s2,u1,v1};\nS=DiagonalMatrix[{s1,s2}];\nU={{Cos[u1],-Sin[u1] },{Sin[u1],Cos[u1]}};\nV={{Cos[v1],-Sin[v1]},{Sin[v1],Cos[v1]}};\nF=U.S.Transpose[V];\ndFdS=D[Flatten[F],{var}];\ndFdS0=dFdS/.{u1->e,v1->e};\ndFdS1=Limit[dFdS0,e->0,Direction->-1};\ndSdF0=Inverse[dFdS1];\nPhat=DiagonalMatrix[{t1[s1,s2],t2[s1,s2]}];\nP=U.Phat.Transpose[V];\ndPdS=D[Flatten[P],{var}];\ndPdS0=dPdS/.{u1->e,v1->e};\ndPdS1=Limit[dPdS0,e->0,Direction->-1];\ndPdF=Simplify[dPdS1.dSdF0]; where A is now also 2×2 and there is only one B.","breadcrumbs":"Stress and Its Derivatives » Computing Stress Derivatives » Computing ∂P/∂F or δP","id":"82","title":"Computing ∂P/∂F or δP"},"83":{"body":"Stress is a tensor field that quantifies the pressure or tension exerted on a material object. In the context of hyperelastic materials, the first Piola-Kirchhoff stress tensor P plays a crucial role. It is defined as the derivative of the strain energy density function Ψ, with respect to the deformation gradient F, establishing a constitutive relationship between stress and strain. In practical computations, particularly for the implicit integration of solid dynamics , it is essential to compute P and its derivative ∂F∂P​ efficiently. By leveraging the sparsity structure in diagonal space, these computations become more feasible. Here, differentiations are primarily required for Ψ with respect to the principal stretches σi​, which simplifies the calculation process. In the upcoming lecture, we will apply these principles to an inversion-free elasticity model , which will be demonstrated through the compressing square simulation . This application will use the concepts discussed in this chapter to address complex real-world problems in solid mechanics.","breadcrumbs":"Stress and Its Derivatives » Summary » Summary","id":"83","title":"Summary"},"84":{"body":"At the end of this chapter, we implement the Neo-Hookean model introduced in the previous lectures to simulate inversion-free elastic solids. The excutable Python project for this section can be found at https://github.com/phys-sim-book/solid-sim-tutorial under the 6_inv_free folder. Instead of discretizing elasticity onto the springs as in the mass-spring model, we discretize the Neo-Hookean model onto triangle elements, apply chain rules to compute elastic forces according to the relation between deformation gradient F and world-space nodal position x, and then develop a root-finding based approach to filter the initial step size of line search for guaranteed non-inversion.","breadcrumbs":"Case Study: Inversion-free Elasticity* » Case Study: Inversion-free Elasticity*","id":"84","title":"Case Study: Inversion-free Elasticity*"},"85":{"body":"In previous discussions, we learned to calculate Ψ and its derivatives with respect to F. For simulation, however, we require ∂x∂Ψ​ and ∂x2∂2Ψ​. This necessitates a clear understanding of F(x), as it allows us to employ the chain rule to derive these derivatives with respect to x effectively. In 2D simulations, we often divide the solid domain into non-degenerate triangular elements. Assume the mapping x=ϕ(X) is linear within each triangle, thus keeping the deformation gradient F constant. Referencing Example 12.2.1 , for a triangle defined by vertices X1​X2​X3​, we have the equations: x2​−x1​=F(X2​−X1​)andx3​−x1​=F(X3​−X1​), where xi​ denotes the world-space coordinates of the triangle vertices. This relationship leads to the expression for F: F=[x2​−x1​,x3​−x1​][X2​−X1​,X3​−X1​]−1.(15.1.1) Equation (15.1.1) shows that F, derived here, maps any segment within the triangle to its world-space counterpart through linear combinations of the triangle edges X2​−X1​ and X3​−X1​. A more general and rigorous derivation of this formula will be presented in subsequent chapters. Once F(x) is established, we can calculate its derivative with respect to x for each triangle as follows: ∂[x1T​,x2T​,x3T​]T∂[F11​,F21​,F12​,F22​]T​=​−B11​−B21​0−B12​−B22​0​0−B11​−B21​0−B12​−B22​​B11​0B12​0​0B11​0B12​​B21​0B22​0​0B21​0B22​​​, where B=[X2​−X1​,X3​−X1​]−1 represents the inverse of the matrix formed by subtracting the first vertex from the second and third vertices. This matrix B can be precomputed at initialization along with other properties such as the volume and Lame parameters of each triangle: Implementation 15.1.1 (Precomputation of element information, simulator.py). # rest shape basis, volume, and lame parameters\nvol = [0.0] * len(e)\nIB = [np.array([[0.0, 0.0]] * 2)] * len(e)\nfor i in range(0, len(e)): TB = [x[e[i][1]] - x[e[i][0]], x[e[i][2]] - x[e[i][0]]] vol[i] = np.linalg.det(np.transpose(TB)) / 2 IB[i] = np.linalg.inv(np.transpose(TB))\nmu_lame = [0.5 * E / (1 + nu)] * len(e)\nlam = [E * nu / ((1 + nu) * (1 - 2 * nu))] * len(e) The Young's modulus and Poisson's ratio: E = 1e5 # Young's modulus\nnu = 0.4 # Poisson's ratio Here, e no longer stores all edge elements as in mass-spring models but represents all triangle elements, which can be generated by modifying the meshing code as follows: Implementation 15.1.2 (Assembling per-triangle vertex indices, square_mesh.py). # connect the nodes with triangle elements e = [] for i in range(0, n_seg): for j in range(0, n_seg): # triangulate each cell following a symmetric pattern: if (i % 2)^(j % 2): e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j, i * (n_seg + 1) + j + 1]) e.append([(i + 1) * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j + 1, i * (n_seg + 1) + j + 1]) else: e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j + 1]) e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j + 1, i * (n_seg + 1) + j + 1]) Triangles are arranged in a symmetric pattern and can be rendered by drawing the three edges: Implementation 15.1.3 (Draw triangles, simulator.py). pygame.draw.aaline(screen, (0, 0, 255), screen_projection(x[eI[0]]), screen_projection(x[eI[1]])) pygame.draw.aaline(screen, (0, 0, 255), screen_projection(x[eI[1]]), screen_projection(x[eI[2]])) pygame.draw.aaline(screen, (0, 0, 255), screen_projection(x[eI[2]]), screen_projection(x[eI[0]]))","breadcrumbs":"Case Study: Inversion-free Elasticity* » Linear Triangle Elements » Linear Triangle Elements","id":"85","title":"Linear Triangle Elements"},"86":{"body":"We first follow sections Strain Energy and Stress and Its Derivatives to implement computing Ψ(F), P=∂F∂Ψ​, and SPD-projected ∂F∂P​: Implementation 15.2.1 (Energy derivatives w.r.t. F, NeoHookeanEnergy.py). import utils\nimport numpy as np\nimport math def polar_svd(F): [U, s, VT] = np.linalg.svd(F) if np.linalg.det(U) < 0: U[:, 1] = -U[:, 1] s[1] = -s[1] if np.linalg.det(VT) < 0: VT[1, :] = -VT[1, :] s[1] = -s[1] return [U, s, VT] def dPsi_div_dsigma(s, mu, lam): ln_sigma_prod = math.log(s[0] * s[1]) inv0 = 1.0 / s[0] dPsi_dsigma_0 = mu * (s[0] - inv0) + lam * inv0 * ln_sigma_prod inv1 = 1.0 / s[1] dPsi_dsigma_1 = mu * (s[1] - inv1) + lam * inv1 * ln_sigma_prod return [dPsi_dsigma_0, dPsi_dsigma_1] def d2Psi_div_dsigma2(s, mu, lam): ln_sigma_prod = math.log(s[0] * s[1]) inv2_0 = 1 / (s[0] * s[0]) d2Psi_dsigma2_00 = mu * (1 + inv2_0) - lam * inv2_0 * (ln_sigma_prod - 1) inv2_1 = 1 / (s[1] * s[1]) d2Psi_dsigma2_11 = mu * (1 + inv2_1) - lam * inv2_1 * (ln_sigma_prod - 1) d2Psi_dsigma2_01 = lam / (s[0] * s[1]) return [[d2Psi_dsigma2_00, d2Psi_dsigma2_01], [d2Psi_dsigma2_01, d2Psi_dsigma2_11]] def B_left_coef(s, mu, lam): sigma_prod = s[0] * s[1] return (mu + (mu - lam * math.log(sigma_prod)) / sigma_prod) / 2 def Psi(F, mu, lam): J = np.linalg.det(F) lnJ = math.log(J) return mu / 2 * (np.trace(np.transpose(F).dot(F)) - 2) - mu * lnJ + lam / 2 * lnJ * lnJ def dPsi_div_dF(F, mu, lam): FinvT = np.transpose(np.linalg.inv(F)) return mu * (F - FinvT) + lam * math.log(np.linalg.det(F)) * FinvT def d2Psi_div_dF2(F, mu, lam): [U, sigma, VT] = polar_svd(F) Psi_sigma_sigma = utils.make_PSD(d2Psi_div_dsigma2(sigma, mu, lam)) B_left = B_left_coef(sigma, mu, lam) Psi_sigma = dPsi_div_dsigma(sigma, mu, lam) B_right = (Psi_sigma[0] + Psi_sigma[1]) / (2 * max(sigma[0] + sigma[1], 1e-6)) B = utils.make_PSD([[B_left + B_right, B_left - B_right], [B_left - B_right, B_left + B_right]]) M = np.array([[0, 0, 0, 0]] * 4) M[0, 0] = Psi_sigma_sigma[0, 0] M[0, 3] = Psi_sigma_sigma[0, 1] M[1, 1] = B[0, 0] M[1, 2] = B[0, 1] M[2, 1] = B[1, 0] M[2, 2] = B[1, 1] M[3, 0] = Psi_sigma_sigma[1, 0] M[3, 3] = Psi_sigma_sigma[1, 1] dP_div_dF = np.array([[0, 0, 0, 0]] * 4) for j in range(0, 2): for i in range(0, 2): ij = j * 2 + i for s in range(0, 2): for r in range(0, 2): rs = s * 2 + r dP_div_dF[ij, rs] = M[0, 0] * U[i, 0] * VT[0, j] * U[r, 0] * VT[0, s] \\ + M[0, 3] * U[i, 0] * VT[0, j] * U[r, 1] * VT[1, s] \\ + M[1, 1] * U[i, 1] * VT[0, j] * U[r, 1] * VT[0, s] \\ + M[1, 2] * U[i, 1] * VT[0, j] * U[r, 0] * VT[1, s] \\ + M[2, 1] * U[i, 0] * VT[1, j] * U[r, 1] * VT[0, s] \\ + M[2, 2] * U[i, 0] * VT[1, j] * U[r, 0] * VT[1, s] \\ + M[3, 0] * U[i, 1] * VT[1, j] * U[r, 0] * VT[0, s] \\ + M[3, 3] * U[i, 1] * VT[1, j] * U[r, 1] * VT[1, s] return dP_div_dF Next, we implement computing F(x), and the tensor products with ∂x∂F​ for chain rule based computation of elasticity energy gradient and Hessian: Implementation 15.2.2 (Energy derivatives w.r.t. x, NeoHookeanEnergy.py). def deformation_grad(x, elemVInd, IB): F = [x[elemVInd[1]] - x[elemVInd[0]], x[elemVInd[2]] - x[elemVInd[0]]] return np.transpose(F).dot(IB) def dPsi_div_dx(P, IB): # applying chain-rule, dPsi_div_dx = dPsi_div_dF * dF_div_dx dPsi_dx_2 = P[0, 0] * IB[0, 0] + P[0, 1] * IB[0, 1] dPsi_dx_3 = P[1, 0] * IB[0, 0] + P[1, 1] * IB[0, 1] dPsi_dx_4 = P[0, 0] * IB[1, 0] + P[0, 1] * IB[1, 1] dPsi_dx_5 = P[1, 0] * IB[1, 0] + P[1, 1] * IB[1, 1] return [np.array([-dPsi_dx_2 - dPsi_dx_4, -dPsi_dx_3 - dPsi_dx_5]), np.array([dPsi_dx_2, dPsi_dx_3]), np.array([dPsi_dx_4, dPsi_dx_5])] def d2Psi_div_dx2(dP_div_dF, IB): # applying chain-rule, d2Psi_div_dx2 = dF_div_dx^T * d2Psi_div_dF2 * dF_div_dx (note that d2F_div_dx2 = 0) intermediate = np.array([[0.0, 0.0, 0.0, 0.0]] * 6) for colI in range(0, 4): _000 = dP_div_dF[0, colI] * IB[0, 0] _010 = dP_div_dF[0, colI] * IB[1, 0] _101 = dP_div_dF[2, colI] * IB[0, 1] _111 = dP_div_dF[2, colI] * IB[1, 1] _200 = dP_div_dF[1, colI] * IB[0, 0] _210 = dP_div_dF[1, colI] * IB[1, 0] _301 = dP_div_dF[3, colI] * IB[0, 1] _311 = dP_div_dF[3, colI] * IB[1, 1] intermediate[2, colI] = _000 + _101 intermediate[3, colI] = _200 + _301 intermediate[4, colI] = _010 + _111 intermediate[5, colI] = _210 + _311 intermediate[0, colI] = -intermediate[2, colI] - intermediate[4, colI] intermediate[1, colI] = -intermediate[3, colI] - intermediate[5, colI] result = np.array([[0.0, 0.0, 0.0, 0.0, 0.0, 0.0]] * 6) for colI in range(0, 6): _000 = intermediate[colI, 0] * IB[0, 0] _010 = intermediate[colI, 0] * IB[1, 0] _101 = intermediate[colI, 2] * IB[0, 1] _111 = intermediate[colI, 2] * IB[1, 1] _200 = intermediate[colI, 1] * IB[0, 0] _210 = intermediate[colI, 1] * IB[1, 0] _301 = intermediate[colI, 3] * IB[0, 1] _311 = intermediate[colI, 3] * IB[1, 1] result[2, colI] = _000 + _101 result[3, colI] = _200 + _301 result[4, colI] = _010 + _111 result[5, colI] = _210 + _311 result[0, colI] = -_000 - _101 - _010 - _111 result[1, colI] = -_200 - _301 - _210 - _311 return result Finally, Neo-Hookean energy value, gradient, and Hessian on the entire mesh can be computed as follows: Implementation 15.2.3 (Energy value, Gradient, and Hessian, NeoHookeanEnergy.py). def val(x, e, vol, IB, mu, lam): sum = 0.0 for i in range(0, len(e)): F = deformation_grad(x, e[i], IB[i]) sum += vol[i] * Psi(F, mu[i], lam[i]) return sum def grad(x, e, vol, IB, mu, lam): g = np.array([[0.0, 0.0]] * len(x)) for i in range(0, len(e)): F = deformation_grad(x, e[i], IB[i]) P = vol[i] * dPsi_div_dF(F, mu[i], lam[i]) g_local = dPsi_div_dx(P, IB[i]) for j in range(0, 3): g[e[i][j]] += g_local[j] return g def hess(x, e, vol, IB, mu, lam): IJV = [[0] * (len(e) * 36), [0] * (len(e) * 36), np.array([0.0] * (len(e) * 36))] for i in range(0, len(e)): F = deformation_grad(x, e[i], IB[i]) dP_div_dF = vol[i] * d2Psi_div_dF2(F, mu[i], lam[i]) local_hess = d2Psi_div_dx2(dP_div_dF, IB[i]) for xI in range(0, 3): for xJ in range(0, 3): for dI in range(0, 2): for dJ in range(0, 2): ind = i * 36 + (xI * 3 + xJ) * 4 + dI * 2 + dJ IJV[0][ind] = e[i][xI] * 2 + dI IJV[1][ind] = e[i][xJ] * 2 + dJ IJV[2][ind] = local_hess[xI * 2 + dI, xJ * 2 + dJ] return IJV","breadcrumbs":"Case Study: Inversion-free Elasticity* » Computing Energy, Gradient, and Hessian » Computing Energy, Gradient, and Hessian","id":"86","title":"Computing Energy, Gradient, and Hessian"},"87":{"body":"To guarantee non-inversion just like non-interpenetration (see Filter Line Search ) during the simulation, we can similarly filter the line search initial step size with a critical step size αI that first brings the volume of any triangles to 0. This can be obtained by solving a 1D equation per triangle: V(xi​+αIpi​)=0,(15.3.1) and taking the minimum of the solved step sizes. Here pi​ is the search direction of node i, and in 2D, Equation (15.3.1) is equivalent to: det([x21α​,x31α​])≡x21,1α​x31,2α​−x21,2α​x31,1α​=0(15.3.2) with xijα​=xij​+αIpij​ and xij​=xi​−xj​, pij​=pi​−pj​. Expanding Equation (15.3.2) we obtain: (x21,1​+αIp21,1​)(x31,2​+αIp31,2​)−(x21,2​+αIp21,2​)(x31,1​+αIp31,1​)=0, which can be reorganized as a quadratic equation of αI: det([p21​,p31​])(αI)2+(det([x21​,p31​])+det([p21​,x31​]))αI+det([x21​,x31​])=0. Here, note that det([p21​,p31​]) can be very tiny when the nodes do not move much or when their movement barely changes to triangle area in the current timestep, thus the equation can be degenerated into a linear one. To robustly detect this degenerate case, we cannot directly check whether det([p21​,p31​]) is 0 due to numerical errors. In fact, checking whether det([p21​,p31​]) is below an epsilon is still tricky, because the scale of det([p21​,p31​]) heavily depends on the scene dimension and nodal velocity during the simulation. Therefore, we use det([x21​,x31​]) as a scaling and obtain a scaled but equivalent equation: det([x21​,x31​])det([p21​,p31​])​(αI)2+det([x21​,x31​])det([x21​,p31​])+det([p21​,x31​])​αI+1=0,(15.3.3) where magnitude checks can be safely performed on any coefficients with unitless thresholds. In practice, we also need to allow some slackness so that the step size to be taken will not lead to an exactly 0 volume. Thus, we solve αI such that it first decreases the volume of any triangles by 90%, which can be realized by modifying the constant term coefficient in Equation (15.3.3) from 1 to 0.9: Implementation 15.3.1 (Filter line search, NeoHookeanEnergy.py). def init_step_size(x, e, p): alpha = 1 for i in range(0, len(e)): x21 = x[e[i][1]] - x[e[i][0]] x31 = x[e[i][2]] - x[e[i][0]] p21 = p[e[i][1]] - p[e[i][0]] p31 = p[e[i][2]] - p[e[i][0]] detT = np.linalg.det(np.transpose([x21, x31])) a = np.linalg.det(np.transpose([p21, p31])) / detT b = (np.linalg.det(np.transpose([x21, p31])) + np.linalg.det(np.transpose([p21, x31]))) / detT c = 0.9 # solve for alpha that first brings the new volume to 0.1x the old volume for slackness critical_alpha = utils.smallest_positive_real_root_quad(a, b, c) if critical_alpha > 0: alpha = min(alpha, critical_alpha) return alpha Here, if the equation does not have a positive real root, that means for this specific triangle, the step size can be taken arbitrarily large and it will not trigger inversion. The quadratic equation can be solved as Implementation 15.3.2 (Solve quadratic equation, utils.py). def smallest_positive_real_root_quad(a, b, c, tol = 1e-6): # return negative value if no positive real root is found t = 0 if abs(a) <= tol: if abs(b) <= tol: # f(x) = c > 0 for all x t = -1 else: t = -c / b else: desc = b * b - 4 * a * c if desc > 0: t = (-b - math.sqrt(desc)) / (2 * a) if t < 0: t = (-b + math.sqrt(desc)) / (2 * a) else: # desv<0 ==> imag, f(x) > 0 for all x > 0 t = -1 return t With scaled coefficients, we simply use a unitless threshold, e.g. \\code{1e-6}, to check for degeneracies. If no positive real roots are found, the function simply returns −1. Now as we filter the initial step size in addition to non-interpenetration: Implementation 15.3.3 (Apply filter, time_integrator.py). alpha = min(BarrierEnergy.init_step_size(x, n, o, p), NeoHookeanEnergy.init_step_size(x, e, p)) # avoid interpenetration, tunneling, and inversion and make sure all added data structures and modified functions are reflected in the time integrator, we can finally simulate the compressing square example from Moving Boundary Condition with guaranteed non-inversion (see Figure 15.3.1 ). Figure 15.3.1. A square is dropped onto the ground and compressed severely by a ceiling while maintaining inversion-free throughout the simulation. The ground has friction coefficient 0.11 so that the bottom of the square slides less than the top, where the ceiling has no friction.","breadcrumbs":"Case Study: Inversion-free Elasticity* » Filter Line Search for Non-Inversion » Filter Line Search for Non-Inversion","id":"87","title":"Filter Line Search for Non-Inversion"},"88":{"body":"We have successfully implemented an inversion-free 2D elasticity simulation by discretizing the Neo-Hookean model using linear triangle elements. By maintaining a linearly varying displacement field within each triangle, we can directly calculate a constant deformation gradient F for each triangle using both the material and world space coordinates of the vertices. This foundational setup facilitates the computation of the Neo-Hookean energy, as well as its gradient and Hessian with respect to x, by applying the chain rule. These calculations are essential for the optimization-based time integration discussed in previous lectures. To ensure the simulation remains free of both interpenetration and inversion, we adopt a similar strategy as previously described: the initial step size in the line search is determined by solving a quadratic equation for each triangle. This equation calculates a critical step size that reduces the triangle's volume by 90%. The smallest of these critical step sizes across all triangles is then used to initialize the line search, ensuring robustness against both non-interpenetration and non-inversion. In the upcoming chapter, we will delve into the derivation of the governing equations for hyperelastic solids, providing a detailed explanation of each step to further solidify understanding.","breadcrumbs":"Case Study: Inversion-free Elasticity* » Summary » Summary","id":"88","title":"Summary"},"89":{"body":"The update rules (refer to Equation (1.5.1) ) and the corresponding optimization problems (refer to Equation (2.1.1) ) utilized in solids simulation are derived by discretizing the conservation laws—our governing equations—from their continuous forms. This chapter will explore the derivation of both the strong and weak forms of these conservation laws. We will then discuss the methods for their temporal and spatial discretizations, which are essential for formulating the discrete problems we aim to solve. The fundamental governing equations central to our study are the conservation of mass and the conservation of momentum (Newton's Second Law). We will outline these equations below and provide detailed derivations later in this lecture. Definition 16.1 (Strong Form). Letting V(X,t)=∂t∂ϕ(X,t)​=∂t∂x(X,t)​ be the velocity defined over X, the equations are [Gonzalez & Stuart 2008] : R(X,t)J(X,t)=R(X,0)R(X,0)∂t∂V​(X,t)=∇X⋅P(X,t)+R(X,0)g​Conservation of mass,Conservation of momentum,​​ where X∈Ω0​ and t≥0. Here R is the mass density, J(X,t)=detF(X,t), P is the first Piola-Kirchoff stress, and g is the constant gravitational acceleration. Note that J(X,0)=1, and the mass conservation can also be written as ∂t∂​(R(X,t)J(X,t))=0. These equations are initially presented in their strong form. In this lecture, we will also derive the equivalent weak form of the force balance equation (conservation of momentum). The weak form reformulates the conservation law using integral expressions, which are crucial for the subsequent derivation of the temporal and spatial discretizations of the equations using the Finite Element Method.","breadcrumbs":"Strong and Weak Forms » Strong and Weak Forms","id":"89","title":"Strong and Weak Forms"},"9":{"body":"To convert our continuous-time system to a discrete form, we employ the forward difference approximation. In this approximation, the derivative \\((\\frac{\\mathbf{d} x}{\\mathbf{d} t})^n\\) is estimated as \\(\\frac{x^{n+1} - x^n}{\\Delta t}\\), and likewise, \\((\\frac{\\mathbf{d} v}{\\mathbf{d} t})^n\\) as \\(\\frac{v^{n+1} - v^n}{\\Delta t}\\). The superscript \\(n\\) represents the state variables at the \\(n\\)th timestep. Consequently, the discrete version of our system is expressed as: Δtxn+1−xn​MΔtvn+1−vn​​=vn,=fn.​(1.4.1) Assuming a constant mass over time, these equations provide a clear mechanism to update our state variables. Knowing the current values \\(x^n\\), \\(v^n\\), and \\(f^n\\) at timestep \\(n\\), we can directly determine their values at the next timestep, \\(n+1\\). Method 1.4.1 (Forward Euler Time Integration for Newton's Second Law). In the Forward Euler method, the state variables \\(x^{n+1}\\) and \\(v^{n+1}\\) at the next time step \\(n+1\\) are calculated based on the current values \\(x^n\\) and \\(v^n\\). The update rules are given by: xn+1vn+1​=xn+Δtvn,=vn+ΔtM−1fn.​(1.4.2) Here, \\(\\Delta t\\) represents the time step size, \\(M\\) is the mass matrix, and \\(f^n\\) is the force at the current time step \\(n\\). The forward Euler method is considered unconditionally unstable , implying that irrespective of the chosen small time step \\(\\Delta t\\), the numerical solution will eventually grow significantly ( explode ) for equations with nonconstant \\(f\\), while the exact solution remains unaffected (refer to Figure 1.4.1 , left).","breadcrumbs":"Discrete Space and Time » Explicit Time Integration » Forward Euler","id":"9","title":"Forward Euler"},"90":{"body":"We can think of the mass density R(X,t) to be naturally defined over Ω0 as R(X,t)=ϵ→+0lim​volume(Bϵt​)mass(Bϵt​)​=ϵ→+0lim​∫Bϵt​​dxmass(Bϵt​)​(16.1.1) where Bϵt​ is the world space counterpart of Bϵ0​ (the ball of radius ϵ surrounding an arbitrary X∈Ω0). This is arguably a natural definition since mass(Bϵt​) should be a measurable quantity. Conservation of mass can be expressed as mass(Bϵt​)=mass(Bϵ0​),∀ Bϵ0​⊂Ω0 and t≥0.(16.1.2) Now, with a change of variables, we have ∫Bϵt​​dx=∫Bϵ0​​J(X,t)dX, so Equation (16.1.1) becomes R(X,t)=ϵ→+0lim​∫Bϵ0​​J(X,t)dXmass(Bϵt​)​,(16.1.3) and so R(X,0)=ϵ→+0lim​∫Bϵ0​​dXmass(Bϵ0​)​(16.1.4) since J(X,0)=1. Then combining Equations (16.1.2) , (16.1.3) , and (16.1.4) , we can express the conservation of mass as ∫Bϵ0​​R(X,t)J(X,t)dX=∫Bϵ0​​R(X,0)dX,∀ Bϵ0​⊂Ω0 and t≥0. This just says that the mass in Bϵt​ (as expressed via an integral of the mass density) should not change with time. This set is associated with a subset of the material at time t and as it evolves in the flow, the material will take up more or less space, but there will always be the same amount (mass) of material in the set. Since Bϵ0​ is arbitrary, it must be true that R(X,t)J(X,t)=R(X,0),∀ X∈Ω0 and t≥0. Remark 16.1.1 (Lagrangian and Eulerian Views). In simulation methods that discretize and track materials directly based on Ω0, conservation of mass is inherently satisfied. For instance, in our Finite Element Method (FEM) simulator, Ω0 is segmented into triangles, with the mass of each triangle remaining constant regardless of deformation throughout the simulation. This approach is known as the Lagrangian method . In contrast, Eulerian methods discretize and evolve physical quantities based on Ωt and often need to specially deal with mass conservation.","breadcrumbs":"Strong and Weak Forms » Conservation of Mass » Conservation of Mass","id":"90","title":"Conservation of Mass"},"91":{"body":"In the continuous setting, forces are categorized into body forces (also known as external forces, such as gravity) and surface forces (or internal forces, typically stress-based, like those arising from elasticity). We define stress-based forces through a traction field, whose existence is assumed. The traction, or force per unit area, is represented by the field T(⋅,N,t):Ω0→Rd and is defined by the equation: forceS​(Bϵ0​)=∫∂Bϵ0​​T(X,N(X))ds(X), where N represents the outward-pointing normal direction in the material space. Here, forceS​(Bϵ0​) denotes the net force exerted from the material outside ∂Bϵ0​ on the material inside Bϵ0​ through their interface. The function T(X,N,t) quantifies the force per unit area (d=3) or length (d=2) that material on the N+ side exerts at point X on material on the N− side. It can be shown that this implies the existence of a stress field (first Piola-Kirchoff stress) P(⋅,t):Ω0→Rd×d with: T(X,N,t)=P(X,t)N. Then, by applying Newton's second law on Bϵ0​, we can express the conservation of momentum as: =​∫Bϵ0​​R(X,0)∂t∂V​(X,t)dX∫∂Bϵ0​​P(X,t)N(X)ds(X)+∫Bϵ0​​R(X,0)Aext(X,t)dX,​(16.2.1) for all Bϵ0​⊂Ω0 and t≥0. Applying the divergence theorem, we can transform the boundary integral in Equation (16.2.1) into a volume integral and obtain: =​∫Bϵ0​​R(X,0)∂t∂V​(X,t)dX∫Bϵ0​​∇X⋅P(X,t)dX+∫Bϵ0​​R(X,0)Aext(X,t)dX,​(16.2.2) for all Bϵ0​⊂Ω0 and t≥0. Definition 16.2.1 (Divergence Theorem for Vectors). For a vector-valued function f(x):Ω→Rd defined on a closed domain Ω, let n(x) be the outward-pointing normal on the boundary of this domain, the following equality holds: ∫∂Ω​f⋅nds(x)=∫Ω​∇⋅fdx. This theorem allows us to conveniently transform between boundary and volume integrals. Here the divergence operator ∇⋅ acts on every row vector of P independently and results in a column vector: (∇X⋅P)i​=∑j​Pij,j​. Since Equation (16.2.2) also holds for arbitrary Bϵ0​, we arrive at the strong form of the force balance equation by removing the integration: R(X,0)∂t∂V​(X,t)=∇X⋅P(X,t)+R(X,0)Aext(X,t),∀ X∈Ω0 and t≥0.​(16.2.3) Remark 16.2.1 (Momentum Conservation in Solid Simulation). Conservation of momentum is the primary governing equation we use to simulate solids. As discussed previously, both the acceleration, denoted by ∂t∂V​(X,t), and the internal force, expressed as ∇X⋅P(X,t), can be described using world space coordinates x. With all other relevant quantities established, we incrementally solve for x to get dynamic motions step by step.","breadcrumbs":"Strong and Weak Forms » Conservation of Momentum » Conservation of Momentum","id":"91","title":"Conservation of Momentum"},"92":{"body":"First, since the external force term R(X,0)Aext(X,t) resembles a lot to the time derivative of the momentum on the left-hand side, we will ignore it during the derivation for simplicity. Then, for an arbitrary test function Q(⋅,t):Ω0→Rd, let's compute the dot product to both sides of Equation (16.2.3) and integrate over Ω0 to generate the weak form: =​∫Ω0​R(X,0)Q(X,t)⋅A(X,t)dX∫Ω0​Q(X,t)⋅(∇X⋅P(X,t))dX,∀ Q(⋅,t):Ω0→Rd and t≥0.​(16.3.1) Here we denote A(X,t)=∂t∂V​(X,t). Without going into details on finite element analysis, we claim that the weak form is sufficiently equivalent to the strong form since Equation (16.3.1) is required to hold for arbitrary Q(⋅,t), and solving the weak form provides us a solution that is a \"good enough\" soution to the original problem. With index notation where Ai​ means the i-th component of vector-valued function A:Ω0→Rd, and Ai,j​ means ∂Xj​∂Ai​​, we can rewrite Equation (16.3.1) as ∫Ω0​R(X,0)i∑​Qi​(X,t)Ai​(X,t)dX=∫Ω0​i∑​Qi​(X,t)j∑​Pij,j​(X,t)dX.(16.3.2) If we further omit the summation symbol and let the repetitive subscripts represent summation (this is known as Einstein notation), we obtain ∫Ω0​R(X,0)Qi​(X,t)Ai​(X,t)dX=∫Ω0​Qi​(X,t)Pij,j​(X,t)dX.(16.3.3) Now applying Integration By Parts on the right-hand side, we can rewrite Equation (16.3.3) as ​∫Ω0​R(X,0)Qi​(X,t)Ai​(X,t)dX=∫Ω0​(∇⋅(Qi​(X,t)Pi​(X,t))−∇Qi​(X,t)⋅Pi​(X,t))dX=∫Ω0​((Qi​(X,t)Pij​(X,t)),j​−Qi,j​(X,t)Pij​(X,t))dX.​(16.3.4) Definition 16.3.1 (Integration By Parts). For a scalar-valued function u(x) and a vector-valued function (vector field) V(x), the product rule for divergence states that: ∇⋅(u(x)V(x))=u(x)∇⋅V(x)+∇u(x)⋅V(x). Integrating both sides on domain Ω then gives: ∫Ω​∇⋅(u(x)V(x))dx=∫Ω​u(x)∇⋅V(x)dx+∫Ω​∇u(x)⋅V(x)dx. Then if we further apply the divergence theorem on the first part of the right-hand side of Equation (16.3.4) , we obtain ​∫Ω0​R(X,0)Qi​(X,t)Ai​(X,t)dX=∫∂Ω0​Qi​(X,t)Pij​(X,t)Nj​(X)ds(X)−∫Ω0​Qi,j​(X,t)Pij​(X,t)dX.​(16.3.5) The quantity Pij​Nj​ would be specified as a boundary condition. If we let T(X,t) be the boundary force per unit reference area (traction) with Ti​=Pij​Nj​, then we can say that the conservation of momentum implies that ∀Q(⋅,t):Ω0→Rd ​∫Ω0​R(X,0)Qi​(X,t)Ai​(X,t)dX=∫∂Ω0​Qi​(X,t)Ti​(X,t)ds(X)−∫Ω0​Qi,j​(X,t)Pij​(X,t)dX.​(16.3.6) This is momentum conservation's weak form written in Ω0. Remark 16.3.1 (Why Weak Form). In finite element method (FEM) for solids, conservation of momentum is formulated in the weak form rather than directly discretizing the strong form due to specific advantages. The strong form requires the displacement field and its derivatives to be continuously differentiable across the entire domain, which is difficult to achieve in practical scenarios involving complex geometries or material discontinuities. On the other hand, the weak form only requires the displacement field itself to be continuous, relaxing the need for continuous derivatives. This makes the weak form more adaptable to irregular mesh geometries and better suited for incorporating boundary conditions and handling interface problems. The weak form's integration-based approach reduces the sensitivity to local irregularities, making it more stable and robust for numerical computation in solid mechanics. Thus, while the strong form provides a direct representation of physical laws, its direct discretization is less practical for the computational demands and complexities typical in FEM analyses.","breadcrumbs":"Strong and Weak Forms » Weak Form » Weak Form","id":"92","title":"Weak Form"},"93":{"body":"In this lecture, we derived the strong forms of the governing equations—conservation of mass and conservation of momentum—focusing on an infinitesimal region within the simulation domain. The conservation of momentum equation was transformed from surface to volume integrals using the divergence theorem. For Lagrangian simulation methods, such as FEM solid simulation, which discretize and monitor physical quantities based on the material space Ω0, the conservation of mass is inherently maintained. We then progressed to deriving the weak form of conservation of momentum. This involved integrating the dot product between the momentum terms and an arbitrary test function. The weak form is effectively equivalent to the strong form because the integral equation must satisfy any arbitrary test function. Techniques such as integration by parts and the application of the divergence theorem were essential in this derivation. In our next lecture, we will discretize the weak form both temporally and spatially, further refining our approach to solve the discrete problems examined in our case studies.","breadcrumbs":"Strong and Weak Forms » Summary » Summary","id":"93","title":"Summary"},"94":{"body":"In this lecture, we will discretize the weak form of the momentum conservation equation (temporarily ignoring body forces) in both space and time to reach the discrete form—a system of equations introduced in the first lecture . We will begin by focusing on a specific point in time, t=tn. From the weak form of the momentum conservation equation (Equation (16.3.6) ), we have: ​∫Ω0​R0(X)Qin​(X)Ain​(X)dX=∫∂Ω0​Qin​(X)Tin​(X)ds(X)−∫Ω0​Qi,jn​(X)Pijn​(X)dX,​(17.1) for arbitrary Qn(X), where the superscript n denotes quantities measured at t=tn. Here: R and T are specified by the simulation setup, P can be calculated from the degrees of freedom x via a constitutive law, A=∂t2∂2x​ is the second-order time derivative of x, and Q is an arbitrary vector field.","breadcrumbs":"Discretization of Weak Forms » Discretization of Weak Forms","id":"94","title":"Discretization of Weak Forms"},"95":{"body":"To enable numerical evaluation of the integrals in the weak form, the first step is to discretize the smooth vector fields x and Q. This allows them to be represented by a finite set of samples, along with appropriate interpolation functions. Example 17.1.1 (1D Function Interpolation). In 1D, to approximate a function f(x) using three sample points x1​=1, x2​=2, x3​=3 ( Figure 17.1.1 ), we can use interpolation functions Ni​(x)=1−∣x−xi​∣ and form f(x)≈∑i​f(xi​)Ni​(x). Figure 17.1.1. With interpolation functions N1​(x), N2​(x), N3​(x) and sample points x1​=1, x2​=2, x3​=3, a function f(x) can be approximated as ∑i​f(xi​)Ni​(x). Given a set of sample points indexed by a or b in the simulation domain, we can approximate the test function Q and the DOF x as: Qi​(X,tn)xi​(X,tn)​≈a∑​Qa∣i​(tn)Na​(X)=a∑​Qa∣in​Na​(X),≈b∑​xb∣i​(tn)Nb​(X)=b∑​xb∣in​Nb​(X),​ where Qa∣in​=Qa∣i​(tn) refers to the i-th dimension of Q evaluated at sample point a at time tn, and Na​(X):Ω0→R is the interpolation function at sample point a. In this way, we similarly have: Ai​(X,tn)≈b∑​Ab∣i​(tn)Nb​(X)=b∑​Ab∣in​Nb​(X).(17.1.1) Plugging these discretizations into the weak form (Equation (17.1) ) and expressing summations with the index notation, we obtain: ​∫Ω0​R(X,0)Qa∣in​Na​(X)Ab∣in​Nb​(X)dX=∫∂Ω0​Qa∣in​Na​(X)Ti​(X,tn)ds(X)−∫Ω0​Qa∣in​Na,j​(X)Pij​(X,tn)dX.​ On the left-hand side, we see that the sample values Qa∣in​ and Ab∣in​ are in fact independent of X, so we can move them out of the integral and obtain: ​Mab​Qa∣in​Ab∣in​=∫∂Ω0​Qa∣in​Na​(X)Ti​(X,tn)ds(X)−∫Ω0​Qa∣in​Na,j​(X)Pij​(X,tn)dX​ where Mab​=∫Ω0​R(X,0)Na​(X)Nb​(X)dX(17.1.2) is the mass matrix. Remark 17.1.1 (Mass Matrix Properties). The mass matrix M (Equation (17.1.2) ) is symmetric and positive semi-definite because it can be expressed as: ∫Ω0​BBTdX, where Bi​=R(X,0)​Ni​(X). Thus, for any vector z, zTMz=∫Ω0​(zTB)2dX≥0. In practice, this mass matrix may be singular. To address this, we typically use a \"mass lumping\" strategy to approximate the mass matrix with a diagonal and positive definite form. This is achieved by summing each row and defining: Mablump​=δab​c∑​Mac​. After spatial discretization, the solution of the weak form (Equation (17.1) ) is confined to d n-dimensional function spaces, where n represents the number of sample points, assuming all interpolation functions are mutually orthogonal. This means that there could be continuous solutions to the weak form outside of our solution space. In such cases, we can only provide an approximate solution based on the chosen sample points and interpolation functions. Definition 17.1.1 (Orthogonal Functions). Similar to the orthogonality of two vectors a and b, defined as aTb=0, the orthogonality of two functions f(x) and g(x) is defined as: ∫f(x)g(x)dx=0. Just as a basis of vectors can span a finite-dimensional space, orthogonal functions can form an infinite basis for a function space. Conceptually, the integral above is analogous to a vector dot product. That being said, to generate equations solvable for the unknowns, the arbitrary test function Q does not need to cover all possibilities to produce an infinite number of equations. Instead, we only need to produce a finite set of equations that spans the entire solution space. Therefore, for a^ traversing all sample points, and i^=1,2,…,d, we can assign the test function: Qa∣in​={1,0,​a=a^ and i=i^otherwise​ to obtain nd equations: Ma^b​Ab∣i^n​=∫∂Ω0​Na^​(X)Ti^​(X,tn)ds(X)−∫Ω0​Na^,j​(X)Pi^j​(X,tn)dX,(17.1.3) resulting in nd unknowns and nd equations, bringing us closer to the discrete form. The two integrals on the right side of Equation (17.1.3) can be evaluated analytically or using quadrature rules, depending on the specific choice of interpolation functions. We will discuss these in detail in future lectures.","breadcrumbs":"Discretization of Weak Forms » Discrete Space » Discrete Space","id":"95","title":"Discrete Space"},"96":{"body":"Discretization in time links A to our degrees of freedom (DOF) x. In the continuous setting, A(X,t)=∂t2∂2x​(X,t). Now, let us divide time into small intervals, t0,t2,…,tn,…, as discussed in the first chapter. Using the finite difference formula, we can conveniently approximate A in terms of x. For example, with backward Euler: An(X)Vn(X)​=tn−tn−1Vn(X)−Vn−1(X)​,=tn−tn−1xn(X)−xn−1(X)​,​ which gives us: An(X)=Δt2xn(X)−(xn−1(X)+hVn−1(X))​, where Δt=tn−tn−1. Applying this relation at the sample points into Equation (17.1.3) , we obtain: ​Ma^b​Δt2xb∣i^n​−(xb∣i^n−1​+hVb∣i^n−1​)​=∫∂Ω0​Na^​(X)Ti^​(X,tn)ds(X)−∫Ω0​Na^,j​(X)Pi^j​(X,tn)dX.​(17.2.1) Then, by applying mass lumping and zero traction boundary conditions, i.e., T(X,t)=0, we finally see that Equation (17.2.1) is the (a^d+i^)-th row of the discrete form of backward Euler time integration in the first lecture : M(xn+1−(xn+Δtvn))−Δt2f(xn+1)=0, where the elasticity force f(x) is obtained by evaluating: −∫Ω0​Na^,j​(X)Pi^j​(X,t)dX, which will be discussed in the next chapter.","breadcrumbs":"Discretization of Weak Forms » Discrete Time » Discrete Time","id":"96","title":"Discrete Time"},"97":{"body":"In this lecture, we discretized the weak form of momentum conservation in both space and time, arriving at the system of equations for backward Euler time integration introduced in the first lecture . Spatial Discretization: For spatial discretization, a finite number of points are sampled within the domain, and their displacements are used as the degrees of freedom (DOF) of the simulation. With the interpolation function associated with each DOF, the displacement at any point in the domain can be approximated, limiting the solution of the weak form to d n-dimensional function spaces formed by mutually orthogonal interpolation functions, where n represents the number of sample points. In this way, the test function Q can be conveniently assigned to generate nd equations for solving the nd unknowns. Temporal Discretization: The discretization of time connects the acceleration A to the DOF x via specific time integration rules. By applying mass lumping and assuming zero traction boundary conditions, we can ultimately derive the discrete form. The integration of interpolation functions will be covered in the next chapter. In the next lecture, we will discuss boundary conditions and frictional contact in the continuous setting.","breadcrumbs":"Discretization of Weak Forms » Summary » Summary","id":"97","title":"Summary"},"98":{"body":"Until now, we've omitted the Dirichlet boundary conditions and frictional contact in both the strong and weak forms of the governing equations to keep the derivations concise and straightforward. However, as we learned in the Boundary Treatments chapter, this boundary information is crucial for accurately simulating a wide range of solid dynamics.","breadcrumbs":"Boundary Conditions and Frictional Contact » Boundary Conditions and Frictional Contact","id":"98","title":"Boundary Conditions and Frictional Contact"},"99":{"body":"In the weak form we derived (see Equation (16.3.6) ), there is a boundary term ∫∂Ω0​Qi​(X,t)Ti​(X,t)ds(X) that describes the force acting on the boundary of the solid from the outside. If there are no Dirichlet boundary conditions, the entire boundary is handled using Neumann Boundary Conditions , where the boundary force is specified as part of the problem setup. Recall that we discussed the Dirichlet Boundary Condition , where the displacements of the boundary are directly prescribed. In practice, external forces act on the Dirichlet boundaries to ensure their displacements precisely match the prescribed values, and these forces are calculated directly from those displacements. In a solid simulation problem, boundaries can be either a Dirichlet boundary or a Neumann boundary, which can be described by a more general problem formulation in strong form: R(X,0)∂t∂V​(X,t)=∇X⋅P(X,t)+R(X,0)Aext(X,t),∀X∈Ω0 and t≥0;x=xD​(X,t),∀X∈ΓD​ and t≥0;P(X,t)N(X)=TN​(X,t),∀X∈ΓN​ and t≥0.​​(18.1.1) Here ΓN​ and ΓD​ are the Neumann and Dirichlet boundaries respectively, ΓN​∪ΓD​=∂Ω0​, ΓN​∩ΓD​=∅, and xD​ and TN​ are given. After we derive the weak form of the momentum conservation (see Equation (18.1.1) , first line), the boundary term ∫∂Ω0​Qi​(X,t)Ti​(X,t)ds(X) can be separately considered for Dirichlet and Neumann boundaries: ∫∂Ω0​Qi​(X,t)Ti​(X,t)ds(X)=∫ΓD​​Qi​(X,t)TD∣i​(X,t)ds(X)+∫ΓN​​Qi​(X,t)TN∣i​(X,t)ds(X).​ For Neumann boundaries, since the traction TN​(X,t) is provided, the above integral can be directly evaluated after discretization. However, for Dirichlet boundaries, TD​(X,t) remains unknown until we solve the problem. Therefore, a straightforward approach is to introduce the traction at Dirichlet boundaries as unknowns and solve the system that includes both the discretized weak form equations and the Dirichlet boundary conditions. Remark 18.1.1 (Optimization Form). In the optimization form , the potential energy does not include any Dirichlet boundaries, effectively ignoring the boundary integral in the weak form. This is valid because the Dirichlet boundary conditions will be enforced by the linear equality constraints, and the corresponding discretized weak form equation will be overwritten.","breadcrumbs":"Boundary Conditions and Frictional Contact » Incorporating Boundary Conditions » Incorporating Boundary Conditions","id":"99","title":"Incorporating Boundary Conditions"}},"length":143,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{",":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"1":{",":{"2":{",":{"\\":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"]":{",":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"105":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"129":{"tf":1.0},"21":{"tf":1.0},"53":{"tf":1.0}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":2.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"α":{"df":0,"docs":{},"j":{"df":0,"docs":{},"k":{"c":{"df":0,"docs":{},"​":{")":{".":{"(":{"8":{".":{"2":{".":{"1":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"⊂":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}}}}},"−":{"0":{".":{"5":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},".":{"0":{"0":{"4":{"df":1,"docs":{"29":{"tf":1.0}}},"5":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"1":{"df":3,"docs":{"117":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0}}},"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":13,"docs":{"118":{"tf":1.4142135623730951},"131":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"35":{"tf":1.7320508075688772},"54":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"67":{"tf":2.23606797749979},"85":{"tf":1.4142135623730951},"86":{"tf":3.1622776601683795}}},"1":{"1":{"df":2,"docs":{"63":{"tf":2.0},"87":{"tf":1.0}}},"df":4,"docs":{"117":{"tf":1.0},"120":{"tf":1.4142135623730951},"29":{"tf":1.0},"63":{"tf":1.7320508075688772}},"x":{"df":2,"docs":{"120":{"tf":1.0},"87":{"tf":1.0}}}},"2":{"df":1,"docs":{"63":{"tf":1.7320508075688772}}},"4":{"5":{"df":1,"docs":{"117":{"tf":1.0}}},"df":4,"docs":{"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"126":{"tf":1.0},"85":{"tf":1.0}}},"5":{"df":8,"docs":{"117":{"tf":1.0},"119":{"tf":1.7320508075688772},"125":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"67":{"tf":1.4142135623730951},"85":{"tf":1.0}}},"6":{"df":1,"docs":{"67":{"tf":1.7320508075688772}}},"7":{"df":1,"docs":{"117":{"tf":1.0}}},"8":{"df":1,"docs":{"131":{"tf":1.0}}},"9":{"\\":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":4,"docs":{"54":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"0":{"df":0,"docs":{},"​":{"0":{"0":{"df":0,"docs":{},"​":{"1":{"0":{"df":0,"docs":{},"​":{"0":{"1":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"[":{"1":{"2":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":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":{"106":{"tf":1.0},"107":{"tf":1.0},"118":{"tf":2.0},"120":{"tf":1.7320508075688772},"125":{"tf":1.0},"126":{"tf":1.0},"131":{"tf":2.8284271247461903},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":2.6457513110645907},"21":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951},"27":{"tf":2.0},"28":{"tf":1.0},"29":{"tf":2.23606797749979},"33":{"tf":1.0},"34":{"tf":2.23606797749979},"35":{"tf":1.0},"38":{"tf":1.0},"45":{"tf":1.4142135623730951},"49":{"tf":2.23606797749979},"52":{"tf":2.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.23606797749979},"58":{"tf":1.4142135623730951},"62":{"tf":3.0},"63":{"tf":3.0},"67":{"tf":2.6457513110645907},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"85":{"tf":2.449489742783178},"86":{"tf":6.708203932499369},"87":{"tf":3.1622776601683795},"90":{"tf":1.7320508075688772},"92":{"tf":1.4142135623730951},"93":{"tf":1.0}},"​":{"1":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"3":{"df":1,"docs":{"38":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{"b":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"x":{"df":1,"docs":{"95":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"a":{"^":{",":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"^":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"d":{"df":0,"docs":{},"x":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{")":{"d":{"df":0,"docs":{},"x":{"=":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"a":{"^":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{")":{"df":0,"docs":{},"i":{"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":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":{}}}},"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"^":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{")":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{")":{"(":{"2":{"0":{".":{"1":{"df":1,"docs":{"109":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"99":{"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":{}}}},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"q":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"⋅":{"a":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"d":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"q":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"⋅":{"(":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{")":{"d":{"df":0,"docs":{},"x":{"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":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{")":{"d":{"df":0,"docs":{},"x":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"1":{",":{"2":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},".":{"0":{".":{"0":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}},"df":7,"docs":{"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"131":{"tf":2.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"67":{"tf":2.23606797749979},"86":{"tf":1.4142135623730951}}},"1":{".":{"1":{"df":1,"docs":{"5":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"117":{"tf":1.0}}},"2":{".":{"1":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":3,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"29":{"tf":1.0}}},"5":{".":{"1":{"df":4,"docs":{"11":{"tf":1.7320508075688772},"20":{"tf":1.0},"21":{"tf":1.0},"89":{"tf":1.0}}},"2":{"df":2,"docs":{"11":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"/":{"2":{"df":1,"docs":{"134":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"0":{",":{"2":{"0":{"1":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"1":{".":{"1":{"df":1,"docs":{"62":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"62":{"tf":1.0}}},"3":{"df":1,"docs":{"62":{"tf":1.0}}},"4":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":1,"docs":{"63":{"tf":2.449489742783178}}},"2":{"df":1,"docs":{"63":{"tf":1.0}}},"3":{"df":1,"docs":{"63":{"tf":1.0}}},"4":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"df":2,"docs":{"117":{"tf":1.0},"29":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"1":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":2,"docs":{"52":{"tf":1.0},"67":{"tf":1.4142135623730951}},"−":{"6":{"df":2,"docs":{"131":{"tf":1.0},"82":{"tf":1.0}}},"df":0,"docs":{}}},"1":{".":{"1":{".":{"1":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"0":{"df":1,"docs":{"67":{"tf":1.0}}},"1":{"df":1,"docs":{"67":{"tf":1.0}}},"df":1,"docs":{"67":{"tf":2.0}}},"2":{"df":1,"docs":{"67":{"tf":1.0}}},"3":{"df":1,"docs":{"67":{"tf":1.0}}},"4":{"df":1,"docs":{"67":{"tf":1.0}}},"5":{"df":1,"docs":{"67":{"tf":1.0}}},"6":{"df":1,"docs":{"67":{"tf":1.0}}},"7":{"df":1,"docs":{"67":{"tf":1.0}}},"8":{"df":1,"docs":{"67":{"tf":1.0}}},"9":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"81":{"tf":1.0}}},"2":{".":{"1":{".":{"1":{"df":2,"docs":{"70":{"tf":1.7320508075688772},"71":{"tf":1.0}}},"2":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":2,"docs":{"71":{"tf":2.0},"85":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{".":{"1":{"df":2,"docs":{"74":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"2":{"df":3,"docs":{"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"80":{"tf":1.0}}},"3":{"df":1,"docs":{"74":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"74":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"74":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":1,"docs":{"75":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{".":{"1":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":1,"docs":{"80":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{".":{"1":{".":{"1":{"df":2,"docs":{"107":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"85":{"tf":1.0}}},"3":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":1,"docs":{"86":{"tf":1.0}}},"2":{"df":1,"docs":{"86":{"tf":1.0}}},"3":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"87":{"tf":2.0}}},"2":{"df":1,"docs":{"87":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{".":{"1":{".":{"1":{"df":1,"docs":{"90":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"90":{"tf":1.0}}},"3":{"df":1,"docs":{"90":{"tf":1.0}}},"4":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"89":{"tf":1.0}}},"2":{".":{"1":{"df":1,"docs":{"91":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"91":{"tf":1.0}}},"3":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"92":{"tf":2.0}}},"3":{"df":1,"docs":{"92":{"tf":1.0}}},"4":{"df":1,"docs":{"92":{"tf":1.0}}},"6":{"df":2,"docs":{"94":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"27":{"tf":2.0}}},"7":{".":{"1":{".":{"1":{"df":2,"docs":{"105":{"tf":1.4142135623730951},"95":{"tf":2.23606797749979}}},"2":{"df":1,"docs":{"95":{"tf":1.0}}},"3":{"df":2,"docs":{"95":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"95":{"tf":1.4142135623730951}}},"2":{".":{"1":{"df":2,"docs":{"105":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"117":{"tf":1.0}}},"8":{".":{"1":{".":{"1":{"df":1,"docs":{"99":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":2,"docs":{"100":{"tf":1.0},"101":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"101":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"101":{"tf":1.0}}},"3":{"df":1,"docs":{"101":{"tf":1.0}}},"4":{"df":1,"docs":{"101":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"134":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"2":{"df":1,"docs":{"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{".":{"1":{".":{"1":{"df":1,"docs":{"105":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":3,"docs":{"104":{"tf":1.0},"107":{"tf":1.0},"115":{"tf":1.0}}},"3":{".":{"1":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"]":{")":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"24":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"d":{"df":4,"docs":{"131":{"tf":1.0},"57":{"tf":1.0},"87":{"tf":1.0},"95":{"tf":1.4142135623730951}}},"df":38,"docs":{"101":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"117":{"tf":1.7320508075688772},"118":{"tf":2.6457513110645907},"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"125":{"tf":1.7320508075688772},"126":{"tf":2.449489742783178},"129":{"tf":1.0},"131":{"tf":1.7320508075688772},"140":{"tf":1.0},"15":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"25":{"tf":4.47213595499958},"27":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"29":{"tf":2.8284271247461903},"32":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951},"35":{"tf":2.23606797749979},"4":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.7320508075688772},"47":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":2.23606797749979},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"67":{"tf":4.0},"81":{"tf":1.4142135623730951},"82":{"tf":2.23606797749979},"85":{"tf":5.196152422706632},"86":{"tf":6.48074069840786},"87":{"tf":2.23606797749979}},"e":{"5":{"df":5,"docs":{"117":{"tf":1.0},"29":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"85":{"tf":1.0}}},"df":4,"docs":{"29":{"tf":1.0},"63":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0}}},"}":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"29":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"​":{"+":{"df":0,"docs":{},"β":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"≤":{"1":{"df":1,"docs":{"134":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"0":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"⊂":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ω":{"0":{"df":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}}}}},"−":{"df":0,"docs":{},"β":{")":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"+":{"df":0,"docs":{},"β":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"+":{"1":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"λ":{")":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"≤":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":0,"docs":{},"≤":{"d":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"2":{"(":{"1":{"+":{"df":0,"docs":{},"ν":{")":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"λ":{"=":{"(":{"1":{"+":{"df":0,"docs":{},"ν":{")":{"(":{"1":{"df":0,"docs":{},"−":{"2":{"df":0,"docs":{},"ν":{")":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"o":{"c":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"^":{"(":{"df":0,"docs":{},"j":{"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"0":{"df":3,"docs":{"118":{"tf":3.1622776601683795},"131":{"tf":2.0},"63":{"tf":1.0}}},"1":{".":{"1":{"df":3,"docs":{"14":{"tf":1.4142135623730951},"20":{"tf":1.0},"89":{"tf":1.0}}},"2":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":1,"docs":{"15":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":4,"docs":{"16":{"tf":2.0},"17":{"tf":1.0},"48":{"tf":1.0},"66":{"tf":1.0}}},"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{",":{"0":{"0":{"0":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"0":{"2":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"1":{".":{"1":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"113":{"tf":1.0}}},"2":{".":{"1":{"df":1,"docs":{"113":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"113":{"tf":1.0}}},"3":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"4":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"82":{"tf":1.0}}},"8":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"89":{"tf":1.0}}},"df":1,"docs":{"29":{"tf":1.0}}},"1":{"2":{"df":4,"docs":{"142":{"tf":1.4142135623730951},"76":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.4142135623730951}}},"5":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"81":{"tf":1.0}}},"6":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"5":{"tf":1.0}}},"8":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"76":{"tf":1.0}}},"df":0,"docs":{}},"2":{"0":{"df":3,"docs":{"134":{"tf":1.0},"142":{"tf":1.4142135623730951},"58":{"tf":1.0}}},"1":{"df":2,"docs":{"120":{"tf":1.0},"142":{"tf":1.4142135623730951}}},"2":{"df":4,"docs":{"142":{"tf":2.449489742783178},"41":{"tf":1.0},"79":{"tf":1.0},"81":{"tf":1.0}}},"3":{"df":2,"docs":{"114":{"tf":1.0},"142":{"tf":1.4142135623730951}}},"4":{"/":{"5":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{".":{"1":{".":{"1":{"df":1,"docs":{"117":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":2,"docs":{"118":{"tf":1.4142135623730951},"134":{"tf":1.0}}},"2":{"df":1,"docs":{"118":{"tf":1.0}}},"3":{"df":1,"docs":{"118":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":2,"docs":{"119":{"tf":1.0},"124":{"tf":1.0}}},"2":{"df":1,"docs":{"119":{"tf":1.0}}},"3":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"df":1,"docs":{"120":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"120":{"tf":1.0}}},"3":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"101":{"tf":1.4142135623730951},"113":{"tf":1.0},"123":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"f":{"+":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"i":{"df":1,"docs":{"74":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"2":{".":{"2":{".":{"1":{"df":2,"docs":{"124":{"tf":1.0},"125":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"125":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"126":{"tf":2.0}}},"2":{"df":1,"docs":{"126":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"126":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"3":{".":{"1":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"81":{"tf":1.0}}},"4":{".":{"1":{".":{"1":{"df":2,"docs":{"134":{"tf":1.7320508075688772},"140":{"tf":1.0}}},"2":{"df":2,"docs":{"134":{"tf":1.0},"140":{"tf":1.0}}},"3":{"df":1,"docs":{"134":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"5":{"df":3,"docs":{"29":{"tf":2.0},"62":{"tf":1.0},"85":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"6":{"df":1,"docs":{"117":{"tf":1.0}}},"7":{"df":2,"docs":{"117":{"tf":1.0},"131":{"tf":1.0}}},"8":{"df":1,"docs":{"117":{"tf":1.0}}},"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"35":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"d":{"df":38,"docs":{"104":{"tf":1.0},"105":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"117":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":2.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.7320508075688772},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"30":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"5":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.4142135623730951},"73":{"tf":1.0},"82":{"tf":1.4142135623730951},"85":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0}}},"df":31,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":1.7320508075688772},"118":{"tf":2.23606797749979},"119":{"tf":3.0},"125":{"tf":1.4142135623730951},"126":{"tf":2.0},"13":{"tf":1.0},"140":{"tf":1.0},"25":{"tf":1.7320508075688772},"26":{"tf":3.0},"27":{"tf":4.0},"28":{"tf":2.0},"29":{"tf":1.7320508075688772},"32":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":2.449489742783178},"45":{"tf":1.4142135623730951},"5":{"tf":1.0},"54":{"tf":2.449489742783178},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":2.6457513110645907},"63":{"tf":2.23606797749979},"66":{"tf":1.0},"67":{"tf":4.47213595499958},"81":{"tf":1.4142135623730951},"85":{"tf":2.0},"86":{"tf":4.898979485566356},"87":{"tf":1.4142135623730951}},"n":{"d":{"df":3,"docs":{"106":{"tf":1.0},"119":{"tf":1.0},"69":{"tf":1.0}}},"df":0,"docs":{}},"x":{"df":1,"docs":{"32":{"tf":1.0}}},"×":{"2":{"df":2,"docs":{"71":{"tf":1.0},"82":{"tf":1.0}}},"df":0,"docs":{}},"κ":{"df":0,"docs":{},"m":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"^":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"2":{".":{"(":{"1":{"1":{".":{"1":{".":{"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":{}}}}}}}}}}}}}},"​":{"3":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"4":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"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":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}}}}}},"3":{".":{"0":{"df":3,"docs":{"131":{"tf":2.23606797749979},"62":{"tf":2.0},"63":{"tf":1.4142135623730951}}},"1":{".":{"1":{"df":1,"docs":{"20":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":2,"docs":{"21":{"tf":2.0},"53":{"tf":1.0}}},"2":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":3,"docs":{"22":{"tf":2.6457513110645907},"28":{"tf":1.4142135623730951},"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"df":1,"docs":{"86":{"tf":2.0}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"d":{"df":20,"docs":{"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":2.0},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"133":{"tf":2.0},"134":{"tf":2.0},"135":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.7320508075688772},"141":{"tf":1.7320508075688772},"142":{"tf":1.0},"29":{"tf":1.0},"42":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"5":{"tf":2.0},"69":{"tf":1.0},"71":{"tf":1.4142135623730951},"82":{"tf":1.0}}},"df":16,"docs":{"117":{"tf":1.7320508075688772},"118":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"120":{"tf":1.0},"126":{"tf":1.4142135623730951},"128":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"38":{"tf":1.0},"5":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":3.1622776601683795}},"r":{"d":{"df":1,"docs":{"106":{"tf":1.0}}},"df":0,"docs":{}},"x":{"+":{"4":{"df":0,"docs":{},"y":{"=":{"2":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"y":{"df":1,"docs":{"32":{"tf":1.0}}},"×":{"2":{"df":1,"docs":{"71":{"tf":1.0}}},"3":{"df":2,"docs":{"71":{"tf":1.0},"82":{"tf":1.0}},"×":{"3":{"df":0,"docs":{},"×":{"3":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"δ":{"df":0,"docs":{},"x":{"1":{"1":{"df":0,"docs":{},"​":{"+":{"4":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"1":{"2":{"df":0,"docs":{},"​":{"=":{"0":{"df":1,"docs":{"42":{"tf":1.0}}},"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":{},"​":{"0":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"2":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"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":{")":{")":{"[":{"0":{"df":1,"docs":{"118":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"0":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"1":{".":{"1":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{".":{"1":{"df":1,"docs":{"29":{"tf":2.0}}},"2":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":11,"docs":{"118":{"tf":1.4142135623730951},"130":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.4142135623730951},"27":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"59":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":2.0},"87":{"tf":1.0}},"}":{"df":0,"docs":{},"m":{"df":1,"docs":{"52":{"tf":1.0}}}},"×":{"4":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}}},"5":{".":{"1":{".":{"1":{"df":2,"docs":{"32":{"tf":2.23606797749979},"34":{"tf":1.0}}},"2":{"df":3,"docs":{"32":{"tf":1.7320508075688772},"38":{"tf":1.0},"42":{"tf":1.4142135623730951}}},"3":{"df":4,"docs":{"33":{"tf":1.7320508075688772},"34":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":2,"docs":{"33":{"tf":1.0},"34":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"33":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"35":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"35":{"tf":1.0}}},"3":{"df":1,"docs":{"35":{"tf":1.0}}},"4":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"\\":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"6":{")":{")":{"[":{"0":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"1":{".":{"1":{"df":1,"docs":{"38":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":2,"docs":{"40":{"tf":1.0},"41":{"tf":1.0}}},"3":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":0,"docs":{},"±":{"3":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"84":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":4,"docs":{"118":{"tf":1.0},"22":{"tf":1.4142135623730951},"86":{"tf":2.0},"87":{"tf":1.4142135623730951}}},"7":{".":{"1":{".":{"1":{"df":4,"docs":{"45":{"tf":2.23606797749979},"54":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0}}},"2":{"df":1,"docs":{"45":{"tf":1.0}}},"3":{"df":2,"docs":{"45":{"tf":1.0},"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":4,"docs":{"101":{"tf":1.0},"48":{"tf":2.0},"49":{"tf":1.7320508075688772},"53":{"tf":1.0}}},"2":{"df":2,"docs":{"49":{"tf":1.4142135623730951},"53":{"tf":1.0}}},"3":{"df":1,"docs":{"101":{"tf":1.0}}},"4":{"df":1,"docs":{"54":{"tf":1.0}}},"5":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"49":{"tf":1.0}}},"2":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"df":1,"docs":{"50":{"tf":1.0}}},"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":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":1,"docs":{"81":{"tf":1.0}}},"8":{".":{"1":{".":{"1":{"df":2,"docs":{"52":{"tf":2.23606797749979},"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":2,"docs":{"53":{"tf":2.449489742783178},"54":{"tf":1.0}}},"2":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":2,"docs":{"54":{"tf":2.0},"62":{"tf":1.0}}},"2":{"df":1,"docs":{"54":{"tf":1.0}}},"3":{"df":1,"docs":{"54":{"tf":1.0}}},"4":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":1,"docs":{"131":{"tf":1.0}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"122":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":2,"docs":{"119":{"tf":2.6457513110645907},"125":{"tf":1.4142135623730951}}},"9":{".":{"1":{".":{"1":{"df":1,"docs":{"57":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":3,"docs":{"123":{"tf":1.0},"58":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"2":{"df":2,"docs":{"58":{"tf":1.0},"63":{"tf":1.0}}},"3":{"df":2,"docs":{"58":{"tf":1.0},"63":{"tf":1.0}}},"4":{"df":2,"docs":{"58":{"tf":1.0},"63":{"tf":1.0}}},"5":{"df":1,"docs":{"63":{"tf":1.0}}},"6":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"59":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"1":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"df":1,"docs":{"29":{"tf":1.0}}},"df":2,"docs":{"87":{"tf":1.0},"88":{"tf":1.0}}},"df":2,"docs":{"131":{"tf":1.0},"82":{"tf":1.0}},"×":{"9":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"_":{"0":{"0":{"0":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"1":{"0":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"1":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"1":{"1":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"1":{"0":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"0":{"1":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"1":{"1":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"120":{"tf":1.0}}},"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"120":{"tf":1.0}}},"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"m":{"^":{"2":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"'":{"df":1,"docs":{"136":{"tf":1.0}}},"(":{"df":0,"docs":{},"x":{"+":{"df":0,"docs":{},"α":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{")":{"=":{"b":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"t":{"2":{"df":0,"docs":{},"∂":{"2":{"df":0,"docs":{},"x":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"ϕ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"v":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{".":{"(":{"1":{"2":{".":{"1":{".":{"4":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"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":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"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":{},"t":{")":{":":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"3":{"df":0,"docs":{},"×":{"3":{",":{"b":{"1":{"2":{"2":{"df":0,"docs":{},"×":{"2":{"df":0,"docs":{},"​":{",":{"b":{"1":{"3":{"2":{"df":0,"docs":{},"×":{"2":{"df":0,"docs":{},"​":{",":{"b":{"2":{"3":{"2":{"df":0,"docs":{},"×":{"2":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{},"→":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"=":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"q":{"df":0,"docs":{},"−":{"1":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"41":{"tf":1.0}}}}}},"∂":{"df":0,"docs":{},"t":{"2":{"df":0,"docs":{},"∂":{"2":{"df":0,"docs":{},"x":{"df":1,"docs":{"94":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"\\":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}}}}},"^":{"'":{"df":1,"docs":{"134":{"tf":1.0}}},"d":{"+":{"df":0,"docs":{},"i":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":2,"docs":{"33":{"tf":1.4142135623730951},"40":{"tf":1.0}}}},"_":{"df":0,"docs":{},"i":{"df":2,"docs":{"48":{"tf":1.7320508075688772},"49":{"tf":1.0}}}},"a":{"^":{"df":0,"docs":{},"t":{"df":2,"docs":{"33":{"tf":1.0},"40":{"tf":1.4142135623730951}}},"​":{"=":{"2":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"−":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"+":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"a":{"^":{"+":{"1":{"df":2,"docs":{"119":{"tf":1.0},"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"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":{},"−":{"1":{"a":{"df":0,"docs":{},"h":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"(":{"a":{"a":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"−":{"1":{"a":{"df":0,"docs":{},"g":{".":{"(":{"6":{".":{"2":{".":{"1":{"df":1,"docs":{"40":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"o":{"df":0,"docs":{},"v":{"df":15,"docs":{"101":{"tf":1.0},"125":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"81":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"s":{"(":{"a":{"df":2,"docs":{"131":{"tf":1.0},"87":{"tf":1.0}}},"b":{"df":1,"docs":{"87":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"131":{"tf":1.0}}},"2":{"df":1,"docs":{"131":{"tf":1.0}}},"3":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"4":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"∣":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"95":{"tf":1.0}}}}}},"c":{"c":{"d":{"df":3,"docs":{"120":{"tf":1.7320508075688772},"121":{"tf":1.7320508075688772},"138":{"tf":1.4142135623730951}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"14":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"70":{"tf":2.0},"89":{"tf":1.0},"91":{"tf":1.0},"97":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"0":{"tf":1.0},"45":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":4,"docs":{"132":{"tf":1.0},"5":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"r":{"d":{"df":5,"docs":{"124":{"tf":1.0},"40":{"tf":1.0},"63":{"tf":1.4142135623730951},"67":{"tf":1.0},"84":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"35":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"140":{"tf":1.0},"69":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"120":{"tf":1.0},"121":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"i":{"df":7,"docs":{"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"49":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}},"df":16,"docs":{"105":{"tf":1.0},"11":{"tf":1.0},"111":{"tf":1.0},"16":{"tf":2.23606797749979},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"29":{"tf":1.0},"31":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.4142135623730951},"6":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0},"98":{"tf":1.0}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":17,"docs":{"101":{"tf":1.0},"12":{"tf":1.0},"120":{"tf":1.0},"141":{"tf":1.0},"23":{"tf":1.0},"26":{"tf":1.0},"29":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"t":{"df":7,"docs":{"100":{"tf":1.0},"14":{"tf":1.0},"33":{"tf":1.0},"5":{"tf":1.0},"77":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"v":{"df":6,"docs":{"139":{"tf":1.0},"16":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951},"52":{"tf":1.0},"57":{"tf":1.0},"64":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":7,"docs":{"11":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.4142135623730951},"26":{"tf":1.0},"33":{"tf":1.0},"48":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":7,"docs":{"11":{"tf":1.0},"117":{"tf":1.0},"138":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"92":{"tf":1.0}}}}},"d":{"df":7,"docs":{"112":{"tf":1.0},"117":{"tf":1.4142135623730951},"126":{"tf":1.0},"16":{"tf":1.0},"27":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":15,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"127":{"tf":1.0},"132":{"tf":1.0},"141":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"49":{"tf":1.0},"57":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"81":{"tf":1.0},"87":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":9,"docs":{"101":{"tf":1.0},"11":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"128":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.0},"55":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":20,"docs":{"131":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0},"37":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"95":{"tf":1.0}}}}}}},"df":7,"docs":{"122":{"tf":1.0},"14":{"tf":1.0},"32":{"tf":1.0},"35":{"tf":1.4142135623730951},"57":{"tf":1.0},"67":{"tf":1.0},"87":{"tf":1.0}},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"10":{"tf":1.0},"16":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"j":{"a":{"c":{"df":2,"docs":{"134":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"140":{"tf":1.0},"34":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"132":{"tf":1.0},"17":{"tf":1.0},"37":{"tf":1.0},"88":{"tf":1.0}}}}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":5,"docs":{"120":{"tf":1.0},"121":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":9,"docs":{"105":{"tf":1.0},"113":{"tf":1.0},"12":{"tf":1.0},"134":{"tf":1.0},"18":{"tf":1.0},"28":{"tf":1.0},"38":{"tf":1.0},"5":{"tf":1.0},"92":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"106":{"tf":1.0}}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"107":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"88":{"tf":1.0}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"123":{"tf":1.0},"134":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"​":{"a":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"]":{"[":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"]":{"=":{"[":{"df":0,"docs":{},"−":{"a":{"df":0,"docs":{},"g":{"0":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"−":{"a":{"df":0,"docs":{},"g":{".":{"(":{"5":{".":{"2":{".":{"1":{"df":1,"docs":{"33":{"tf":1.0}}},"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":{},"j":{"df":1,"docs":{"92":{"tf":1.0}}}},"d":{"df":2,"docs":{"14":{"tf":1.0},"5":{"tf":1.0}}},"df":1,"docs":{"92":{"tf":1.0}},"m":{"df":5,"docs":{"18":{"tf":1.0},"4":{"tf":1.4142135623730951},"47":{"tf":1.0},"70":{"tf":1.0},"89":{"tf":1.0}}},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"≈":{"b":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"a":{"b":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"b":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"a":{"b":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{".":{"(":{"1":{"7":{".":{"1":{".":{"1":{"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":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"j":{"df":1,"docs":{"134":{"tf":1.4142135623730951}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"22":{"tf":1.0},"27":{"tf":1.0},"48":{"tf":1.0},"67":{"tf":1.0},"79":{"tf":1.0}}}}},"l":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}}},"df":11,"docs":{"114":{"tf":1.0},"120":{"tf":1.0},"134":{"tf":1.0},"142":{"tf":3.0},"41":{"tf":1.0},"5":{"tf":1.0},"58":{"tf":1.0},"76":{"tf":1.4142135623730951},"79":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}},"g":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"r":{"a":{"df":3,"docs":{"25":{"tf":1.0},"29":{"tf":1.0},"4":{"tf":1.0}}},"df":0,"docs":{}}},"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":13,"docs":{"0":{"tf":1.0},"11":{"tf":1.4142135623730951},"120":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":2.0},"22":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"5":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.449489742783178},"59":{"tf":2.23606797749979},"75":{"tf":1.4142135623730951}}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":9,"docs":{"108":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":2.23606797749979},"40":{"tf":1.0},"43":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.4142135623730951}}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":2,"docs":{"26":{"tf":1.0},"29":{"tf":1.0}}},"df":0,"docs":{},"w":{"df":27,"docs":{"101":{"tf":1.0},"107":{"tf":1.0},"113":{"tf":1.0},"137":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.7320508075688772},"51":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"5":{"tf":1.0},"50":{"tf":1.0}},"g":{"df":11,"docs":{"120":{"tf":1.0},"121":{"tf":1.0},"15":{"tf":1.0},"25":{"tf":1.0},"38":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"85":{"tf":1.0},"95":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"h":{"a":{",":{"\\":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"\\":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{}},"^":{"c":{"_":{"df":0,"docs":{},"{":{"df":0,"docs":{},"j":{"df":0,"docs":{},"k":{"df":1,"docs":{"53":{"tf":2.23606797749979}}}}}},"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"_":{"c":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":10,"docs":{"120":{"tf":2.0},"21":{"tf":3.0},"28":{"tf":2.23606797749979},"32":{"tf":1.4142135623730951},"45":{"tf":1.0},"53":{"tf":2.8284271247461903},"54":{"tf":3.1622776601683795},"62":{"tf":1.7320508075688772},"67":{"tf":1.0},"87":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":9,"docs":{"114":{"tf":1.0},"22":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"59":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"10":{"tf":1.0},"131":{"tf":1.0},"53":{"tf":1.4142135623730951},"74":{"tf":1.0},"80":{"tf":1.0}},"n":{"df":6,"docs":{"29":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":5,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"120":{"tf":1.0},"37":{"tf":1.0},"53":{"tf":1.4142135623730951}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":7,"docs":{"134":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":2.0},"22":{"tf":1.0},"53":{"tf":1.4142135623730951},"7":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"120":{"tf":1.0},"74":{"tf":1.0},"90":{"tf":1.0}}}}}},"p":{"df":1,"docs":{"142":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}},"n":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"2":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"−":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":0,"docs":{},"−":{"1":{"(":{"df":0,"docs":{},"x":{")":{"+":{"df":0,"docs":{},"h":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"df":0,"docs":{},"−":{"1":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":9,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"107":{"tf":1.0},"119":{"tf":1.0},"130":{"tf":1.0},"27":{"tf":1.0},"59":{"tf":1.0},"7":{"tf":1.0},"95":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":1,"docs":{"92":{"tf":1.0}},"i":{"df":2,"docs":{"4":{"tf":1.0},"92":{"tf":1.0}}}},"t":{"df":5,"docs":{"115":{"tf":1.0},"134":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.4142135623730951},"95":{"tf":1.0}}},"z":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"d":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"74":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":2,"docs":{"63":{"tf":1.0},"82":{"tf":1.0}}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"74":{"tf":1.4142135623730951},"80":{"tf":1.0}}}}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"105":{"tf":1.0},"137":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"5":{"tf":1.0},"75":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"4":{"tf":1.0}}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.0},"29":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"10":{"tf":1.0}}},"r":{"df":3,"docs":{"4":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"c":{"df":16,"docs":{"11":{"tf":1.0},"138":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"75":{"tf":1.0},"83":{"tf":1.0},"93":{"tf":1.0}}},"df":43,"docs":{"107":{"tf":1.0},"11":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.4142135623730951},"34":{"tf":1.0},"38":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.7320508075688772},"47":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"6":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"68":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":45,"docs":{"101":{"tf":1.4142135623730951},"102":{"tf":1.0},"11":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"132":{"tf":1.0},"136":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":2.449489742783178},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.4142135623730951},"4":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"5":{"tf":2.449489742783178},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.4142135623730951},"69":{"tf":1.0},"7":{"tf":1.4142135623730951},"73":{"tf":1.0},"76":{"tf":1.0},"79":{"tf":1.0},"84":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"51":{"tf":1.0},"66":{"tf":1.0},"95":{"tf":1.0}}}}},"x":{"df":1,"docs":{"11":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"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":{"115":{"tf":1.0}}}}}}}}}}}}},"df":33,"docs":{"100":{"tf":1.0},"101":{"tf":1.7320508075688772},"103":{"tf":1.0},"105":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772},"114":{"tf":2.0},"115":{"tf":1.7320508075688772},"122":{"tf":1.0},"123":{"tf":2.6457513110645907},"127":{"tf":1.4142135623730951},"129":{"tf":1.0},"134":{"tf":2.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":2.6457513110645907},"32":{"tf":1.0},"45":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"5":{"tf":1.0},"53":{"tf":2.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.4142135623730951},"60":{"tf":1.0},"69":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951},"95":{"tf":2.23606797749979},"96":{"tf":1.0},"97":{"tf":1.0}}}}}}}}},"q":{"_":{"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"76":{"tf":1.4142135623730951},"79":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":16,"docs":{"101":{"tf":1.0},"105":{"tf":1.7320508075688772},"129":{"tf":1.0},"28":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"61":{"tf":1.0},"64":{"tf":1.0},"82":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"101":{"tf":1.0},"49":{"tf":1.0},"59":{"tf":1.0},"76":{"tf":1.0},"87":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"df":12,"docs":{"102":{"tf":1.4142135623730951},"106":{"tf":1.0},"119":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"5":{"tf":1.0},"54":{"tf":1.7320508075688772},"71":{"tf":1.0},"87":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.0}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"15":{"tf":1.0},"40":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"90":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"80":{"tf":1.0},"81":{"tf":1.0}}}}}}},"x":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"(":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"+":{"df":0,"docs":{},"h":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"m":{"2":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"h":{"2":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"β":{"df":0,"docs":{},"t":{"df":0,"docs":{},"v":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"β":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"≤":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"k":{"df":1,"docs":{"57":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"s":{"df":8,"docs":{"100":{"tf":1.0},"18":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"56":{"tf":1.0},"91":{"tf":1.0}}}},"m":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"'":{"df":1,"docs":{"15":{"tf":1.0}}},"df":2,"docs":{"14":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"101":{"tf":1.0},"113":{"tf":1.0},"134":{"tf":1.0},"4":{"tf":1.0},"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"85":{"tf":1.0}}}},"y":{"df":5,"docs":{"136":{"tf":1.0},"16":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"35":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"91":{"tf":1.0},"97":{"tf":1.0}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"52":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"52":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"71":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"71":{"tf":1.0}}}}}}},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"k":{"df":2,"docs":{"29":{"tf":1.0},"34":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":7,"docs":{"127":{"tf":1.0},"18":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"38":{"tf":1.0},"44":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"119":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"16":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":5,"docs":{"136":{"tf":1.0},"34":{"tf":1.0},"67":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":7,"docs":{"22":{"tf":1.0},"26":{"tf":1.0},"34":{"tf":1.0},"71":{"tf":1.0},"82":{"tf":1.0},"90":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":17,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"120":{"tf":1.0},"130":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"47":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"66":{"tf":1.0},"69":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951}}}}},"r":{"df":2,"docs":{"20":{"tf":1.0},"21":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"48":{"tf":1.0},"57":{"tf":1.0}}}}}}}}},"t":{"b":{"=":{"0":{"df":1,"docs":{"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"69":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"27":{"tf":1.0},"50":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"76":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"50":{"tf":1.0},"54":{"tf":1.0},"68":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"=":{"df":0,"docs":{},"{":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"3":{"tf":1.0}}}}}},"df":1,"docs":{"1":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":15,"docs":{"101":{"tf":1.0},"118":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0},"16":{"tf":1.0},"27":{"tf":1.0},"34":{"tf":1.0},"4":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"76":{"tf":1.0},"77":{"tf":1.0}}},"y":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}},"x":{"=":{"b":{",":{"(":{"5":{".":{"1":{".":{"1":{"df":1,"docs":{"32":{"tf":1.0}}},"df":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":{"38":{"tf":1.0}},"i":{"df":6,"docs":{"32":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":2.23606797749979},"40":{"tf":1.0},"43":{"tf":1.0},"75":{"tf":1.0}},"s":{"=":{"0":{"df":2,"docs":{"117":{"tf":1.4142135623730951},"67":{"tf":1.0}}},"1":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"δ":{"df":0,"docs":{},"x":{"=":{"0":{".":{"(":{"5":{".":{"1":{".":{"2":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"n":{"df":0,"docs":{},"×":{"df":0,"docs":{},"n":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}},"b":{"(":{"d":{",":{"d":{"^":{")":{"=":{"df":0,"docs":{},"{":{"2":{"df":0,"docs":{},"κ":{"df":0,"docs":{},"​":{"d":{"^":{"(":{"d":{"^":{"d":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"1":{")":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"d":{"^":{"d":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"d":{"<":{"d":{"^":{"d":{"df":0,"docs":{},"≥":{"d":{"^":{",":{"df":0,"docs":{},"​":{"(":{"1":{"8":{".":{"3":{".":{"2":{"df":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{",":{"d":{"^":{"2":{")":{"=":{"df":0,"docs":{},"{":{"8":{"df":0,"docs":{},"κ":{"df":0,"docs":{},"​":{"d":{"^":{"(":{"d":{"^":{"2":{"d":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"1":{")":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"d":{"^":{"2":{"d":{"2":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"d":{"<":{"d":{"^":{"d":{"df":0,"docs":{},"≥":{"d":{"^":{",":{"df":0,"docs":{},"​":{"(":{"2":{"1":{".":{"3":{".":{"1":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"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":{},"j":{"df":1,"docs":{"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"=":{"[":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"−":{"1":{"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":{}},"[":{"0":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"\\":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{"df":1,"docs":{"86":{"tf":1.0}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"86":{"tf":2.0}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"86":{"tf":2.23606797749979}}}}}}}},"a":{"c":{"df":0,"docs":{},"k":{"df":6,"docs":{"134":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"52":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"21":{"tf":1.4142135623730951},"23":{"tf":1.0},"53":{"tf":1.7320508075688772},"58":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":8,"docs":{"104":{"tf":1.0},"11":{"tf":2.23606797749979},"12":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.4142135623730951},"58":{"tf":1.0},"96":{"tf":1.4142135623730951},"97":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"c":{"df":5,"docs":{"16":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":2,"docs":{"45":{"tf":1.7320508075688772},"90":{"tf":1.0}}}},"r":{"b":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"142":{"tf":1.7320508075688772},"81":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":1,"docs":{"87":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":26,"docs":{"101":{"tf":4.0},"113":{"tf":1.0},"114":{"tf":2.0},"119":{"tf":2.8284271247461903},"121":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"134":{"tf":2.0},"139":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"16":{"tf":1.7320508075688772},"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":2.8284271247461903},"49":{"tf":1.4142135623730951},"50":{"tf":2.449489742783178},"52":{"tf":1.0},"54":{"tf":2.23606797749979},"55":{"tf":1.0},"62":{"tf":1.7320508075688772},"66":{"tf":1.0},"67":{"tf":2.23606797749979},"68":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"_":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"m":{"b":{"d":{"a":{"(":{"df":0,"docs":{},"x":{"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":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"i":{"df":7,"docs":{"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"125":{"tf":1.0},"54":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":2.0}}}}},"df":0,"docs":{}}}}}}}}}}},"y":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":4,"docs":{"124":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.0},"140":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":41,"docs":{"0":{"tf":1.0},"101":{"tf":1.7320508075688772},"102":{"tf":1.0},"105":{"tf":1.4142135623730951},"108":{"tf":1.0},"116":{"tf":1.0},"119":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.0},"134":{"tf":1.0},"141":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"24":{"tf":1.0},"3":{"tf":1.0},"35":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":2.0},"51":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951},"57":{"tf":1.0},"61":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.0},"81":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"92":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0}}},"i":{"c":{"df":2,"docs":{"30":{"tf":1.0},"8":{"tf":1.0}}},"df":9,"docs":{"141":{"tf":1.0},"37":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.0},"85":{"tf":1.0},"95":{"tf":1.4142135623730951}}}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"120":{"tf":2.0}}}}},"c":{"df":9,"docs":{"15":{"tf":1.4142135623730951},"32":{"tf":2.23606797749979},"33":{"tf":2.23606797749979},"34":{"tf":3.0},"42":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979},"66":{"tf":3.1622776601683795},"67":{"tf":1.4142135623730951},"68":{"tf":2.0}}},"df":19,"docs":{"101":{"tf":1.4142135623730951},"106":{"tf":2.0},"113":{"tf":1.4142135623730951},"114":{"tf":2.0},"119":{"tf":1.0},"125":{"tf":1.4142135623730951},"131":{"tf":3.0},"15":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.0},"70":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":2.8284271247461903},"95":{"tf":1.4142135623730951}},"e":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"[":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"[":{"0":{"df":1,"docs":{"117":{"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":{},"r":{"df":1,"docs":{"38":{"tf":1.0}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":21,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.4142135623730951},"123":{"tf":1.0},"126":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"90":{"tf":1.0}}}}},"df":16,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"79":{"tf":1.4142135623730951},"82":{"tf":1.0},"95":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":11,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"121":{"tf":1.0},"141":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"4":{"tf":1.0},"55":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0}}}}},"g":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"127":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":16,"docs":{"117":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.0},"94":{"tf":1.0}},"{":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"59":{"tf":2.0}}}}},"p":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"18":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":10,"docs":{"27":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"73":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":9,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0},"66":{"tf":1.4142135623730951},"7":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}}}},"t":{"a":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":42,"docs":{"101":{"tf":2.23606797749979},"102":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"120":{"tf":1.0},"123":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"133":{"tf":1.0},"134":{"tf":1.4142135623730951},"16":{"tf":2.449489742783178},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"27":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"47":{"tf":1.0},"49":{"tf":1.4142135623730951},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":2.23606797749979},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.4142135623730951},"69":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"105":{"tf":1.0},"29":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"3":{"tf":1.0}}}}}},"df":0,"docs":{},"j":{"df":1,"docs":{"82":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"100":{"tf":2.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"45":{"tf":1.4142135623730951},"55":{"tf":1.0}}}},"df":0,"docs":{}}}}},"​":{"=":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"​":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"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":{}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}}},"df":6,"docs":{"32":{"tf":1.0},"33":{"tf":1.7320508075688772},"37":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":2.6457513110645907},"82":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"e":{"df":4,"docs":{"114":{"tf":1.4142135623730951},"45":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0}}}}},"o":{"d":{"df":0,"docs":{},"i":{"df":9,"docs":{"106":{"tf":1.0},"14":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"91":{"tf":1.0},"94":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"74":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":8,"docs":{"116":{"tf":1.0},"122":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":11,"docs":{"0":{"tf":1.0},"1":{"tf":1.7320508075688772},"104":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"12":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"7":{"tf":1.0}},"{":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"2":{"0":{"2":{"4":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"134":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":33,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"103":{"tf":1.0},"106":{"tf":1.0},"113":{"tf":1.4142135623730951},"12":{"tf":1.0},"124":{"tf":1.4142135623730951},"127":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.0},"25":{"tf":1.4142135623730951},"34":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"80":{"tf":1.0},"88":{"tf":1.7320508075688772},"89":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"94":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":5,"docs":{"114":{"tf":1.0},"117":{"tf":1.7320508075688772},"120":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"87":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":3,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0}}},"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":48,"docs":{"100":{"tf":3.1622776601683795},"101":{"tf":2.6457513110645907},"103":{"tf":2.0},"105":{"tf":2.8284271247461903},"109":{"tf":2.23606797749979},"110":{"tf":1.0},"111":{"tf":2.0},"112":{"tf":3.605551275463989},"113":{"tf":2.6457513110645907},"114":{"tf":2.8284271247461903},"115":{"tf":1.4142135623730951},"117":{"tf":2.8284271247461903},"121":{"tf":1.0},"123":{"tf":2.449489742783178},"133":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"31":{"tf":2.0},"32":{"tf":3.872983346207417},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"38":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":2.23606797749979},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":2.0},"55":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"68":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0},"87":{"tf":1.0},"91":{"tf":1.7320508075688772},"92":{"tf":1.7320508075688772},"96":{"tf":1.0},"97":{"tf":1.4142135623730951},"98":{"tf":2.0},"99":{"tf":4.795831523312719}}}}},"df":13,"docs":{"120":{"tf":2.23606797749979},"121":{"tf":1.7320508075688772},"135":{"tf":1.0},"136":{"tf":1.4142135623730951},"137":{"tf":1.4142135623730951},"14":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"53":{"tf":2.0},"54":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"82":{"tf":1.0}}},"df":0,"docs":{}}},"x":{"df":5,"docs":{"120":{"tf":1.7320508075688772},"121":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"45":{"tf":1.0},"5":{"tf":1.4142135623730951}}}},"p":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"[":{"0":{"df":1,"docs":{"117":{"tf":1.0}}},"1":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"117":{"tf":1.0}}}}}},"df":3,"docs":{"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"125":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":6,"docs":{"102":{"tf":1.0},"105":{"tf":1.0},"120":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0}}},"n":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"142":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"g":{"df":7,"docs":{"10":{"tf":1.0},"120":{"tf":1.0},"131":{"tf":1.0},"16":{"tf":1.0},"62":{"tf":1.0},"87":{"tf":1.4142135623730951},"95":{"tf":1.0}}}}},"o":{"a":{"d":{"df":3,"docs":{"137":{"tf":1.0},"139":{"tf":1.4142135623730951},"141":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"37":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":3,"docs":{"1":{"tf":1.0},"42":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"h":{"df":5,"docs":{"121":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.4142135623730951},"139":{"tf":1.0},"141":{"tf":1.0}}}},"}":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"ϵ":{"0":{"df":2,"docs":{"90":{"tf":1.4142135623730951},"91":{"tf":2.0}},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"j":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"d":{"df":0,"docs":{},"x":{"=":{"df":0,"docs":{},"∫":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"d":{"df":0,"docs":{},"x":{"df":1,"docs":{"90":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"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":2,"docs":{"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"90":{"tf":1.4142135623730951}},"​":{"df":0,"docs":{},"​":{"d":{"df":0,"docs":{},"x":{"=":{"df":0,"docs":{},"∫":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"j":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"d":{"df":0,"docs":{},"x":{"df":1,"docs":{"90":{"tf":1.0}}}},"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":{"0":{"df":3,"docs":{"108":{"tf":1.0},"134":{"tf":1.0},"141":{"tf":1.0}}},"1":{"df":5,"docs":{"118":{"tf":1.0},"121":{"tf":1.0},"134":{"tf":1.4142135623730951},"141":{"tf":1.0},"55":{"tf":1.0}}},"=":{"0":{".":{"6":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"1":{",":{"df":0,"docs":{},"j":{",":{"df":0,"docs":{},"k":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"α":{"df":0,"docs":{},"j":{"df":0,"docs":{},"k":{"c":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"_":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"16":{"tf":2.6457513110645907}}}},"df":1,"docs":{"16":{"tf":1.0}}},"l":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":41,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"112":{"tf":1.4142135623730951},"114":{"tf":1.0},"118":{"tf":2.23606797749979},"12":{"tf":1.0},"120":{"tf":2.449489742783178},"123":{"tf":1.0},"124":{"tf":2.0},"125":{"tf":2.0},"127":{"tf":1.4142135623730951},"130":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":2.0},"5":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"6":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"79":{"tf":1.0},"8":{"tf":1.0},"80":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.4142135623730951},"88":{"tf":1.7320508075688772},"9":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"df":1,"docs":{"74":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":9,"docs":{"117":{"tf":1.0},"125":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.4142135623730951},"29":{"tf":1.0},"58":{"tf":1.0},"76":{"tf":1.7320508075688772},"8":{"tf":1.0},"82":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"18":{"tf":1.0}}}},"n":{"d":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"135":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"p":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"16":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":1.0}}}},"c":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"17":{"tf":1.0},"31":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"16":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"29":{"tf":1.0},"82":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"71":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"e":{"df":43,"docs":{"101":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.0},"116":{"tf":1.4142135623730951},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"122":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.7320508075688772},"134":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.0},"43":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"57":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.4142135623730951},"73":{"tf":1.0},"81":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"91":{"tf":1.0}}}}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"79":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"s":{"df":4,"docs":{"101":{"tf":1.0},"126":{"tf":1.0},"58":{"tf":1.0},"65":{"tf":1.0}}}}},"c":{"d":{".":{"b":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"120":{"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":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"_":{"c":{"c":{"d":{"(":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"120":{"tf":1.0}}}}},"df":0,"docs":{}}},"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":{},"i":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}}}},"df":10,"docs":{"120":{"tf":1.0},"121":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"141":{"tf":1.0},"51":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.0},"55":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":10,"docs":{"100":{"tf":1.7320508075688772},"101":{"tf":1.0},"119":{"tf":1.7320508075688772},"126":{"tf":1.7320508075688772},"131":{"tf":3.605551275463989},"27":{"tf":2.449489742783178},"62":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772},"67":{"tf":1.7320508075688772},"87":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"126":{"tf":1.4142135623730951},"67":{"tf":3.605551275463989},"87":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"'":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"136":{"tf":2.0},"29":{"tf":1.0},"85":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"45":{"tf":1.4142135623730951},"5":{"tf":1.0},"52":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":16,"docs":{"115":{"tf":1.0},"124":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"49":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"79":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"j":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"2":{"tf":1.0}}}}},"df":0,"docs":{}}}},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":9,"docs":{"107":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.0},"48":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.7320508075688772},"88":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":14,"docs":{"11":{"tf":1.0},"114":{"tf":1.0},"16":{"tf":1.4142135623730951},"29":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.4142135623730951},"41":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"6":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951}}}}}}},"n":{"df":0,"docs":{},"g":{"df":20,"docs":{"106":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"120":{"tf":1.0},"124":{"tf":1.0},"130":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"101":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"2":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"4":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"96":{"tf":1.4142135623730951},"97":{"tf":1.0},"98":{"tf":1.0}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"20":{"tf":1.4142135623730951},"32":{"tf":1.0},"5":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"16":{"tf":1.0},"45":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":11,"docs":{"118":{"tf":1.0},"120":{"tf":1.7320508075688772},"121":{"tf":1.0},"131":{"tf":1.0},"134":{"tf":1.0},"136":{"tf":1.0},"139":{"tf":1.0},"29":{"tf":1.0},"67":{"tf":2.23606797749979},"75":{"tf":1.0},"87":{"tf":2.0}}}},"df":0,"docs":{},"n":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"41":{"tf":1.0}},"f":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":4,"docs":{"1":{"tf":1.0},"142":{"tf":2.23606797749979},"2":{"tf":1.0},"3":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"i":{"c":{"df":7,"docs":{"113":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"16":{"tf":1.0},"28":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":6,"docs":{"113":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.0},"27":{"tf":1.0},"5":{"tf":1.0},"67":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"15":{"tf":1.0},"9":{"tf":1.0},"95":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"c":{"df":0,"docs":{},"l":{"df":2,"docs":{"101":{"tf":1.0},"5":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"74":{"tf":1.0},"82":{"tf":1.0}}}},"v":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"142":{"tf":3.4641016151377544}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"ϵ":{"df":0,"docs":{},"≥":{"0":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}},"≥":{"df":0,"docs":{},"ϵ":{".":{"df":0,"docs":{},"​":{"(":{"2":{".":{"3":{".":{"1":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"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":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"81":{"tf":1.4142135623730951},"92":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"16":{"tf":1.0}},"i":{"c":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"4":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"23":{"tf":1.0},"42":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"114":{"tf":1.0},"52":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"21":{"tf":1.0}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"126":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":15,"docs":{"10":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":1.0},"121":{"tf":1.0},"22":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0},"91":{"tf":1.0}},"r":{"df":4,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"49":{"tf":1.0},"95":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":14,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.7320508075688772},"127":{"tf":1.0},"134":{"tf":1.0},"140":{"tf":1.0},"22":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"df":7,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"45":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{},"u":{"df":1,"docs":{"2":{"tf":1.0}}}},"o":{"/":{"b":{"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":7,"docs":{"116":{"tf":1.0},"125":{"tf":1.7320508075688772},"131":{"tf":1.0},"142":{"tf":1.0},"25":{"tf":1.0},"82":{"tf":2.0},"85":{"tf":1.0}},"{":{"1":{"df":1,"docs":{"87":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"w":{")":{"=":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"v":{")":{"df":0,"docs":{},"−":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"w":{"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":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"45":{"tf":2.449489742783178}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"101":{"tf":1.0},"118":{"tf":1.0},"142":{"tf":1.0},"66":{"tf":1.0}}}}}}}}}}},"df":3,"docs":{"1":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":14,"docs":{"101":{"tf":1.4142135623730951},"102":{"tf":1.0},"117":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.0},"131":{"tf":1.4142135623730951},"134":{"tf":1.4142135623730951},"17":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":2.0},"87":{"tf":2.0}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"86":{"tf":5.0990195135927845}},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":1,"docs":{"71":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"117":{"tf":1.7320508075688772},"65":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"d":{"df":7,"docs":{"101":{"tf":1.4142135623730951},"114":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"16":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":16,"docs":{"113":{"tf":1.0},"120":{"tf":1.0},"135":{"tf":1.7320508075688772},"136":{"tf":1.0},"137":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"139":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"n":{"df":7,"docs":{"26":{"tf":1.7320508075688772},"32":{"tf":1.0},"34":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"6":{"tf":1.0},"91":{"tf":1.0}}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}},"df":10,"docs":{"103":{"tf":1.0},"122":{"tf":1.0},"134":{"tf":1.0},"16":{"tf":1.4142135623730951},"5":{"tf":1.0},"54":{"tf":1.0},"6":{"tf":1.0},"80":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":6,"docs":{"112":{"tf":1.0},"123":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"81":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"113":{"tf":1.0},"128":{"tf":1.0},"14":{"tf":1.4142135623730951},"32":{"tf":1.0},"79":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":7,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.4142135623730951},"79":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.0},"2":{"tf":1.0}}},"t":{"df":1,"docs":{"80":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0}}},"t":{"df":1,"docs":{"56":{"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":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"16":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951},"50":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":3,"docs":{"103":{"tf":1.0},"114":{"tf":1.0},"24":{"tf":1.0}}},"x":{"<":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"131":{"tf":3.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":20,"docs":{"100":{"tf":1.0},"112":{"tf":1.0},"14":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"22":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"37":{"tf":1.0},"4":{"tf":1.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"5":{"tf":2.0},"6":{"tf":1.0},"69":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"92":{"tf":1.4142135623730951}}}},"i":{"c":{"df":4,"docs":{"101":{"tf":1.0},"11":{"tf":1.0},"118":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"120":{"tf":1.0},"123":{"tf":1.0},"132":{"tf":1.0},"26":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"6":{"tf":1.4142135623730951},"63":{"tf":1.0},"70":{"tf":1.0},"82":{"tf":1.0},"92":{"tf":1.0}}},"s":{"df":1,"docs":{"22":{"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":2,"docs":{"4":{"tf":1.0},"5":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":14,"docs":{"117":{"tf":1.0},"120":{"tf":1.0},"126":{"tf":2.0},"28":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":2.449489742783178},"68":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.4142135623730951},"83":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"15":{"tf":1.0},"30":{"tf":1.0},"56":{"tf":1.0},"75":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"114":{"tf":1.0},"135":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.0}}}}}}},"df":58,"docs":{"101":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"109":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"120":{"tf":2.23606797749979},"121":{"tf":1.4142135623730951},"123":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"131":{"tf":2.23606797749979},"139":{"tf":1.7320508075688772},"141":{"tf":1.7320508075688772},"142":{"tf":1.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"35":{"tf":1.0},"41":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"5":{"tf":1.7320508075688772},"50":{"tf":2.0},"53":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772},"67":{"tf":2.0},"7":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":2.449489742783178},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":2.6457513110645907},"80":{"tf":2.0},"82":{"tf":2.8284271247461903},"83":{"tf":1.7320508075688772},"84":{"tf":1.0},"86":{"tf":2.23606797749979},"88":{"tf":1.0},"92":{"tf":1.7320508075688772}},"e":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"_":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"m":{"b":{"d":{"a":{"(":{"df":0,"docs":{},"x":{"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":{}}}}}},"n":{"c":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"t":{"df":16,"docs":{"116":{"tf":1.0},"127":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.0},"27":{"tf":1.0},"31":{"tf":1.0},"4":{"tf":1.4142135623730951},"41":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.4142135623730951},"51":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.0},"83":{"tf":1.0}},"u":{"df":3,"docs":{"75":{"tf":1.0},"79":{"tf":1.0},"95":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"34":{"tf":1.0},"41":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"45":{"tf":1.0},"6":{"tf":1.0},"74":{"tf":1.0},"98":{"tf":1.0}}}},"l":{"df":0,"docs":{},"u":{"d":{"df":3,"docs":{"23":{"tf":1.0},"54":{"tf":1.0},"75":{"tf":1.0}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":45,"docs":{"100":{"tf":2.0},"103":{"tf":1.4142135623730951},"105":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.0},"110":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.7320508075688772},"115":{"tf":1.4142135623730951},"12":{"tf":1.0},"123":{"tf":1.0},"15":{"tf":2.23606797749979},"16":{"tf":2.8284271247461903},"18":{"tf":1.4142135623730951},"29":{"tf":1.0},"31":{"tf":2.0},"32":{"tf":4.47213595499958},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"38":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":2.449489742783178},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"68":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"79":{"tf":1.0},"87":{"tf":1.0},"92":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.4142135623730951},"98":{"tf":1.4142135623730951},"99":{"tf":2.449489742783178}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":1.0},"12":{"tf":1.0}}}}}}},"u":{"c":{"df":1,"docs":{"5":{"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":15,"docs":{"113":{"tf":1.0},"120":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":2.23606797749979},"54":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"82":{"tf":1.0}}}}},"n":{"df":2,"docs":{"10":{"tf":1.0},"95":{"tf":1.0}}},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"14":{"tf":1.0},"80":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"58":{"tf":1.0},"74":{"tf":1.0}}}}},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":14,"docs":{"103":{"tf":1.0},"105":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"12":{"tf":1.0},"25":{"tf":1.4142135623730951},"30":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":3.3166247903554},"53":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":10,"docs":{"132":{"tf":1.0},"140":{"tf":1.0},"22":{"tf":1.0},"33":{"tf":1.0},"38":{"tf":1.0},"48":{"tf":1.0},"55":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"9":{"tf":1.0}}}},"r":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":18,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"103":{"tf":1.0},"113":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"14":{"tf":2.0},"18":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.0},"89":{"tf":2.6457513110645907},"90":{"tf":2.23606797749979},"91":{"tf":2.0},"92":{"tf":1.4142135623730951},"93":{"tf":2.0},"94":{"tf":1.4142135623730951},"97":{"tf":1.0},"99":{"tf":1.0}}}}},"i":{"d":{"df":30,"docs":{"101":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.4142135623730951},"114":{"tf":1.0},"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"131":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"38":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"6":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"9":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"27":{"tf":1.0},"29":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":20,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.0},"115":{"tf":1.0},"119":{"tf":1.7320508075688772},"125":{"tf":1.0},"130":{"tf":1.0},"14":{"tf":1.0},"142":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0},"37":{"tf":1.0},"57":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.7320508075688772},"77":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":18,"docs":{"10":{"tf":1.0},"107":{"tf":1.4142135623730951},"112":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"58":{"tf":1.7320508075688772},"63":{"tf":2.0},"7":{"tf":1.0},"70":{"tf":1.0},"82":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"51":{"tf":1.0},"79":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.0},"94":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":13,"docs":{"111":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0}},"t":{"df":27,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"111":{"tf":1.0},"15":{"tf":2.23606797749979},"16":{"tf":3.1622776601683795},"18":{"tf":2.23606797749979},"30":{"tf":1.0},"32":{"tf":2.23606797749979},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.7320508075688772},"40":{"tf":1.4142135623730951},"41":{"tf":2.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":1.7320508075688772},"55":{"tf":1.0},"57":{"tf":1.0},"65":{"tf":1.4142135623730951},"99":{"tf":1.0}}}}}},"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":9,"docs":{"25":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.7320508075688772},"49":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"a":{"c":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"[":{"df":0,"docs":{},"i":{"df":4,"docs":{"54":{"tf":1.7320508075688772},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"67":{"tf":1.7320508075688772}}},"x":{"df":0,"docs":{},"i":{"df":2,"docs":{"119":{"tf":1.7320508075688772},"125":{"tf":1.0}}}}},"df":4,"docs":{"54":{"tf":2.23606797749979},"62":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":54,"docs":{"1":{"tf":1.0},"100":{"tf":2.23606797749979},"101":{"tf":4.0},"102":{"tf":1.7320508075688772},"103":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"113":{"tf":2.6457513110645907},"114":{"tf":2.6457513110645907},"115":{"tf":2.23606797749979},"116":{"tf":2.0},"117":{"tf":2.0},"118":{"tf":1.7320508075688772},"119":{"tf":2.0},"120":{"tf":2.449489742783178},"121":{"tf":1.4142135623730951},"122":{"tf":2.0},"123":{"tf":3.0},"124":{"tf":1.0},"125":{"tf":1.7320508075688772},"126":{"tf":2.449489742783178},"127":{"tf":1.0},"128":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":2.0},"140":{"tf":1.7320508075688772},"141":{"tf":1.4142135623730951},"142":{"tf":1.7320508075688772},"16":{"tf":3.872983346207417},"17":{"tf":1.0},"18":{"tf":2.0},"30":{"tf":1.0},"31":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":3.3166247903554},"49":{"tf":1.7320508075688772},"50":{"tf":1.7320508075688772},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.449489742783178},"55":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"57":{"tf":2.8284271247461903},"58":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.7320508075688772},"62":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"106":{"tf":1.0},"114":{"tf":1.0},"124":{"tf":1.0},"32":{"tf":1.4142135623730951},"42":{"tf":1.0},"5":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"x":{"df":0,"docs":{},"t":{"df":9,"docs":{"104":{"tf":1.0},"109":{"tf":1.0},"138":{"tf":1.0},"16":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"83":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"11":{"tf":1.0}}},"u":{"df":34,"docs":{"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.4142135623730951},"108":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.4142135623730951},"118":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":2.23606797749979},"135":{"tf":1.0},"138":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":2.0},"51":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"55":{"tf":1.7320508075688772},"6":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"89":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.7320508075688772},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":6,"docs":{"142":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"5":{"tf":1.0},"69":{"tf":2.449489742783178},"70":{"tf":2.23606797749979},"72":{"tf":1.4142135623730951}}}}}}},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"105":{"tf":1.0},"11":{"tf":1.0},"5":{"tf":1.0},"90":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.7320508075688772}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"1":{"tf":1.0},"2":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":12,"docs":{"103":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"5":{"tf":1.0},"50":{"tf":1.0},"67":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":12,"docs":{"119":{"tf":1.0},"121":{"tf":1.0},"126":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"40":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"75":{"tf":1.0},"91":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0}}},"t":{"df":3,"docs":{"16":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":22,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"105":{"tf":1.0},"11":{"tf":1.7320508075688772},"120":{"tf":1.0},"122":{"tf":1.0},"142":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.7320508075688772},"20":{"tf":2.449489742783178},"21":{"tf":1.0},"22":{"tf":2.0},"23":{"tf":1.7320508075688772},"29":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":2.23606797749979},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"68":{"tf":1.0}}},"s":{"df":5,"docs":{"12":{"tf":1.0},"20":{"tf":1.0},"34":{"tf":1.0},"66":{"tf":1.0},"71":{"tf":1.0}}},"t":{"df":2,"docs":{"51":{"tf":1.0},"9":{"tf":1.0}}}},"x":{"df":5,"docs":{"114":{"tf":1.0},"20":{"tf":2.23606797749979},"21":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951}}}}}},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":19,"docs":{"105":{"tf":2.0},"108":{"tf":1.0},"111":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.4142135623730951},"140":{"tf":1.0},"15":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.4142135623730951},"5":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"85":{"tf":1.0},"88":{"tf":1.0},"91":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":4,"docs":{"117":{"tf":1.0},"120":{"tf":1.4142135623730951},"142":{"tf":3.4641016151377544},"28":{"tf":1.0}}},"y":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"136":{"tf":1.0},"4":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"131":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"76":{"tf":1.7320508075688772},"77":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"48":{"tf":1.0},"51":{"tf":1.0}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":17,"docs":{"106":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"119":{"tf":1.0},"14":{"tf":1.4142135623730951},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"42":{"tf":1.4142135623730951},"5":{"tf":1.0},"74":{"tf":1.0},"77":{"tf":1.0},"82":{"tf":1.4142135623730951},"89":{"tf":1.0},"99":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"15":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"s":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"]":{")":{"*":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"v":{"]":{")":{"*":{"df":0,"docs":{},"v":{"df":0,"docs":{},"v":{".":{"df":0,"docs":{},"v":{"df":0,"docs":{},"v":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"t":{"df":6,"docs":{"113":{"tf":1.0},"121":{"tf":1.0},"21":{"tf":1.0},"26":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"b":{"df":5,"docs":{"102":{"tf":1.0},"17":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.4142135623730951},"60":{"tf":1.0}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"101":{"tf":1.0},"114":{"tf":1.7320508075688772},"123":{"tf":1.0},"7":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"126":{"tf":1.4142135623730951}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"140":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"103":{"tf":1.0},"114":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"109":{"tf":1.0},"115":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.0},"23":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}}},"p":{"[":{"df":0,"docs":{},"k":{"1":{"_":{",":{"df":0,"docs":{},"k":{"2":{"_":{",":{"df":0,"docs":{},"k":{"3":{"_":{"]":{"=":{"df":0,"docs":{},"{":{"df":0,"docs":{},"{":{"0":{"df":1,"docs":{"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":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"82":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"142":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":7,"docs":{"105":{"tf":1.0},"11":{"tf":1.0},"117":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"30":{"tf":1.0},"5":{"tf":1.0}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":3,"docs":{"22":{"tf":1.4142135623730951},"29":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"23":{"tf":1.0},"29":{"tf":1.0}}}}}}},"i":{"c":{"a":{"df":0,"docs":{},"l":{"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":1,"docs":{"87":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":10,"docs":{"131":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"21":{"tf":1.0},"30":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.4142135623730951},"78":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}}}},"u":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":21,"docs":{"11":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"31":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"79":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"g":{"df":1,"docs":{"5":{"tf":1.0}}},"r":{"df":1,"docs":{"28":{"tf":1.0}}}},"u":{"b":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"120":{"tf":1.0},"131":{"tf":2.0},"132":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"4":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":20,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":1.4142135623730951},"124":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"27":{"tf":1.0},"43":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"87":{"tf":1.0},"9":{"tf":1.7320508075688772}}}}}},"v":{"df":1,"docs":{"123":{"tf":1.0}}}}},"y":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"​":{"df":0,"docs":{},"​":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"e":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"e":{"df":0,"docs":{},"−":{"df":0,"docs":{},"i":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":0,"docs":{},"​":{"b":{"(":{"d":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"df":0,"docs":{},"e":{")":{",":{"d":{"^":{")":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"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":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"μ":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"f":{"0":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"h":{"^":{"df":0,"docs":{},"∥":{")":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"123":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"q":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"101":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{"3":{"df":2,"docs":{"45":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}}}},"d":{"(":{"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"df":0,"docs":{},"o":{"df":1,"docs":{"45":{"tf":1.0}}},"x":{"df":3,"docs":{"45":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"54":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"df":0,"docs":{},"o":{")":{",":{"df":0,"docs":{},"∇":{"d":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"n":{",":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"∇":{"2":{"d":{"(":{"df":0,"docs":{},"x":{")":{"=":{"0":{".":{"(":{"1":{"0":{".":{"1":{".":{"1":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{".":{"1":{".":{"1":{"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":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"y":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"y":{"0":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"∇":{"d":{"(":{"df":0,"docs":{},"x":{")":{"=":{"[":{"0":{"1":{"df":0,"docs":{},"​":{"]":{",":{"df":0,"docs":{},"∇":{"2":{"d":{"(":{"df":0,"docs":{},"x":{")":{"=":{"0":{".":{"(":{"8":{".":{"3":{".":{"1":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"x":{"df":0,"docs":{},"−":{"df":0,"docs":{},"o":{")":{",":{"df":0,"docs":{},"∇":{"d":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"o":{")":{"=":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"−":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"]":{",":{"df":0,"docs":{},"∇":{"2":{"d":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"o":{")":{"=":{"0":{"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":0,"docs":{}}},"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":{},"​":{",":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"2":{"df":0,"docs":{},"f":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"x":{"2":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"f":{"2":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"2":{"(":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"x":{"2":{"(":{"d":{"df":0,"docs":{},"p":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"2":{"_":{"0":{"0":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"1":{"1":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"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":{},"f":{"df":1,"docs":{"124":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"=":{"0":{"df":1,"docs":{"54":{"tf":1.0}}},"2":{"df":3,"docs":{"70":{"tf":1.0},"72":{"tf":1.0},"91":{"tf":1.0}}},"3":{"df":1,"docs":{"91":{"tf":1.0}}},"df":0,"docs":{}},"^":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"→":{"0":{"df":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}}}},"2":{"df":1,"docs":{"125":{"tf":1.4142135623730951}}},"a":{"_":{"df":0,"docs":{},"{":{"df":0,"docs":{},"j":{"df":0,"docs":{},"k":{"df":0,"docs":{},"}":{"(":{"\\":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":1,"docs":{"53":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"​":{")":{"2":{"df":0,"docs":{},"∂":{"2":{"b":{"df":0,"docs":{},"​":{"(":{"d":{"^":{"2":{",":{"d":{"^":{"2":{")":{"=":{"df":0,"docs":{},"κ":{"d":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"v":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"126":{"tf":1.0}}},"j":{"df":1,"docs":{"126":{"tf":1.0}}}}},"df":1,"docs":{"126":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":2,"docs":{"119":{"tf":4.123105625617661},"125":{"tf":2.23606797749979}}}}},"{":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":2,"docs":{"47":{"tf":1.4142135623730951},"49":{"tf":1.0}},"}":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"k":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"53":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.7320508075688772}}}}},"t":{"a":{"df":8,"docs":{"135":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}}},"b":{"c":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":2,"docs":{"117":{"tf":1.0},"67":{"tf":1.0}}}}}}},"s":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":2.23606797749979}},"e":{"d":{"[":{"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"67":{"tf":2.0}}}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"n":{"[":{"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"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":{}}}}}},"df":0,"docs":{}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.7320508075688772}}}},"df":1,"docs":{"67":{"tf":2.449489742783178}}}}}}},"df":0,"docs":{}},"v":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":2,"docs":{"117":{"tf":1.0},"67":{"tf":1.0}}}},"df":12,"docs":{"117":{"tf":1.0},"32":{"tf":1.0},"35":{"tf":2.23606797749979},"36":{"tf":2.449489742783178},"37":{"tf":2.0},"38":{"tf":3.0},"40":{"tf":1.7320508075688772},"41":{"tf":1.0},"42":{"tf":2.6457513110645907},"43":{"tf":2.23606797749979},"67":{"tf":4.47213595499958},"68":{"tf":1.0}}},"df":0,"docs":{}},"df":22,"docs":{"100":{"tf":1.0},"101":{"tf":2.449489742783178},"114":{"tf":1.4142135623730951},"119":{"tf":1.0},"125":{"tf":1.7320508075688772},"131":{"tf":1.7320508075688772},"139":{"tf":1.0},"15":{"tf":1.0},"26":{"tf":2.449489742783178},"32":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":3.4641016151377544},"57":{"tf":1.0},"62":{"tf":3.4641016151377544},"63":{"tf":2.0},"67":{"tf":3.872983346207417},"95":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.0}},"e":{"0":{"df":1,"docs":{"120":{"tf":3.0}}},"1":{"df":1,"docs":{"120":{"tf":3.0}}},"a":{"df":0,"docs":{},"l":{"df":7,"docs":{"106":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"76":{"tf":1.0},"90":{"tf":1.0}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"75":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":8,"docs":{"27":{"tf":1.0},"41":{"tf":1.7320508075688772},"43":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":2.23606797749979},"76":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"30":{"tf":1.0},"42":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":9,"docs":{"134":{"tf":1.0},"141":{"tf":1.0},"21":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"57":{"tf":1.0},"71":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":1,"docs":{"142":{"tf":1.0}},"e":{"df":0,"docs":{},"p":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"120":{"tf":1.0}}},"y":{"(":{"_":{"d":{"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"120":{"tf":1.0}}},"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"120":{"tf":1.0}}},"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"29":{"tf":1.0},"4":{"tf":1.0},"44":{"tf":1.0},"79":{"tf":1.0}}}}}},"f":{"df":16,"docs":{"117":{"tf":1.0},"118":{"tf":2.6457513110645907},"120":{"tf":1.4142135623730951},"125":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.7320508075688772},"27":{"tf":2.0},"28":{"tf":2.23606797749979},"29":{"tf":1.4142135623730951},"35":{"tf":2.23606797749979},"54":{"tf":2.0},"62":{"tf":2.0},"63":{"tf":2.8284271247461903},"67":{"tf":1.7320508075688772},"86":{"tf":3.605551275463989},"87":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":38,"docs":{"101":{"tf":1.7320508075688772},"102":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.0},"134":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":2.23606797749979},"48":{"tf":1.4142135623730951},"5":{"tf":2.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":2.0},"6":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.4142135623730951},"73":{"tf":1.0},"76":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"82":{"tf":2.0},"83":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.7320508075688772},"95":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"t":{"df":33,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.0},"115":{"tf":1.0},"134":{"tf":1.4142135623730951},"14":{"tf":1.0},"140":{"tf":1.7320508075688772},"16":{"tf":1.0},"20":{"tf":2.0},"21":{"tf":1.0},"22":{"tf":1.7320508075688772},"23":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":2.0},"59":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":2.449489742783178},"75":{"tf":1.0},"76":{"tf":1.0},"79":{"tf":1.4142135623730951},"89":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.7320508075688772}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"70":{"tf":1.0}}}}}}},"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"86":{"tf":2.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":31,"docs":{"100":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.0},"14":{"tf":1.0},"142":{"tf":1.7320508075688772},"20":{"tf":1.0},"29":{"tf":1.0},"4":{"tf":1.4142135623730951},"5":{"tf":2.0},"50":{"tf":1.0},"6":{"tf":2.0},"65":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":2.449489742783178},"71":{"tf":4.358898943540674},"72":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951},"74":{"tf":2.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":2.0},"78":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}},"df":5,"docs":{"120":{"tf":1.0},"131":{"tf":1.0},"82":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":19,"docs":{"101":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"14":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"82":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"12":{"tf":1.0}}}},"t":{"a":{"0":{"(":{"b":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"131":{"tf":3.0}}},"1":{"(":{"2":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"df":11,"docs":{"10":{"tf":1.0},"11":{"tf":2.0},"14":{"tf":1.0},"32":{"tf":1.7320508075688772},"33":{"tf":1.4142135623730951},"34":{"tf":3.0},"38":{"tf":1.0},"41":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"7":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"v":{"df":11,"docs":{"132":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"5":{"tf":1.0},"69":{"tf":1.0},"88":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"16":{"tf":1.0},"92":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":18,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"120":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"5":{"tf":1.4142135623730951},"51":{"tf":1.0},"65":{"tf":1.0},"7":{"tf":1.0},"74":{"tf":1.0},"80":{"tf":1.0},"83":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"58":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951}}}}},"t":{"df":24,"docs":{"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"114":{"tf":1.0},"119":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"129":{"tf":1.0},"130":{"tf":1.0},"27":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.4142135623730951},"75":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.4142135623730951},"85":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.0},"94":{"tf":1.0}}}},"s":{"df":2,"docs":{"41":{"tf":1.4142135623730951},"47":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":23,"docs":{"101":{"tf":2.0},"106":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.4142135623730951},"117":{"tf":1.0},"119":{"tf":1.0},"130":{"tf":1.0},"134":{"tf":1.0},"141":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.7320508075688772},"5":{"tf":2.0},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":3.1622776601683795},"75":{"tf":1.7320508075688772},"76":{"tf":2.23606797749979},"77":{"tf":2.0},"79":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":15,"docs":{"1":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.4142135623730951},"114":{"tf":1.0},"121":{"tf":1.0},"124":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"61":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"87":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"25":{"tf":1.0},"5":{"tf":1.4142135623730951},"67":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"78":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":55,"docs":{"10":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"105":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"115":{"tf":1.7320508075688772},"116":{"tf":1.0},"118":{"tf":2.0},"119":{"tf":2.0},"12":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"14":{"tf":1.0},"142":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.0},"33":{"tf":1.0},"4":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.0},"58":{"tf":1.4142135623730951},"7":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"78":{"tf":1.7320508075688772},"79":{"tf":2.0},"80":{"tf":2.0},"81":{"tf":1.4142135623730951},"82":{"tf":2.0},"83":{"tf":1.4142135623730951},"85":{"tf":2.449489742783178},"86":{"tf":1.7320508075688772},"88":{"tf":1.0},"89":{"tf":2.23606797749979},"9":{"tf":1.0},"92":{"tf":2.0},"93":{"tf":1.7320508075688772},"94":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}},"s":{"c":{"df":1,"docs":{"87":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"16":{"tf":1.7320508075688772},"21":{"tf":2.0},"22":{"tf":1.4142135623730951},"34":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":13,"docs":{"101":{"tf":1.0},"11":{"tf":1.0},"22":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.0},"5":{"tf":1.7320508075688772},"70":{"tf":1.7320508075688772},"71":{"tf":1.4142135623730951},"82":{"tf":1.0},"88":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.4142135623730951}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"69":{"tf":1.0},"72":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":16,"docs":{"11":{"tf":1.0},"113":{"tf":1.0},"142":{"tf":1.0},"16":{"tf":1.0},"26":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0}}}},"r":{"df":3,"docs":{"18":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"12":{"tf":1.0}}}}},"v":{"<":{"0":{"df":1,"docs":{"87":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"(":{"[":{"df":0,"docs":{},"p":{"2":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"p":{"3":{"1":{"df":1,"docs":{"87":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"x":{"2":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"3":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"4":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"]":{")":{"df":0,"docs":{},"≡":{"(":{"df":0,"docs":{},"x":{"2":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"df":0,"docs":{},"×":{"df":0,"docs":{},"x":{"3":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"x":{"4":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"=":{"0":{"(":{"2":{"3":{".":{"3":{".":{"1":{"df":1,"docs":{"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":{}}}}}},"df":0,"docs":{}},"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":{"2":{"1":{",":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"3":{"1":{",":{"2":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"2":{"1":{",":{"2":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"3":{"1":{",":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"=":{"0":{"(":{"1":{"5":{".":{"3":{".":{"2":{"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":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{"3":{"1":{"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":{},"f":{")":{">":{"0":{"df":2,"docs":{"76":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"≤":{"0":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":1,"docs":{"76":{"tf":1.0}}},"u":{")":{"=":{"1":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"−":{"1":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"v":{")":{"=":{"1":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"−":{"1":{"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":{},"x":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"∣":{"=":{"df":0,"docs":{},"∣":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"[":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{"]":{")":{"df":0,"docs":{},"∣":{"=":{"2":{"a":{"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":{}}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"126":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":15,"docs":{"104":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"123":{"tf":1.0},"130":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"55":{"tf":1.0},"70":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":12,"docs":{"120":{"tf":1.0},"135":{"tf":1.7320508075688772},"137":{"tf":1.4142135623730951},"138":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"5":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"62":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":17,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"11":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.0},"139":{"tf":1.0},"16":{"tf":1.0},"26":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"60":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"87":{"tf":1.7320508075688772}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":6,"docs":{"116":{"tf":1.0},"121":{"tf":1.0},"35":{"tf":1.0},"4":{"tf":1.0},"43":{"tf":1.0},"84":{"tf":1.0}}}}}},"i":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"16":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"f":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"x":{"^":{"df":0,"docs":{},"t":{"df":1,"docs":{"86":{"tf":1.0}}}},"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"s":{"0":{"=":{"d":{"df":0,"docs":{},"f":{"d":{"df":0,"docs":{},"s":{"/":{".":{"df":0,"docs":{},"{":{"df":0,"docs":{},"u":{"1":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"=":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"[":{"d":{"df":0,"docs":{},"f":{"d":{"df":0,"docs":{},"s":{"0":{",":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"=":{"d":{"[":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"[":{"df":0,"docs":{},"f":{"]":{",":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"82":{"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":{}},"h":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":2,"docs":{"119":{"tf":3.605551275463989},"125":{"tf":2.0}}}}}},"df":6,"docs":{"119":{"tf":3.0},"125":{"tf":1.7320508075688772},"54":{"tf":3.4641016151377544},"62":{"tf":3.4641016151377544},"63":{"tf":2.0},"67":{"tf":3.3166247903554}}}},"df":0,"docs":{}},"i":{"a":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{")":{")":{"=":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{")":{"df":0,"docs":{},"i":{"df":1,"docs":{"81":{"tf":1.0}}}},"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":{"a":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"​":{"df":0,"docs":{},"f":{"df":1,"docs":{"81":{"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":{},"n":{"df":15,"docs":{"106":{"tf":1.0},"25":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"41":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"6":{"tf":1.0},"66":{"tf":1.4142135623730951},"75":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"81":{"tf":2.6457513110645907},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"95":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"115":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"86":{"tf":2.0}},"f":{"df":0,"docs":{},"f":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":3,"docs":{"26":{"tf":1.0},"27":{"tf":1.7320508075688772},"67":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":4,"docs":{"26":{"tf":1.0},"27":{"tf":2.23606797749979},"29":{"tf":1.0},"67":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":19,"docs":{"118":{"tf":1.0},"12":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.0},"140":{"tf":1.0},"18":{"tf":1.0},"26":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.7320508075688772},"53":{"tf":1.0},"58":{"tf":1.7320508075688772},"63":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.4142135623730951},"9":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":12,"docs":{"101":{"tf":1.0},"118":{"tf":1.4142135623730951},"121":{"tf":1.0},"124":{"tf":1.0},"4":{"tf":1.0},"7":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"92":{"tf":1.0}}}}}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"92":{"tf":1.0}},"i":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"82":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}}},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∗":{")":{"df":0,"docs":{},"≥":{"0":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":12,"docs":{"104":{"tf":1.0},"132":{"tf":1.0},"29":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0},"6":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.4142135623730951},"87":{"tf":1.0},"95":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":9,"docs":{"104":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"26":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":39,"docs":{"102":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":2.23606797749979},"121":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.0},"16":{"tf":1.7320508075688772},"21":{"tf":2.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"28":{"tf":1.4142135623730951},"30":{"tf":1.0},"32":{"tf":1.7320508075688772},"34":{"tf":2.0},"35":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":2.0},"63":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":2.0},"77":{"tf":1.0},"8":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":31,"docs":{"1":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"133":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0},"5":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.7320508075688772}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"29":{"tf":1.0}}}}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":20,"docs":{"100":{"tf":2.23606797749979},"103":{"tf":1.4142135623730951},"109":{"tf":1.0},"111":{"tf":1.7320508075688772},"117":{"tf":1.7320508075688772},"15":{"tf":1.4142135623730951},"31":{"tf":1.4142135623730951},"32":{"tf":2.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":2.23606797749979},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"38":{"tf":1.0},"43":{"tf":1.0},"49":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":2.0},"98":{"tf":1.0},"99":{"tf":3.3166247903554}}}}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":5,"docs":{"101":{"tf":1.4142135623730951},"114":{"tf":1.0},"48":{"tf":1.0},"57":{"tf":1.0},"92":{"tf":1.0}}}}}}},"v":{"df":1,"docs":{"22":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"23":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":50,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"112":{"tf":2.0},"113":{"tf":1.7320508075688772},"114":{"tf":2.23606797749979},"115":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":3.0},"124":{"tf":1.4142135623730951},"127":{"tf":1.7320508075688772},"128":{"tf":1.4142135623730951},"132":{"tf":1.0},"134":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"4":{"tf":1.7320508075688772},"5":{"tf":2.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"58":{"tf":2.23606797749979},"6":{"tf":1.4142135623730951},"60":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"71":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"84":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"tf":2.0},"9":{"tf":1.4142135623730951},"90":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"93":{"tf":1.7320508075688772},"94":{"tf":1.7320508075688772},"95":{"tf":2.23606797749979},"96":{"tf":1.7320508075688772},"97":{"tf":2.449489742783178},"99":{"tf":1.7320508075688772}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":30,"docs":{"101":{"tf":1.0},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.4142135623730951},"114":{"tf":1.0},"115":{"tf":1.0},"125":{"tf":1.0},"138":{"tf":1.0},"141":{"tf":1.0},"18":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"4":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"55":{"tf":1.0},"69":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.4142135623730951},"97":{"tf":1.0},"99":{"tf":1.0}}}}}},"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"104":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":13,"docs":{"100":{"tf":1.0},"105":{"tf":1.4142135623730951},"108":{"tf":1.0},"111":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"6":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"99":{"tf":1.7320508075688772}}},"df":0,"docs":{},"y":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":3,"docs":{"102":{"tf":1.0},"17":{"tf":1.0},"57":{"tf":1.0}}}}},"t":{"2":{"_":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"120":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"n":{"c":{"df":35,"docs":{"101":{"tf":3.3166247903554},"113":{"tf":1.0},"114":{"tf":2.23606797749979},"118":{"tf":3.7416573867739413},"119":{"tf":1.7320508075688772},"120":{"tf":2.449489742783178},"121":{"tf":1.4142135623730951},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":3.7416573867739413},"138":{"tf":1.0},"139":{"tf":1.4142135623730951},"141":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"22":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":4.58257569495584},"46":{"tf":1.0},"47":{"tf":1.4142135623730951},"48":{"tf":2.6457513110645907},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":2.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"55":{"tf":2.0},"57":{"tf":1.0},"62":{"tf":2.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"120":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":8,"docs":{"106":{"tf":1.0},"112":{"tf":1.0},"130":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.0}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":6,"docs":{"101":{"tf":1.0},"11":{"tf":1.0},"20":{"tf":1.0},"91":{"tf":1.7320508075688772},"92":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951}}}}},"i":{"d":{"df":6,"docs":{"119":{"tf":1.7320508075688772},"125":{"tf":1.0},"5":{"tf":1.0},"62":{"tf":1.0},"85":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"58":{"tf":1.0},"82":{"tf":1.7320508075688772}}}}}},"j":{"df":1,"docs":{"86":{"tf":2.0}},"k":{"df":0,"docs":{},"​":{"(":{"(":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"β":{")":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"+":{"df":0,"docs":{},"β":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"+":{"1":{")":{">":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"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":{},"α":{"df":0,"docs":{},"p":{")":{">":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"+":{"df":0,"docs":{},"β":{"df":0,"docs":{},"p":{")":{"df":0,"docs":{},"≥":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"k":{"df":1,"docs":{"126":{"tf":1.0}},"​":{"df":0,"docs":{},"∂":{"b":{"df":0,"docs":{},"​":{"<":{"0":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"n":{"df":5,"docs":{"15":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"41":{"tf":1.7320508075688772},"6":{"tf":1.0}},"×":{"d":{"df":0,"docs":{},"n":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":1,"docs":{"67":{"tf":1.0}},"f":{"df":25,"docs":{"101":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":2.8284271247461903},"35":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.7320508075688772},"41":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":3.1622776601683795},"68":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.7320508075688772}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":24,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":2.6457513110645907},"106":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.4142135623730951},"128":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"20":{"tf":1.0},"5":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.7320508075688772},"76":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"85":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":4,"docs":{"14":{"tf":1.0},"27":{"tf":1.0},"67":{"tf":1.0},"81":{"tf":1.0}}}},"t":{"df":5,"docs":{"5":{"tf":1.0},"63":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0}}},"u":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"123":{"tf":1.0},"131":{"tf":2.449489742783178},"66":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":7,"docs":{"120":{"tf":1.4142135623730951},"16":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"p":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"f":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"86":{"tf":1.0}}}}},"df":1,"docs":{"86":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"f":{"=":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"[":{"d":{"df":0,"docs":{},"p":{"d":{"df":0,"docs":{},"s":{"1":{".":{"d":{"df":0,"docs":{},"s":{"d":{"df":0,"docs":{},"f":{"0":{"df":1,"docs":{"82":{"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":{}},"s":{"0":{"=":{"d":{"df":0,"docs":{},"p":{"d":{"df":0,"docs":{},"s":{"/":{".":{"df":0,"docs":{},"{":{"df":0,"docs":{},"u":{"1":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"=":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"[":{"d":{"df":0,"docs":{},"p":{"d":{"df":0,"docs":{},"s":{"0":{",":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"=":{"d":{"[":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"[":{"df":0,"docs":{},"p":{"]":{",":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"82":{"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":{"120":{"tf":2.8284271247461903}},"e":{"(":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"a":{"^":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"e":{")":{"<":{"d":{"df":1,"docs":{"124":{"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":{},"x":{")":{",":{"df":1,"docs":{"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"o":{"(":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"df":0,"docs":{},"o":{")":{"=":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"o":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":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":{"113":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":1,"docs":{"86":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"(":{"df":1,"docs":{"86":{"tf":1.0}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"x":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"_":{"0":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"x":{"_":{"2":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"134":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"34":{"tf":1.0}}},"w":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"29":{"tf":1.0},"62":{"tf":1.0},"85":{"tf":1.4142135623730951}},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"df":8,"docs":{"120":{"tf":1.0},"126":{"tf":1.0},"54":{"tf":2.23606797749979},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"67":{"tf":1.4142135623730951},"87":{"tf":1.0}}}}},"s":{"d":{"df":0,"docs":{},"f":{"0":{"=":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"[":{"d":{"df":0,"docs":{},"f":{"d":{"df":0,"docs":{},"s":{"1":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"p":{",":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"118":{"tf":1.0}},"​":{")":{"=":{"df":0,"docs":{},"⎩":{"df":0,"docs":{},"⎨":{"df":0,"docs":{},"⎧":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"p":{"df":0,"docs":{},"−":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"2":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"118":{"tf":1.0}}}}},"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":{"a":{"^":{"df":0,"docs":{},"​":{",":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"t":{"d":{"df":0,"docs":{},"x":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"d":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"v":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"v":{",":{"=":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"​":{"(":{"1":{".":{"2":{".":{"1":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":2.23606797749979},"49":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":19,"docs":{"101":{"tf":1.0},"106":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"12":{"tf":1.0},"135":{"tf":1.0},"14":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"87":{"tf":1.0},"92":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":20,"docs":{"100":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"41":{"tf":1.0},"58":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"71":{"tf":1.0},"76":{"tf":1.0},"87":{"tf":1.4142135623730951},"92":{"tf":1.0}}}}},"x":{".":{"df":0,"docs":{},"​":{"(":{"1":{"9":{".":{"3":{".":{"1":{"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":{}}},"=":{"df":0,"docs":{},"e":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"a":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ψ":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"i":{"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":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"a":{"^":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{")":{"df":0,"docs":{},"i":{"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":{}}},"df":0,"docs":{}},"∂":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ψ":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"i":{"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":{}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":21,"docs":{"122":{"tf":1.0},"127":{"tf":1.0},"142":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"31":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"57":{"tf":1.0},"6":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.4142135623730951},"76":{"tf":1.0},"83":{"tf":1.0},"91":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{}}},"}":{"(":{"d":{"_":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"×":{"d":{"df":3,"docs":{"42":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"≥":{"d":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{")":{"=":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"+":{"df":0,"docs":{},"h":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"m":{"2":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"h":{"2":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{")":{".":{"(":{"4":{".":{"1":{".":{"1":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"j":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"e":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"j":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"df":0,"docs":{},"j":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"​":{"=":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"x":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{")":{"=":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"~":{"df":0,"docs":{},"n":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"m":{"2":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"2":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{")":{".":{"df":0,"docs":{},"​":{"(":{"2":{".":{"1":{".":{"1":{"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":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"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":{},"t":{"df":0,"docs":{},"λ":{"=":{"0":{"a":{"df":0,"docs":{},"x":{"=":{"b":{"df":0,"docs":{},"​":{"(":{"2":{".":{"2":{".":{"2":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"−":{"df":0,"docs":{},"k":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"0":{",":{"a":{"df":0,"docs":{},"x":{"=":{"b":{",":{"df":0,"docs":{},"∀":{"df":0,"docs":{},"k":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"21":{"tf":3.3166247903554},"22":{"tf":2.6457513110645907}}}},"df":4,"docs":{"14":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0},"59":{"tf":1.0}},"′":{")":{"+":{"df":0,"docs":{},"h":{"2":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"d":{"^":{"df":0,"docs":{},"∂":{"d":{"df":0,"docs":{},"∂":{"b":{"df":0,"docs":{},"​":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"′":{")":{")":{"df":0,"docs":{},"∇":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"′":{")":{"=":{"0":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"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":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"′":{")":{")":{"=":{"0":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"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":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"′":{")":{"=":{"0":{",":{"(":{"7":{".":{"3":{".":{"2":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"j":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"′":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"′":{")":{"=":{"0":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"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":{},"j":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∗":{")":{"=":{"0":{",":{"df":0,"docs":{},"∀":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{"2":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"v":{"1":{"df":1,"docs":{"82":{"tf":2.0}}},"2":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"[":{"(":{"df":0,"docs":{},"i":{"df":2,"docs":{"25":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":2,"docs":{"25":{"tf":1.7320508075688772},"85":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":6,"docs":{"120":{"tf":1.4142135623730951},"131":{"tf":1.0},"136":{"tf":1.0},"14":{"tf":1.0},"54":{"tf":1.0},"87":{"tf":1.0}}}},"0":{"[":{"0":{"df":1,"docs":{"118":{"tf":2.23606797749979}}},"1":{"df":1,"docs":{"118":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":6,"docs":{"106":{"tf":1.0},"118":{"tf":3.605551275463989},"120":{"tf":2.8284271247461903},"124":{"tf":1.0},"125":{"tf":2.23606797749979},"130":{"tf":1.0}},"​":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"∩":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"n":{"df":1,"docs":{"112":{"tf":1.0}}}}}}},"1":{"[":{"0":{"df":1,"docs":{"118":{"tf":2.23606797749979}}},"1":{"df":1,"docs":{"118":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":5,"docs":{"118":{"tf":3.3166247903554},"120":{"tf":2.8284271247461903},"124":{"tf":1.0},"125":{"tf":2.0},"134":{"tf":1.7320508075688772}},"​":{"'":{"df":1,"docs":{"134":{"tf":1.0}}},",":{"df":1,"docs":{"134":{"tf":1.0}}},"<":{"df":1,"docs":{"134":{"tf":1.0}}},"df":0,"docs":{},"−":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"⋅":{"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"−":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{")":{"<":{"0":{",":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"p":{"df":0,"docs":{},"−":{"df":0,"docs":{},"e":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"2":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"118":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"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":1,"docs":{"118":{"tf":1.0}}},"1":{"df":1,"docs":{"118":{"tf":1.0}}},"df":0,"docs":{},"i":{"]":{"[":{"(":{"df":0,"docs":{},"j":{"df":1,"docs":{"117":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"27":{"tf":1.0}}},"j":{"df":1,"docs":{"27":{"tf":1.0}}}},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"86":{"tf":1.0}}},"j":{"df":1,"docs":{"86":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"86":{"tf":1.7320508075688772}}}},"_":{"df":0,"docs":{},"i":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"26":{"tf":1.7320508075688772}}}},"df":1,"docs":{"22":{"tf":1.0}}},"j":{"df":1,"docs":{"22":{"tf":1.0}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"28":{"tf":1.7320508075688772},"54":{"tf":1.0},"67":{"tf":1.0}}}}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"h":{"df":67,"docs":{"10":{"tf":1.0},"100":{"tf":1.0},"101":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"112":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":2.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"136":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"29":{"tf":2.6457513110645907},"30":{"tf":1.0},"32":{"tf":2.449489742783178},"4":{"tf":1.0},"42":{"tf":1.4142135623730951},"45":{"tf":1.0},"48":{"tf":1.4142135623730951},"5":{"tf":2.449489742783178},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":1.0},"6":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.23606797749979},"67":{"tf":2.23606797749979},"69":{"tf":1.0},"7":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.7320508075688772},"75":{"tf":1.0},"76":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.4142135623730951},"85":{"tf":2.0},"88":{"tf":2.0},"90":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"4":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"107":{"tf":1.0},"120":{"tf":1.0},"52":{"tf":1.0},"63":{"tf":1.0},"76":{"tf":1.0},"82":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"'":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"df":4,"docs":{"106":{"tf":1.0},"5":{"tf":1.0},"76":{"tf":1.0},"82":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"74":{"tf":1.0},"77":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.0},"41":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"g":{"df":27,"docs":{"108":{"tf":1.0},"112":{"tf":2.23606797749979},"113":{"tf":1.4142135623730951},"114":{"tf":3.0},"117":{"tf":2.8284271247461903},"118":{"tf":2.6457513110645907},"119":{"tf":2.449489742783178},"120":{"tf":3.605551275463989},"121":{"tf":2.0},"123":{"tf":2.23606797749979},"124":{"tf":2.449489742783178},"125":{"tf":2.449489742783178},"126":{"tf":1.0},"127":{"tf":1.7320508075688772},"133":{"tf":2.23606797749979},"134":{"tf":4.123105625617661},"138":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"141":{"tf":2.23606797749979},"25":{"tf":2.449489742783178},"27":{"tf":2.8284271247461903},"29":{"tf":1.7320508075688772},"5":{"tf":2.0},"56":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"71":{"tf":1.0},"85":{"tf":1.7320508075688772}},"e":{"'":{"df":1,"docs":{"121":{"tf":1.0}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"a":{"d":{"d":{"(":{"(":{"df":0,"docs":{},"e":{"[":{"df":0,"docs":{},"i":{"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"117":{"tf":1.0}}}},"df":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":{"117":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":23,"docs":{"106":{"tf":2.0},"107":{"tf":1.7320508075688772},"112":{"tf":1.7320508075688772},"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"117":{"tf":1.7320508075688772},"118":{"tf":3.3166247903554},"123":{"tf":1.0},"125":{"tf":1.4142135623730951},"130":{"tf":1.7320508075688772},"25":{"tf":1.4142135623730951},"27":{"tf":2.0},"28":{"tf":3.872983346207417},"29":{"tf":2.0},"35":{"tf":2.6457513110645907},"54":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.7320508075688772},"74":{"tf":1.0},"82":{"tf":2.0},"85":{"tf":2.23606797749979},"86":{"tf":1.7320508075688772},"87":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":26,"docs":{"10":{"tf":1.0},"111":{"tf":1.0},"137":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":2.23606797749979},"17":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.7320508075688772},"5":{"tf":1.7320508075688772},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"55":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.7320508075688772},"74":{"tf":1.0},"85":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":25,"docs":{"121":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.7320508075688772},"23":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"36":{"tf":1.4142135623730951},"38":{"tf":1.0},"41":{"tf":1.7320508075688772},"42":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.7320508075688772},"50":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"6":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"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":{"4":{"tf":1.0}}}}}}}}}}}},"t":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"i":{"0":{"df":1,"docs":{"126":{"tf":2.0}}},"1":{"df":1,"docs":{"126":{"tf":2.0}}},"[":{"0":{"df":4,"docs":{"117":{"tf":1.0},"119":{"tf":2.0},"120":{"tf":1.0},"125":{"tf":1.4142135623730951}}},"1":{"df":4,"docs":{"117":{"tf":1.4142135623730951},"119":{"tf":2.0},"120":{"tf":1.0},"125":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":5,"docs":{"117":{"tf":1.0},"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"125":{"tf":1.0},"29":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"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":{"22":{"tf":2.449489742783178}}}}}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"27":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":3,"docs":{"22":{"tf":1.7320508075688772},"23":{"tf":1.0},"27":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"92":{"tf":1.0}}}}}}}}},"l":{"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"101":{"tf":1.0},"24":{"tf":1.0},"4":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":45,"docs":{"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":2.6457513110645907},"108":{"tf":1.7320508075688772},"116":{"tf":1.4142135623730951},"119":{"tf":2.0},"125":{"tf":1.0},"128":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"14":{"tf":2.8284271247461903},"142":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.7320508075688772},"22":{"tf":1.0},"27":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"48":{"tf":1.7320508075688772},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":2.6457513110645907},"68":{"tf":1.4142135623730951},"69":{"tf":2.0},"71":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"73":{"tf":2.0},"74":{"tf":4.123105625617661},"75":{"tf":1.7320508075688772},"76":{"tf":2.8284271247461903},"77":{"tf":3.0},"78":{"tf":1.0},"79":{"tf":2.0},"81":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":2.0},"86":{"tf":1.0},"88":{"tf":1.0},"91":{"tf":1.0},"96":{"tf":1.0}},"o":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":7,"docs":{"116":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"132":{"tf":1.0},"24":{"tf":1.0},"29":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"105":{"tf":1.0}}},"df":36,"docs":{"103":{"tf":1.0},"104":{"tf":2.0},"105":{"tf":2.8284271247461903},"106":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"109":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.4142135623730951},"116":{"tf":1.0},"117":{"tf":2.0},"12":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":2.0},"142":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"20":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"4":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":2.0},"67":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":2.449489742783178},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"f":{"df":2,"docs":{"118":{"tf":1.4142135623730951},"125":{"tf":1.0}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":17,"docs":{"136":{"tf":1.0},"23":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":2.23606797749979},"35":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.7320508075688772},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"68":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"45":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"29":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}},"u":{"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"m":{"b":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":3,"docs":{"29":{"tf":1.0},"5":{"tf":1.0},"74":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"7":{"tf":1.0}},"i":{"df":1,"docs":{"5":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":15,"docs":{"139":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"55":{"tf":1.0},"79":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0}}}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":9,"docs":{"101":{"tf":1.0},"14":{"tf":1.0},"141":{"tf":1.0},"20":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"30":{"tf":1.4142135623730951},"45":{"tf":1.0}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"28":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0}}}}}}},"d":{"df":7,"docs":{"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"134":{"tf":1.4142135623730951},"35":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0},"84":{"tf":1.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}}}}}},"{":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"59":{"tf":2.0}}}}},"p":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"142":{"tf":1.0},"35":{"tf":1.0}}}},"i":{"df":59,"docs":{"10":{"tf":1.0},"101":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":2.6457513110645907},"121":{"tf":1.4142135623730951},"122":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":2.23606797749979},"128":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"134":{"tf":1.4142135623730951},"139":{"tf":1.0},"14":{"tf":2.6457513110645907},"141":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"20":{"tf":2.6457513110645907},"21":{"tf":3.1622776601683795},"22":{"tf":2.449489742783178},"23":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"27":{"tf":3.0},"29":{"tf":1.0},"30":{"tf":1.4142135623730951},"35":{"tf":1.7320508075688772},"48":{"tf":2.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":2.23606797749979},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"67":{"tf":2.8284271247461903},"68":{"tf":1.7320508075688772},"72":{"tf":1.0},"73":{"tf":2.23606797749979},"74":{"tf":3.4641016151377544},"75":{"tf":1.7320508075688772},"76":{"tf":3.1622776601683795},"77":{"tf":2.23606797749979},"78":{"tf":1.4142135623730951},"79":{"tf":2.0},"80":{"tf":1.0},"83":{"tf":1.0},"86":{"tf":2.6457513110645907},"88":{"tf":1.0},"99":{"tf":1.0}}}}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"c":{"df":14,"docs":{"100":{"tf":1.7320508075688772},"101":{"tf":1.0},"103":{"tf":1.0},"111":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":2.23606797749979},"55":{"tf":1.0},"67":{"tf":1.0},"77":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}}},"g":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"29":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"69":{"tf":1.0},"79":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"c":{"df":11,"docs":{"132":{"tf":1.0},"17":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"34":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0},"60":{"tf":1.0},"67":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":4,"docs":{"5":{"tf":1.0},"52":{"tf":1.0},"67":{"tf":1.0},"92":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":35,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.7320508075688772},"11":{"tf":1.0},"131":{"tf":1.4142135623730951},"134":{"tf":1.0},"136":{"tf":1.0},"16":{"tf":2.0},"18":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"36":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"88":{"tf":1.4142135623730951},"99":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"132":{"tf":1.0},"34":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"67":{"tf":1.0}}}},"i":{"df":0,"docs":{},"r":{"df":11,"docs":{"105":{"tf":1.0},"123":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.0},"86":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"69":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":10,"docs":{"106":{"tf":1.0},"108":{"tf":1.0},"130":{"tf":1.0},"26":{"tf":2.0},"33":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"42":{"tf":1.0},"66":{"tf":1.0},"79":{"tf":1.0},"81":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"16":{"tf":2.23606797749979},"48":{"tf":1.0},"87":{"tf":1.0}}}}}},"v":{"df":2,"docs":{"126":{"tf":2.0},"63":{"tf":4.123105625617661}},"h":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":18,"docs":{"103":{"tf":1.0},"15":{"tf":2.23606797749979},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"21":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.7320508075688772},"36":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.0},"71":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.0}}},"t":{"df":62,"docs":{"101":{"tf":2.23606797749979},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":2.0},"107":{"tf":1.7320508075688772},"11":{"tf":2.0},"113":{"tf":2.0},"115":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.0},"123":{"tf":1.4142135623730951},"124":{"tf":1.0},"131":{"tf":3.0},"132":{"tf":1.0},"134":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"20":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951},"27":{"tf":1.0},"32":{"tf":2.23606797749979},"33":{"tf":2.8284271247461903},"34":{"tf":1.7320508075688772},"4":{"tf":1.0},"40":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":2.449489742783178},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.0},"58":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951},"63":{"tf":2.449489742783178},"67":{"tf":1.4142135623730951},"69":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.7320508075688772},"74":{"tf":2.449489742783178},"75":{"tf":1.4142135623730951},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"82":{"tf":1.0},"85":{"tf":1.4142135623730951},"87":{"tf":3.1622776601683795},"88":{"tf":1.7320508075688772},"89":{"tf":2.8284271247461903},"9":{"tf":1.4142135623730951},"90":{"tf":1.4142135623730951},"91":{"tf":2.23606797749979},"92":{"tf":2.23606797749979},"93":{"tf":1.4142135623730951},"94":{"tf":2.0},"95":{"tf":3.0},"96":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":2.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"—":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"93":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"89":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"63":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"v":{"a":{"df":0,"docs":{},"l":{"df":10,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"131":{"tf":1.0},"40":{"tf":1.0},"49":{"tf":1.0},"57":{"tf":1.0},"87":{"tf":1.4142135623730951},"89":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}}}},"df":1,"docs":{"59":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"103":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"49":{"tf":1.0},"57":{"tf":1.0},"66":{"tf":1.0},"87":{"tf":1.0}}}}}},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":9,"docs":{"120":{"tf":1.0},"133":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":19,"docs":{"100":{"tf":1.0},"139":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"83":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"93":{"tf":1.0}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":12,"docs":{"117":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"5":{"tf":2.0},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"91":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":8,"docs":{"11":{"tf":1.7320508075688772},"120":{"tf":2.0},"121":{"tf":1.0},"22":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.0},"73":{"tf":1.0},"9":{"tf":1.0}}}}}},"t":{"a":{"df":1,"docs":{"120":{"tf":1.7320508075688772}}},"c":{"df":3,"docs":{"14":{"tf":1.0},"58":{"tf":1.0},"76":{"tf":1.0}}},"df":11,"docs":{"114":{"tf":1.0},"120":{"tf":1.0},"134":{"tf":1.0},"142":{"tf":3.0},"41":{"tf":1.0},"5":{"tf":1.0},"58":{"tf":1.0},"76":{"tf":1.4142135623730951},"79":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.7320508075688772}}},"u":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"10":{"tf":3.0},"104":{"tf":1.0},"11":{"tf":2.23606797749979},"12":{"tf":1.7320508075688772},"14":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":2.23606797749979},"35":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":2.0},"96":{"tf":1.4142135623730951},"97":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"90":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":13,"docs":{"112":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"20":{"tf":1.0},"28":{"tf":1.4142135623730951},"30":{"tf":1.0},"53":{"tf":1.0},"66":{"tf":1.0},"95":{"tf":1.7320508075688772},"96":{"tf":1.0},"99":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":16,"docs":{"102":{"tf":1.0},"11":{"tf":1.4142135623730951},"112":{"tf":1.0},"114":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"57":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":6,"docs":{"106":{"tf":1.0},"112":{"tf":1.0},"130":{"tf":1.0},"29":{"tf":1.0},"4":{"tf":1.0},"54":{"tf":1.0}}}},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"df":2,"docs":{"29":{"tf":1.0},"5":{"tf":1.0}},"u":{"df":3,"docs":{"10":{"tf":1.0},"29":{"tf":1.0},"9":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"y":{"d":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"5":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"103":{"tf":1.0}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"105":{"tf":1.4142135623730951},"114":{"tf":1.0},"118":{"tf":1.0},"121":{"tf":1.0},"134":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}}}}}},"i":{"d":{"df":2,"docs":{"40":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}},"v":{"df":3,"docs":{"69":{"tf":1.0},"7":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"53":{"tf":1.0},"54":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":9,"docs":{"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"113":{"tf":1.0},"126":{"tf":1.0},"32":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"87":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":10,"docs":{"109":{"tf":1.0},"112":{"tf":1.0},"127":{"tf":1.0},"136":{"tf":1.0},"23":{"tf":1.0},"37":{"tf":1.0},"51":{"tf":1.0},"7":{"tf":1.0},"73":{"tf":1.0},"93":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":37,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"120":{"tf":1.0},"126":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.4142135623730951},"32":{"tf":2.449489742783178},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"38":{"tf":1.7320508075688772},"41":{"tf":1.0},"42":{"tf":1.7320508075688772},"45":{"tf":2.0},"5":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":2.23606797749979},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"74":{"tf":1.4142135623730951},"76":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.4142135623730951},"85":{"tf":1.0},"87":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"20":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"34":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"l":{"df":2,"docs":{"12":{"tf":1.0},"5":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"t":{"df":5,"docs":{"123":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"63":{"tf":1.0},"76":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":3,"docs":{"16":{"tf":1.0},"27":{"tf":1.0},"75":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"24":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":8,"docs":{"10":{"tf":1.0},"116":{"tf":1.0},"122":{"tf":1.0},"125":{"tf":1.0},"16":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":1.0},"5":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":8,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"27":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.0},"74":{"tf":1.0},"83":{"tf":1.0},"91":{"tf":1.4142135623730951}}}}},"h":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"41":{"tf":1.0},"74":{"tf":1.0}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"104":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"21":{"tf":1.7320508075688772},"29":{"tf":1.0},"30":{"tf":1.0},"48":{"tf":1.0},"67":{"tf":1.0},"77":{"tf":1.0},"91":{"tf":1.4142135623730951}}}}},"p":{"a":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"131":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"16":{"tf":1.0},"18":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":6,"docs":{"114":{"tf":1.0},"121":{"tf":1.0},"22":{"tf":1.0},"50":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"105":{"tf":1.0},"29":{"tf":1.0},"74":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}}}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"106":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0}}}},"n":{"df":2,"docs":{"34":{"tf":1.0},"88":{"tf":1.0}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"58":{"tf":1.4142135623730951},"78":{"tf":1.0},"8":{"tf":2.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"115":{"tf":1.0},"124":{"tf":1.0},"58":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"40":{"tf":1.0}}}},"r":{"df":22,"docs":{"104":{"tf":1.0},"108":{"tf":1.0},"12":{"tf":1.0},"127":{"tf":1.0},"132":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"4":{"tf":1.7320508075688772},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"89":{"tf":1.0}}},"s":{"df":1,"docs":{"29":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.0}}},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":33,"docs":{"105":{"tf":2.0},"113":{"tf":1.0},"118":{"tf":3.0},"121":{"tf":1.4142135623730951},"123":{"tf":1.0},"125":{"tf":1.7320508075688772},"129":{"tf":1.0},"134":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"22":{"tf":1.0},"27":{"tf":1.4142135623730951},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"38":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"49":{"tf":1.0},"58":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.7320508075688772},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"79":{"tf":1.0},"82":{"tf":2.0},"85":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.7320508075688772},"91":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"105":{"tf":1.4142135623730951},"118":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"45":{"tf":1.4142135623730951},"5":{"tf":1.7320508075688772},"6":{"tf":1.0},"61":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"132":{"tf":1.0},"61":{"tf":1.0}}},"t":{"df":3,"docs":{"49":{"tf":1.0},"5":{"tf":1.0},"71":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"n":{"df":6,"docs":{"106":{"tf":1.0},"14":{"tf":1.0},"52":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}}}}},"r":{"a":{"df":4,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"122":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"67":{"tf":1.0}}}},"u":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}}},"}":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"∈":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"a":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"df":0,"docs":{},"ψ":{"df":1,"docs":{"107":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"f":{"\"":{"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":{},"{":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"}":{".":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"j":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"(":{"df":0,"docs":{},"x":{")":{":":{"df":0,"docs":{},"ω":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"91":{"tf":1.0}}},"df":0,"docs":{}}}}},"=":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"+":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"20":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"x":{")":{"d":{"df":0,"docs":{},"x":{"=":{"0":{"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":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"95":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ϕ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"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":{}},"df":0,"docs":{},"n":{"df":1,"docs":{"107":{"tf":1.0}}}}},"^":{"df":0,"docs":{},"i":{"df":2,"docs":{"11":{"tf":1.4142135623730951},"59":{"tf":1.0}}},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"11":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":8,"docs":{"14":{"tf":2.0},"20":{"tf":1.0},"59":{"tf":1.0},"85":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"96":{"tf":1.0}}},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"f":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"∥":{")":{"=":{"1":{"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"∈":{"[":{"0":{",":{"1":{"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{")":{"=":{"1":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"∈":{"[":{"0":{",":{"1":{"df":1,"docs":{"57":{"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":{},"ω":{"0":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"×":{"d":{"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":{},"r":{"d":{"df":0,"docs":{},"×":{"d":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"df":1,"docs":{"73":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"=":{"0":{"df":1,"docs":{"74":{"tf":1.0}}},"4":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"−":{"df":0,"docs":{},"i":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"f":{"2":{"df":0,"docs":{},"​":{"+":{"2":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"j":{"df":0,"docs":{},"−":{"1":{")":{"2":{".":{"(":{"1":{"3":{".":{"1":{".":{"1":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":1,"docs":{"74":{"tf":1.0}}}},"r":{"df":0,"docs":{},"f":{"df":2,"docs":{"74":{"tf":1.0},"80":{"tf":1.0}}}}},"^":{"(":{"df":0,"docs":{},"σ":{")":{"=":{"4":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"i":{"=":{"1":{"df":0,"docs":{},"∑":{"d":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"1":{")":{"2":{"+":{"2":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"i":{"=":{"1":{"df":0,"docs":{},"∏":{"d":{"df":0,"docs":{},"​":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"1":{")":{"2":{"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":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"f":{"\"":{"df":0,"docs":{},"f":{"df":1,"docs":{"29":{"tf":1.4142135623730951}}},"v":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"/":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":1,"docs":{"131":{"tf":1.0}}}}},"0":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"126":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"h":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"′":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"y":{")":{"=":{"df":0,"docs":{},"f":{"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"h":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"1":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{")":{"=":{"df":0,"docs":{},"​":{"1":{"df":0,"docs":{},"∗":{"df":0,"docs":{},"∗":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∗":{"0":{"df":0,"docs":{},"∗":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∗":{"df":0,"docs":{},"∗":{"0":{"df":1,"docs":{"81":{"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":{},"v":{"_":{"df":0,"docs":{},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"126":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"126":{"tf":1.0},"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":1,"docs":{"58":{"tf":1.4142135623730951}},"​":{"(":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{")":{"/":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"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":{},"v":{"df":0,"docs":{},"​":{")":{"=":{"0":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{")":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"−":{"df":0,"docs":{},"f":{"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{")":{")":{"/":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"2":{"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":{}}}},"3":{"(":{"df":0,"docs":{},"k":{"df":0,"docs":{},"−":{"1":{")":{"+":{"df":0,"docs":{},"l":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"p":{"3":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"−":{"1":{")":{"+":{"df":0,"docs":{},"j":{"df":1,"docs":{"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":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"=":{"[":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{"]":{"[":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"−":{"1":{".":{"(":{"1":{"5":{".":{"1":{".":{"1":{"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":{},"r":{"df":1,"docs":{"74":{"tf":1.0}}},"u":{".":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"[":{"df":0,"docs":{},"v":{"df":1,"docs":{"82":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"[":{"df":0,"docs":{},"v":{"df":1,"docs":{"82":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"σ":{"df":0,"docs":{},"v":{"df":2,"docs":{"77":{"tf":1.0},"80":{"tf":1.0}},"t":{"df":1,"docs":{"75":{"tf":1.0}}}}}},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":1,"docs":{"107":{"tf":1.0}}}}}}},"^":{"df":0,"docs":{},"n":{"df":2,"docs":{"7":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"126":{"tf":1.0},"63":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"m":{"df":1,"docs":{"59":{"tf":1.7320508075688772}}},"u":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"a":{"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"40":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0}},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"16":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"88":{"tf":1.0}}}}}},"t":{"df":5,"docs":{"53":{"tf":1.0},"58":{"tf":1.0},"81":{"tf":1.0},"87":{"tf":1.0},"95":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"41":{"tf":1.0},"66":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"117":{"tf":1.4142135623730951},"51":{"tf":1.0},"66":{"tf":1.0}}},"s":{"df":4,"docs":{"120":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"67":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"r":{"df":3,"docs":{"11":{"tf":1.0},"18":{"tf":1.0},"66":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"117":{"tf":1.0},"50":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"120":{"tf":1.0},"139":{"tf":1.0},"22":{"tf":1.0}}}}}}},"df":31,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":1.0},"123":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"29":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"71":{"tf":2.449489742783178},"72":{"tf":1.0},"73":{"tf":2.23606797749979},"74":{"tf":3.0},"75":{"tf":2.6457513110645907},"76":{"tf":2.449489742783178},"77":{"tf":2.23606797749979},"78":{"tf":1.4142135623730951},"79":{"tf":2.6457513110645907},"80":{"tf":1.7320508075688772},"81":{"tf":1.7320508075688772},"82":{"tf":2.23606797749979},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":2.0},"86":{"tf":2.6457513110645907},"88":{"tf":1.0},"9":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":8,"docs":{"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"36":{"tf":1.0},"43":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.4142135623730951},"83":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"16":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.4142135623730951},"77":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"w":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}},"m":{"df":14,"docs":{"103":{"tf":1.0},"105":{"tf":2.0},"107":{"tf":1.4142135623730951},"111":{"tf":1.0},"12":{"tf":1.7320508075688772},"121":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":2.8284271247461903},"90":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}}},"n":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"142":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":1,"docs":{"23":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"113":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":15,"docs":{"105":{"tf":1.4142135623730951},"107":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.0},"5":{"tf":1.4142135623730951},"55":{"tf":1.0},"6":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"88":{"tf":1.0},"91":{"tf":1.7320508075688772},"92":{"tf":1.7320508075688772},"94":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":30,"docs":{"10":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"120":{"tf":1.4142135623730951},"126":{"tf":1.7320508075688772},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"20":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"45":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"5":{"tf":2.8284271247461903},"52":{"tf":1.4142135623730951},"53":{"tf":2.449489742783178},"54":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951},"63":{"tf":2.23606797749979},"66":{"tf":1.0},"67":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"9":{"tf":1.0},"95":{"tf":1.4142135623730951}}}}},"j":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ϕ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"=":{"1":{",":{"df":0,"docs":{},"…":{",":{"d":{"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":{}}},"l":{"df":0,"docs":{},"e":{"df":2,"docs":{"29":{"tf":1.4142135623730951},"30":{"tf":1.0}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":1,"docs":{"29":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"113":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.0},"120":{"tf":1.7320508075688772},"121":{"tf":1.4142135623730951},"132":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.7320508075688772},"52":{"tf":1.0},"53":{"tf":2.0},"54":{"tf":2.0},"55":{"tf":1.0},"76":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":2.449489742783178}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":18,"docs":{"101":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.4142135623730951},"42":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0},"81":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.0},"96":{"tf":1.0}}}},"d":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":9,"docs":{"11":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"136":{"tf":1.0},"21":{"tf":1.4142135623730951},"43":{"tf":1.0},"53":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"84":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"116":{"tf":1.0}}}},"t":{"df":24,"docs":{"103":{"tf":1.0},"104":{"tf":1.7320508075688772},"105":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"109":{"tf":1.0},"111":{"tf":1.0},"116":{"tf":1.0},"12":{"tf":1.4142135623730951},"142":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.4142135623730951},"67":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"96":{"tf":1.0},"97":{"tf":1.0}}}},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":42,"docs":{"107":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.4142135623730951},"120":{"tf":2.23606797749979},"124":{"tf":1.0},"131":{"tf":1.0},"139":{"tf":1.0},"142":{"tf":1.0},"22":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"4":{"tf":1.0},"42":{"tf":2.449489742783178},"49":{"tf":1.0},"5":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":2.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.4142135623730951},"97":{"tf":1.0},"99":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.0}}}}}}},"t":{"df":2,"docs":{"104":{"tf":1.0},"17":{"tf":1.0}}},"x":{"df":16,"docs":{"122":{"tf":1.0},"124":{"tf":1.0},"15":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":3.3166247903554},"60":{"tf":1.4142135623730951},"66":{"tf":1.0},"7":{"tf":1.0},"76":{"tf":1.0}}}},"k":{"df":1,"docs":{"57":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"t":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}}}},"−":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"t":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{")":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{")":{",":{"(":{"9":{".":{"1":{".":{"2":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"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":{},"w":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"142":{"tf":1.0},"69":{"tf":1.0}}}},"x":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"29":{"tf":1.0}}}},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"[":{"0":{"]":{")":{":":{".":{"6":{"df":0,"docs":{},"f":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"]":{")":{":":{".":{"6":{"df":0,"docs":{},"f":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":2,"docs":{"54":{"tf":1.0},"66":{"tf":1.0}}}},"df":0,"docs":{},"w":{"df":3,"docs":{"70":{"tf":1.0},"72":{"tf":1.4142135623730951},"90":{"tf":1.0}}}}},"n":{"=":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":2,"docs":{"76":{"tf":1.4142135623730951},"77":{"tf":1.0}}},"o":{"c":{"df":0,"docs":{},"u":{"df":9,"docs":{"104":{"tf":1.0},"122":{"tf":1.0},"16":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"50":{"tf":1.0},"67":{"tf":1.0}},"s":{"df":8,"docs":{"109":{"tf":1.0},"12":{"tf":1.0},"139":{"tf":1.0},"36":{"tf":1.0},"70":{"tf":1.4142135623730951},"77":{"tf":1.0},"8":{"tf":1.0},"94":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"116":{"tf":1.0},"122":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":39,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"11":{"tf":1.4142135623730951},"115":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"120":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.4142135623730951},"36":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.4142135623730951},"85":{"tf":1.7320508075688772},"86":{"tf":1.4142135623730951},"91":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"49":{"tf":1.0}}}},"c":{"df":56,"docs":{"100":{"tf":2.6457513110645907},"101":{"tf":3.0},"102":{"tf":1.7320508075688772},"103":{"tf":2.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.7320508075688772},"112":{"tf":1.7320508075688772},"113":{"tf":1.0},"114":{"tf":1.7320508075688772},"115":{"tf":1.7320508075688772},"117":{"tf":1.0},"118":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":2.449489742783178},"124":{"tf":1.0},"127":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"14":{"tf":3.7416573867739413},"16":{"tf":2.23606797749979},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"27":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":2.449489742783178},"49":{"tf":1.7320508075688772},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":2.0},"57":{"tf":2.6457513110645907},"58":{"tf":3.4641016151377544},"6":{"tf":1.4142135623730951},"60":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"84":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":3.3166247903554},"92":{"tf":1.4142135623730951},"94":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":2.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"​":{"(":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":1,"docs":{"91":{"tf":1.0}},"​":{")":{"=":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"∂":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{")":{")":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"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":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"29":{"tf":1.0}}}}},"m":{"'":{"df":1,"docs":{"92":{"tf":1.0}}},"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"41":{"tf":1.0}}}},"df":44,"docs":{"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"103":{"tf":1.7320508075688772},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"11":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.7320508075688772},"114":{"tf":1.4142135623730951},"115":{"tf":1.7320508075688772},"116":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.4142135623730951},"126":{"tf":1.0},"128":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"4":{"tf":1.0},"42":{"tf":1.0},"5":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":2.6457513110645907},"9":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":3.605551275463989},"93":{"tf":2.23606797749979},"94":{"tf":1.7320508075688772},"95":{"tf":2.8284271247461903},"96":{"tf":1.0},"97":{"tf":2.0},"98":{"tf":1.0},"99":{"tf":2.8284271247461903}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":5,"docs":{"58":{"tf":1.0},"8":{"tf":1.0},"82":{"tf":2.23606797749979},"85":{"tf":1.0},"96":{"tf":1.0}}},"df":19,"docs":{"103":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"27":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"4":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"5":{"tf":1.0},"58":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.4142135623730951},"89":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}}}},"—":{"a":{"df":1,"docs":{"94":{"tf":1.0}}},"df":0,"docs":{}},"→":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"115":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"115":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"115":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}}},"df":1,"docs":{"29":{"tf":1.0}}},"u":{"df":0,"docs":{},"n":{"df":6,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"114":{"tf":1.0},"118":{"tf":1.0},"22":{"tf":1.0},"42":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.0},"43":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"5":{"tf":1.0},"7":{"tf":1.0},"88":{"tf":1.0}}}},"df":10,"docs":{"116":{"tf":1.0},"122":{"tf":1.0},"131":{"tf":1.7320508075688772},"24":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}},"r":{")":{"=":{"df":0,"docs":{},"ψ":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"21":{"tf":1.0},"82":{"tf":1.4142135623730951}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.7320508075688772}}}}},"{":{"1":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"14":{"tf":1.4142135623730951}},"}":{"\\":{"df":0,"docs":{},"|":{"df":0,"docs":{},"x":{"df":1,"docs":{"26":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"d":{"df":2,"docs":{"7":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"v":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"x":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":7,"docs":{"117":{"tf":1.0},"29":{"tf":1.7320508075688772},"35":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.7320508075688772}},"r":{"df":1,"docs":{"35":{"tf":1.0}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":16,"docs":{"103":{"tf":1.0},"122":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"24":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0},"79":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":17,"docs":{"101":{"tf":1.0},"114":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"82":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0}}}}},"df":18,"docs":{"0":{"tf":1.0},"100":{"tf":1.0},"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"116":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"132":{"tf":1.0},"142":{"tf":1.0},"18":{"tf":1.0},"51":{"tf":1.4142135623730951},"53":{"tf":2.0},"71":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.4142135623730951}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":38,"docs":{"102":{"tf":2.6457513110645907},"103":{"tf":1.4142135623730951},"109":{"tf":1.4142135623730951},"115":{"tf":1.7320508075688772},"116":{"tf":1.4142135623730951},"117":{"tf":1.0},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"122":{"tf":2.6457513110645907},"123":{"tf":3.605551275463989},"124":{"tf":2.0},"125":{"tf":1.7320508075688772},"126":{"tf":3.1622776601683795},"127":{"tf":2.6457513110645907},"128":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"140":{"tf":1.7320508075688772},"141":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":4.123105625617661},"18":{"tf":1.4142135623730951},"30":{"tf":1.0},"31":{"tf":1.0},"43":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":2.0},"57":{"tf":3.0},"58":{"tf":4.0},"59":{"tf":2.23606797749979},"60":{"tf":2.6457513110645907},"61":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":3.605551275463989},"64":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"97":{"tf":1.0},"98":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"126":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"116":{"tf":1.0},"121":{"tf":1.0},"62":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"t":{"=":{"df":0,"docs":{},"f":{"df":0,"docs":{},"−":{"1":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"j":{"df":0,"docs":{},"≡":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{")":{"=":{"1":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":1,"docs":{"74":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{},"x":{"df":1,"docs":{"58":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"114":{"tf":1.0},"122":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"82":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"16":{"tf":1.0}}},"df":58,"docs":{"100":{"tf":1.0},"101":{"tf":2.6457513110645907},"102":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":2.6457513110645907},"107":{"tf":1.4142135623730951},"108":{"tf":1.7320508075688772},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":2.23606797749979},"117":{"tf":1.4142135623730951},"118":{"tf":1.7320508075688772},"119":{"tf":2.0},"121":{"tf":1.7320508075688772},"123":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951},"129":{"tf":2.0},"134":{"tf":2.23606797749979},"141":{"tf":1.7320508075688772},"16":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":2.0},"26":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":2.449489742783178},"47":{"tf":1.0},"48":{"tf":2.0},"49":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"71":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":3.3166247903554},"75":{"tf":1.7320508075688772},"76":{"tf":2.23606797749979},"77":{"tf":2.23606797749979},"78":{"tf":1.0},"79":{"tf":2.0},"82":{"tf":1.0},"83":{"tf":1.0},"87":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"92":{"tf":2.0},"93":{"tf":1.4142135623730951},"95":{"tf":4.242640687119285},"97":{"tf":2.23606797749979}}}}}}},"d":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"7":{"tf":1.0},"78":{"tf":1.0},"89":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":13,"docs":{"122":{"tf":1.0},"134":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.0},"34":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"77":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"7":{"tf":1.0},"80":{"tf":1.0}}}}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"1":{"tf":1.0},"29":{"tf":1.0},"55":{"tf":1.0},"67":{"tf":1.0},"95":{"tf":1.0}}}}}},"∂":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"81":{"tf":1.0}}}},"df":0,"docs":{}}}}},"p":{"df":4,"docs":{"79":{"tf":1.7320508075688772},"82":{"tf":1.7320508075688772},"83":{"tf":1.0},"86":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"f":{")":{")":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"​":{"=":{"(":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{")":{")":{"df":0,"docs":{},"k":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"​":{"df":0,"docs":{},"v":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"v":{"df":0,"docs":{},"j":{"df":0,"docs":{},"l":{"df":1,"docs":{"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":{}},"σ":{")":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"s":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{")":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"∂":{"df":1,"docs":{"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":{},"f":{")":{"=":{"df":0,"docs":{},"μ":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"−":{"df":0,"docs":{},"f":{"df":0,"docs":{},"−":{"df":0,"docs":{},"t":{")":{"+":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"j":{")":{"df":0,"docs":{},"f":{"df":0,"docs":{},"−":{"df":0,"docs":{},"t":{"df":1,"docs":{"74":{"tf":1.0}}}}}},"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":{},"p":{"^":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"80":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"∈":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"×":{"d":{"df":3,"docs":{"72":{"tf":1.0},"74":{"tf":1.4142135623730951},"76":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"−":{"df":0,"docs":{},"f":{"df":0,"docs":{},"−":{"df":0,"docs":{},"t":{"=":{"0":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"⋅":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"f":{"d":{"df":0,"docs":{},"x":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"g":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"f":{"(":{"2":{")":{"+":{"df":0,"docs":{},"f":{"df":0,"docs":{},"′":{"(":{"2":{")":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"2":{")":{"+":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"f":{"df":0,"docs":{},"′":{"df":0,"docs":{},"′":{"(":{"2":{")":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"2":{")":{"2":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":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":{"20":{"tf":1.4142135623730951},"95":{"tf":1.0}}}},"[":{"0":{"df":1,"docs":{"118":{"tf":1.0}}},"1":{"df":1,"docs":{"118":{"tf":1.0}}},"2":{"df":1,"docs":{"118":{"tf":1.0}}},"3":{"df":1,"docs":{"118":{"tf":1.0}}},"4":{"df":1,"docs":{"118":{"tf":1.0}}},"5":{"df":1,"docs":{"118":{"tf":1.0}}},"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"[":{"df":0,"docs":{},"i":{"]":{"[":{"0":{"df":1,"docs":{"27":{"tf":1.0}}},"1":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{},"j":{"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"0":{"df":1,"docs":{"126":{"tf":1.0}}},"1":{"df":1,"docs":{"126":{"tf":1.0}}},"[":{"0":{"df":1,"docs":{"119":{"tf":1.0}}},"1":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"]":{"[":{"1":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"26":{"tf":1.0},"35":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0}}},"x":{"df":0,"docs":{},"i":{"df":2,"docs":{"119":{"tf":1.0},"126":{"tf":1.0}}}}},"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"27":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"a":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"86":{"tf":1.0}}}},"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"p":{"[":{"2":{":":{"4":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"118":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"v":{"df":1,"docs":{"126":{"tf":2.0}}}},"df":0,"docs":{}}}}},"a":{"df":1,"docs":{"69":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"17":{"tf":1.0},"29":{"tf":1.0},"63":{"tf":1.0}}}},"m":{"df":0,"docs":{},"m":{"a":{"_":{"df":0,"docs":{},"k":{"df":1,"docs":{"16":{"tf":2.6457513110645907}}},"{":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"49":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"—":{"a":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"139":{"tf":1.0},"29":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"113":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":13,"docs":{"118":{"tf":1.4142135623730951},"14":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"86":{"tf":1.4142135623730951},"89":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"1":{".":{"0":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":31,"docs":{"101":{"tf":1.4142135623730951},"105":{"tf":1.0},"11":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":1.4142135623730951},"12":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"25":{"tf":2.23606797749979},"30":{"tf":1.0},"37":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"45":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"82":{"tf":1.0},"85":{"tf":1.4142135623730951},"92":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.0}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"101":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"142":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":3,"docs":{"104":{"tf":1.0},"14":{"tf":1.0},"5":{"tf":1.4142135623730951}},"i":{"df":9,"docs":{"12":{"tf":1.4142135623730951},"128":{"tf":1.0},"140":{"tf":1.0},"25":{"tf":1.4142135623730951},"45":{"tf":2.23606797749979},"5":{"tf":2.8284271247461903},"6":{"tf":1.0},"7":{"tf":1.0},"92":{"tf":1.4142135623730951}}}}}}}},"q":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}}},"t":{"df":1,"docs":{"134":{"tf":1.0}},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"c":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"i":{"c":{"(":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"131":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"d":{"(":{"b":{"df":1,"docs":{"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":{}}}}},"i":{"df":1,"docs":{"42":{"tf":1.0}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":2,"docs":{"1":{"tf":1.0},"2":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":11,"docs":{"106":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.0},"16":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.0},"82":{"tf":1.4142135623730951},"92":{"tf":1.0},"96":{"tf":1.0}},"n":{"df":23,"docs":{"10":{"tf":1.0},"103":{"tf":1.0},"11":{"tf":1.4142135623730951},"113":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"136":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"66":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0},"82":{"tf":1.4142135623730951},"9":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}}}}},"l":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":11,"docs":{"113":{"tf":1.0},"115":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"27":{"tf":2.0},"30":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"32":{"tf":1.0},"4":{"tf":1.0}}}},"df":1,"docs":{"92":{"tf":1.0}},"e":{"df":2,"docs":{"142":{"tf":1.0},"76":{"tf":1.0}}},"n":{"df":0,"docs":{},"z":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"z":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}}},"df":0,"docs":{}}},"o":{"d":{"df":2,"docs":{"22":{"tf":1.0},"92":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":7,"docs":{"104":{"tf":1.0},"70":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.4142135623730951},"91":{"tf":1.0},"93":{"tf":1.0},"98":{"tf":1.0}}}}}}},"r":{"a":{"d":{"(":{"df":0,"docs":{},"p":{"0":{"df":1,"docs":{"118":{"tf":1.0}}},"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"v":{"df":1,"docs":{"63":{"tf":1.0}}},"x":{"df":7,"docs":{"26":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"86":{"tf":1.0}}}},"df":1,"docs":{"26":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":45,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"117":{"tf":1.0},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.7320508075688772},"131":{"tf":1.0},"132":{"tf":1.0},"134":{"tf":1.7320508075688772},"139":{"tf":1.0},"14":{"tf":1.0},"141":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.7320508075688772},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":2.23606797749979},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"71":{"tf":3.0},"72":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":2.0},"88":{"tf":1.4142135623730951}}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"10":{"tf":1.0},"34":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"69":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"c":{"df":7,"docs":{"128":{"tf":1.0},"20":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"69":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"79":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"p":{"df":1,"docs":{"4":{"tf":1.0}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"14":{"tf":1.7320508075688772},"35":{"tf":1.7320508075688772},"89":{"tf":1.0}},"i":{"df":8,"docs":{"14":{"tf":1.7320508075688772},"18":{"tf":1.0},"35":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0},"91":{"tf":1.0}}},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"35":{"tf":1.0}}}},"v":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"5":{"tf":1.0}}}}},"i":{"d":{"df":7,"docs":{"105":{"tf":1.0},"12":{"tf":1.0},"136":{"tf":1.7320508075688772},"17":{"tf":1.0},"45":{"tf":2.8284271247461903},"5":{"tf":3.4641016151377544},"55":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"n":{"[":{"0":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"117":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951}}},"o":{"[":{"1":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"117":{"tf":1.0},"62":{"tf":1.0}}}},"df":12,"docs":{"117":{"tf":1.4142135623730951},"120":{"tf":2.0},"126":{"tf":1.4142135623730951},"15":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":2.6457513110645907},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"67":{"tf":1.0},"7":{"tf":1.0},"87":{"tf":1.4142135623730951}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"37":{"tf":1.0},"6":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"w":{"df":2,"docs":{"120":{"tf":1.0},"9":{"tf":1.0}}}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":19,"docs":{"11":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"131":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"59":{"tf":1.0}}}}},"i":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}}}},"h":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.0},"35":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"=":{"0":{".":{"0":{"1":{"df":2,"docs":{"52":{"tf":1.0},"54":{"tf":1.0}}},"2":{"df":2,"docs":{"29":{"tf":1.0},"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"[":{"df":0,"docs":{},"h":{"b":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"]":{",":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"=":{"[":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"]":{",":{"df":0,"docs":{},"g":{"=":{"[":{"df":0,"docs":{},"g":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"33":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":1,"docs":{"118":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":0,"docs":{},"}":{"_":{"0":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"^":{"2":{"df":1,"docs":{"49":{"tf":1.0}}},"=":{"df":0,"docs":{},"h":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{},"i":{"=":{"(":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"v":{"/":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"−":{"1":{"df":2,"docs":{"123":{"tf":1.0},"58":{"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":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"27":{"tf":2.0}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"a":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.0},"45":{"tf":1.0},"69":{"tf":1.0}}}},"l":{"df":0,"docs":{},"f":{"df":5,"docs":{"117":{"tf":1.4142135623730951},"45":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"62":{"tf":1.0},"67":{"tf":1.0}}},"t":{"df":1,"docs":{"10":{"tf":1.0}}},"v":{"df":1,"docs":{"21":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"115":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"n":{"d":{"df":4,"docs":{"16":{"tf":1.0},"34":{"tf":1.0},"92":{"tf":2.0},"95":{"tf":1.0}},"l":{"df":16,"docs":{"101":{"tf":1.0},"117":{"tf":1.4142135623730951},"12":{"tf":1.0},"141":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.0},"36":{"tf":1.0},"5":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"6":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":2.0}}}},"o":{"df":1,"docs":{"142":{"tf":1.0}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"16":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"74":{"tf":1.0},"77":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":5,"docs":{"121":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.4142135623730951},"139":{"tf":1.0},"141":{"tf":1.0}}}},"t":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"m":{"b":{"d":{"a":{"df":1,"docs":{"22":{"tf":1.0}},"}":{"_":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"d":{"df":3,"docs":{"48":{"tf":2.0},"49":{"tf":2.0},"52":{"tf":1.0}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":6,"docs":{"28":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0}}}},"​":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"]":{"[":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"]":{"=":{"[":{"df":0,"docs":{},"−":{"df":0,"docs":{},"g":{"0":{"df":0,"docs":{},"​":{"]":{".":{"(":{"5":{".":{"1":{".":{"3":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":15,"docs":{"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"14":{"tf":2.0},"26":{"tf":1.0},"28":{"tf":4.795831523312719},"29":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":2.8284271247461903},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"67":{"tf":3.0}},"e":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"78":{"tf":1.0},"87":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"p":{"df":7,"docs":{"104":{"tf":1.0},"135":{"tf":1.0},"18":{"tf":1.4142135623730951},"27":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"66":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"63":{"tf":1.0}}}}}},"n":{"c":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"33":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":58,"docs":{"100":{"tf":1.0},"101":{"tf":1.7320508075688772},"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"107":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"118":{"tf":1.0},"119":{"tf":2.23606797749979},"120":{"tf":1.0},"123":{"tf":2.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.7320508075688772},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.0},"6":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"85":{"tf":1.4142135623730951},"87":{"tf":1.7320508075688772},"89":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"p":{"0":{"df":1,"docs":{"118":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":1,"docs":{"63":{"tf":1.0}}},"x":{"df":6,"docs":{"26":{"tf":1.0},"27":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"86":{"tf":1.0}}}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"v":{"[":{"df":0,"docs":{},"r":{"df":1,"docs":{"126":{"tf":1.0}}}},"df":1,"docs":{"126":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"26":{"tf":1.4142135623730951}},"i":{"a":{"df":0,"docs":{},"n":{"df":30,"docs":{"114":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.7320508075688772},"131":{"tf":1.4142135623730951},"139":{"tf":1.0},"22":{"tf":1.7320508075688772},"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.7320508075688772},"27":{"tf":2.23606797749979},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.0},"41":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.4142135623730951},"58":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"67":{"tf":1.7320508075688772},"86":{"tf":2.0},"88":{"tf":1.0}}}},"df":0,"docs":{}}}}},"h":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"126":{"tf":1.4142135623730951},"63":{"tf":3.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":4,"docs":{"121":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.4142135623730951},"141":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"h":{"df":10,"docs":{"12":{"tf":1.0},"133":{"tf":1.0},"16":{"tf":1.0},"24":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"21":{"tf":1.0},"45":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"76":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"113":{"tf":1.0},"18":{"tf":1.0}},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"102":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.0}}}},"t":{"df":2,"docs":{"52":{"tf":1.0},"53":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":9,"docs":{"119":{"tf":1.0},"134":{"tf":1.0},"21":{"tf":1.0},"34":{"tf":1.0},"49":{"tf":1.4142135623730951},"75":{"tf":1.0},"82":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"92":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"'":{"df":2,"docs":{"27":{"tf":1.0},"79":{"tf":1.0}}},"a":{"df":0,"docs":{},"n":{"df":12,"docs":{"142":{"tf":1.0},"20":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.4142135623730951},"86":{"tf":1.0},"88":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"25":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0}}}}}}}},"w":{"df":1,"docs":{"142":{"tf":1.0}}}},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"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":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":8,"docs":{"116":{"tf":1.0},"122":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"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":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"b":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"−":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"33":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"−":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{",":{"(":{"5":{".":{"2":{".":{"3":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{}},"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":{},"​":{"]":{"[":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"]":{"=":{"[":{"df":0,"docs":{},"−":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"0":{"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":{}}}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"68":{"tf":1.0},"79":{"tf":1.7320508075688772},"83":{"tf":1.0},"88":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"∈":{"[":{"0":{",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"(":{"0":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{},"x":{"df":2,"docs":{"114":{"tf":1.0},"134":{"tf":1.0}}}},"+":{"1":{"df":1,"docs":{"29":{"tf":1.7320508075688772}}},"df":0,"docs":{}},",":{"df":0,"docs":{},"j":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}},".":{"df":4,"docs":{"107":{"tf":1.0},"139":{"tf":1.0},"74":{"tf":1.0},"96":{"tf":1.0}}},"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"j":{"2":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}}}}},"=":{"0":{",":{"1":{",":{"2":{",":{".":{".":{".":{",":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"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":{},"i":{"^":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"95":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"j":{"df":1,"docs":{"75":{"tf":1.0}}}},"\\":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{}},"^":{"=":{"1":{",":{"2":{",":{"df":0,"docs":{},"…":{",":{"d":{"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":{}},"b":{"[":{"0":{"df":1,"docs":{"86":{"tf":3.4641016151377544}}},"1":{"df":1,"docs":{"86":{"tf":3.4641016151377544}}},"df":0,"docs":{},"i":{"df":2,"docs":{"85":{"tf":1.0},"86":{"tf":2.23606797749979}}}},"df":2,"docs":{"85":{"tf":1.0},"86":{"tf":2.449489742783178}}},"d":{"=":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"[":{"2":{"df":1,"docs":{"82":{"tf":1.0}}},"3":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":4,"docs":{"101":{"tf":1.0},"125":{"tf":1.0},"136":{"tf":1.0},"80":{"tf":1.0}},"l":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":7,"docs":{"32":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"80":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"16":{"tf":1.0}},"i":{"df":8,"docs":{"108":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"136":{"tf":1.0},"26":{"tf":1.0},"35":{"tf":1.0},"41":{"tf":1.0},"67":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"111":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"76":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}}}}}},"i":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}},"j":{"=":{"1":{"1":{",":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"=":{"2":{"2":{",":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"=":{"3":{"3":{"df":1,"docs":{"81":{"tf":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":{"81":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"81":{"tf":1.0},"86":{"tf":1.0}},"v":{"[":{"0":{"]":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":2,"docs":{"62":{"tf":1.0},"63":{"tf":1.0}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":3,"docs":{"119":{"tf":1.0},"126":{"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":{},"i":{"df":2,"docs":{"26":{"tf":1.0},"54":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"86":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"28":{"tf":1.0}}},"1":{"]":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":2,"docs":{"62":{"tf":1.0},"63":{"tf":1.0}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"j":{"df":3,"docs":{"119":{"tf":1.0},"126":{"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":{},"i":{"df":2,"docs":{"26":{"tf":1.0},"54":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"86":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"28":{"tf":1.0}}},"2":{"]":{"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"26":{"tf":1.0},"54":{"tf":1.4142135623730951}},"n":{"d":{"df":1,"docs":{"86":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":5,"docs":{"119":{"tf":1.0},"126":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"28":{"tf":1.0}}}},"m":{"df":1,"docs":{"28":{"tf":1.4142135623730951}},"s":{"[":{"2":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":8,"docs":{"26":{"tf":1.7320508075688772},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"54":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951}}},"​":{"=":{"1":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"λ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∗":{")":{"=":{"0":{".":{"df":0,"docs":{},"​":{"(":{"7":{".":{"3":{".":{"1":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}}}},"k":{"df":1,"docs":{"81":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":16,"docs":{"10":{"tf":1.4142135623730951},"114":{"tf":1.0},"20":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0}}}}}}}},"m":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"5":{"tf":1.4142135623730951},"67":{"tf":1.0},"87":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"36":{"tf":1.0}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"15":{"tf":1.0}}}}},"p":{"a":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0},"41":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}},"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":43,"docs":{"104":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.7320508075688772},"116":{"tf":1.7320508075688772},"117":{"tf":1.4142135623730951},"118":{"tf":2.23606797749979},"119":{"tf":2.23606797749979},"120":{"tf":2.449489742783178},"121":{"tf":1.7320508075688772},"122":{"tf":2.0},"123":{"tf":1.0},"125":{"tf":2.0},"126":{"tf":2.8284271247461903},"127":{"tf":1.4142135623730951},"131":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"28":{"tf":2.0},"29":{"tf":2.23606797749979},"30":{"tf":1.4142135623730951},"32":{"tf":1.0},"35":{"tf":2.449489742783178},"5":{"tf":1.0},"54":{"tf":2.23606797749979},"61":{"tf":1.4142135623730951},"62":{"tf":2.6457513110645907},"63":{"tf":2.6457513110645907},"64":{"tf":1.0},"67":{"tf":3.605551275463989},"79":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.7320508075688772},"86":{"tf":2.23606797749979},"87":{"tf":1.7320508075688772},"88":{"tf":1.0}}}}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":22,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.7320508075688772},"12":{"tf":1.0},"122":{"tf":1.4142135623730951},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.4142135623730951},"141":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":2.23606797749979},"35":{"tf":1.4142135623730951},"58":{"tf":2.449489742783178},"59":{"tf":1.7320508075688772},"60":{"tf":1.7320508075688772},"63":{"tf":2.0},"64":{"tf":1.4142135623730951},"79":{"tf":1.0},"83":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":9,"docs":{"10":{"tf":1.0},"129":{"tf":1.0},"20":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"9":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":23,"docs":{"11":{"tf":1.0},"118":{"tf":2.23606797749979},"120":{"tf":2.0},"123":{"tf":1.0},"127":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"27":{"tf":2.23606797749979},"28":{"tf":2.8284271247461903},"29":{"tf":2.449489742783178},"30":{"tf":1.0},"35":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.4142135623730951},"6":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"67":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"86":{"tf":1.7320508075688772}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"71":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"40":{"tf":1.0},"41":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":3,"docs":{"1":{"tf":1.0},"11":{"tf":1.0},"120":{"tf":1.0}}}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"105":{"tf":1.0}}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"52":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}}}}}}}},"c":{"df":0,"docs":{},"i":{"d":{"df":12,"docs":{"106":{"tf":1.4142135623730951},"107":{"tf":1.0},"112":{"tf":2.0},"113":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.4142135623730951},"130":{"tf":1.0},"134":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"62":{"tf":1.0},"63":{"tf":1.0}}}},"u":{"d":{"df":14,"docs":{"100":{"tf":1.0},"106":{"tf":1.0},"118":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.4142135623730951},"31":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"58":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"99":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":1,"docs":{"27":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"74":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":11,"docs":{"123":{"tf":1.0},"127":{"tf":1.0},"132":{"tf":1.0},"27":{"tf":1.4142135623730951},"36":{"tf":1.0},"47":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"67":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":11,"docs":{"105":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"118":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"41":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"71":{"tf":1.0}}}},"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":30,"docs":{"14":{"tf":1.4142135623730951},"142":{"tf":1.7320508075688772},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"28":{"tf":1.7320508075688772},"30":{"tf":1.0},"32":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"35":{"tf":1.0},"36":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"91":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"21":{"tf":1.0}}}}},"d":{"df":1,"docs":{"86":{"tf":1.0}},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"112":{"tf":1.0},"41":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}}},"x":{"df":12,"docs":{"107":{"tf":1.0},"117":{"tf":1.7320508075688772},"119":{"tf":1.0},"121":{"tf":1.0},"126":{"tf":1.0},"26":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"71":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.4142135623730951}}}},"i":{"c":{"df":19,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"117":{"tf":1.4142135623730951},"124":{"tf":1.0},"136":{"tf":1.4142135623730951},"16":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.4142135623730951},"35":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":2.23606797749979},"72":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"u":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}}},"q":{"df":0,"docs":{},"u":{"df":5,"docs":{"16":{"tf":2.0},"18":{"tf":1.0},"30":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":6,"docs":{"128":{"tf":1.0},"14":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":2.449489742783178},"29":{"tf":1.0},"66":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}},"y":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.0},"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"26":{"tf":1.0}}}},"v":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.0},"35":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"f":{"df":2,"docs":{"28":{"tf":1.7320508075688772},"67":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"16":{"tf":1.0},"34":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"101":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"76":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"42":{"tf":1.0},"95":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":6,"docs":{"101":{"tf":1.0},"113":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}}}}}}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":3,"docs":{"14":{"tf":1.0},"17":{"tf":1.0},"29":{"tf":1.0}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":7,"docs":{"124":{"tf":2.0},"125":{"tf":1.0},"33":{"tf":1.0},"5":{"tf":1.4142135623730951},"67":{"tf":1.0},"85":{"tf":1.0},"98":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"53":{"tf":1.0},"54":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"4":{"tf":1.0},"50":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"df":3,"docs":{"54":{"tf":1.0},"62":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"29":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":29,"docs":{"11":{"tf":1.7320508075688772},"117":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":2.6457513110645907},"30":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"4":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":2.449489742783178},"7":{"tf":1.4142135623730951},"70":{"tf":1.7320508075688772},"71":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"64":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"126":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"114":{"tf":1.0},"124":{"tf":1.4142135623730951},"58":{"tf":1.0},"74":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":9,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"108":{"tf":1.0},"118":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.0},"91":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":6,"docs":{"120":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0},"37":{"tf":1.0},"41":{"tf":1.0},"70":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"27":{"tf":1.0},"58":{"tf":1.0}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"12":{"tf":1.4142135623730951},"131":{"tf":1.0},"29":{"tf":1.0}}}},"df":0,"docs":{},"n":{"c":{"df":9,"docs":{"25":{"tf":1.0},"29":{"tf":1.0},"38":{"tf":1.0},"45":{"tf":1.0},"6":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"d":{"df":5,"docs":{"121":{"tf":1.0},"29":{"tf":1.0},"53":{"tf":1.4142135623730951},"84":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"53":{"tf":1.0},"55":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":71,"docs":{"10":{"tf":1.7320508075688772},"100":{"tf":1.0},"101":{"tf":2.6457513110645907},"103":{"tf":1.0},"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":2.6457513110645907},"111":{"tf":1.0},"112":{"tf":2.449489742783178},"113":{"tf":2.449489742783178},"114":{"tf":1.4142135623730951},"115":{"tf":2.449489742783178},"117":{"tf":1.0},"12":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":2.0},"124":{"tf":1.7320508075688772},"127":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"134":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":2.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"29":{"tf":1.7320508075688772},"30":{"tf":1.0},"32":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"5":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"56":{"tf":1.0},"58":{"tf":2.8284271247461903},"6":{"tf":1.0},"60":{"tf":2.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"7":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951},"77":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":1.4142135623730951},"83":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":2.0},"92":{"tf":2.23606797749979},"93":{"tf":2.0},"95":{"tf":2.0},"96":{"tf":1.0},"97":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}}}},"n":{"d":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":4,"docs":{"12":{"tf":1.0},"135":{"tf":1.0},"15":{"tf":1.0},"79":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"71":{"tf":1.0}}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":7,"docs":{"117":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"25":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"1":{"tf":1.0},"115":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"105":{"tf":1.0}}}}}}}}}},"f":{"a":{"c":{"df":6,"docs":{"114":{"tf":1.0},"118":{"tf":1.0},"126":{"tf":1.0},"56":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"111":{"tf":1.0},"128":{"tf":1.0},"16":{"tf":1.7320508075688772},"45":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.0}}},"1":{"df":1,"docs":{"86":{"tf":1.0}}},"2":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"86":{"tf":2.8284271247461903}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":7,"docs":{"107":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"48":{"tf":1.0},"86":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":3,"docs":{"71":{"tf":1.0},"79":{"tf":1.0},"91":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":25,"docs":{"100":{"tf":2.23606797749979},"101":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":1.0},"127":{"tf":1.0},"133":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.7320508075688772},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"67":{"tf":1.0},"68":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"87":{"tf":1.7320508075688772},"88":{"tf":1.4142135623730951}}}}}}},"o":{"df":0,"docs":{},"l":{"df":7,"docs":{"105":{"tf":1.7320508075688772},"108":{"tf":1.0},"21":{"tf":1.0},"45":{"tf":2.23606797749979},"55":{"tf":1.0},"95":{"tf":2.8284271247461903},"97":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"48":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":7,"docs":{"121":{"tf":1.0},"136":{"tf":1.4142135623730951},"142":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":3,"docs":{"11":{"tf":1.0},"7":{"tf":1.4142135623730951},"96":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"41":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"c":{"a":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"16":{"tf":1.0},"31":{"tf":1.0},"45":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"16":{"tf":1.0}}}}},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":34,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"11":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"18":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"31":{"tf":1.0},"4":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"50":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"74":{"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.4142135623730951},"84":{"tf":1.0},"94":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.0}},"t":{"df":3,"docs":{"24":{"tf":1.0},"50":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":13,"docs":{"130":{"tf":1.0},"133":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"34":{"tf":1.0},"4":{"tf":1.0},"53":{"tf":1.4142135623730951},"66":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951},"77":{"tf":1.0}}}}}},"v":{"0":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}},"1":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}},"2":{"_":{"0":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}},"1":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"29":{"tf":1.0},"5":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"20":{"tf":1.4142135623730951},"74":{"tf":2.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":19,"docs":{"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"116":{"tf":1.4142135623730951},"117":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"142":{"tf":1.0},"68":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"76":{"tf":1.7320508075688772},"77":{"tf":1.4142135623730951},"83":{"tf":1.0},"84":{"tf":1.7320508075688772},"85":{"tf":1.0},"87":{"tf":2.449489742783178},"88":{"tf":1.7320508075688772}}},"t":{"df":7,"docs":{"142":{"tf":1.4142135623730951},"22":{"tf":1.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.0},"76":{"tf":1.7320508075688772},"77":{"tf":1.0},"82":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":29,"docs":{"107":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"140":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.7320508075688772},"22":{"tf":1.0},"23":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.4142135623730951},"41":{"tf":1.0},"5":{"tf":1.7320508075688772},"50":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}}}}}}},"p":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951}}}},"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"35":{"tf":1.0}}}},"df":1,"docs":{"28":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"x":{"df":4,"docs":{"28":{"tf":2.0},"35":{"tf":1.0},"54":{"tf":1.0},"67":{"tf":1.0}}}},"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}},"c":{"df":18,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"122":{"tf":1.0},"134":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.7320508075688772},"51":{"tf":1.7320508075688772},"52":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":2.0},"64":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}},"df":2,"docs":{"35":{"tf":1.4142135623730951},"53":{"tf":2.0}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"45":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"v":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"82":{"tf":1.0}}}},"s":{"_":{"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"35":{"tf":1.4142135623730951},"67":{"tf":1.0}},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":2,"docs":{"35":{"tf":1.0},"67":{"tf":1.0}}},"j":{"df":2,"docs":{"35":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":3,"docs":{"35":{"tf":2.0},"63":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"55":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":7,"docs":{"74":{"tf":2.0},"75":{"tf":1.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"82":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"u":{"df":16,"docs":{"118":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.4142135623730951},"134":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"23":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":2.449489742783178},"55":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}}}}},"t":{"'":{"df":14,"docs":{"100":{"tf":1.0},"11":{"tf":1.7320508075688772},"116":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"37":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"6":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"78":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":19,"docs":{"11":{"tf":2.0},"120":{"tf":1.7320508075688772},"121":{"tf":1.0},"122":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"21":{"tf":1.7320508075688772},"28":{"tf":1.7320508075688772},"29":{"tf":1.0},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.8284271247461903},"54":{"tf":1.4142135623730951},"59":{"tf":2.8284271247461903},"60":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":5,"docs":{"134":{"tf":1.0},"16":{"tf":1.0},"30":{"tf":1.0},"53":{"tf":1.0},"92":{"tf":1.0}}}}}}},"​":{"+":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"→":{"0":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}}}}},"=":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":2,"docs":{"75":{"tf":1.0},"77":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"95":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"σ":{"df":0,"docs":{},"j":{"df":1,"docs":{"82":{"tf":1.0}}}},"​":{"+":{"df":0,"docs":{},"ψ":{"^":{",":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"→":{"0":{"df":1,"docs":{"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":{},"j":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"→":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"j":{"df":1,"docs":{"82":{"tf":1.0}}}}},"∂":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"2":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"−":{"a":{"df":0,"docs":{},"t":{"(":{"a":{"a":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"−":{"1":{"a":{")":{"df":0,"docs":{},"h":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"=":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"−":{"a":{"df":0,"docs":{},"t":{"(":{"a":{"a":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"−":{"1":{"a":{")":{"(":{"df":0,"docs":{},"−":{"df":0,"docs":{},"g":{")":{",":{"(":{"6":{".":{"2":{".":{"2":{"df":1,"docs":{"40":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":{},"h":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"=":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"−":{"a":{"df":0,"docs":{},"t":{"a":{")":{"(":{"df":0,"docs":{},"−":{"df":0,"docs":{},"g":{")":{".":{"(":{"5":{".":{"2":{".":{"2":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"j":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"=":{"1":{"df":2,"docs":{"89":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"t":{")":{"=":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"+":{"1":{"df":1,"docs":{"29":{"tf":1.7320508075688772}}},"df":0,"docs":{}},".":{"(":{"7":{".":{"2":{".":{"1":{"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":{}},"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"p":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"=":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{")":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ψ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"79":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"<":{"0":{"df":1,"docs":{"71":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"=":{"0":{"df":1,"docs":{"71":{"tf":1.0}}},"1":{"df":2,"docs":{"71":{"tf":1.4142135623730951},"74":{"tf":1.0}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"∏":{"df":0,"docs":{},"i":{"=":{"1":{"d":{"df":0,"docs":{},"​":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"σ":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"σ":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"…":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"σ":{"d":{"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":{}}}},">":{"1":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":7,"docs":{"32":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"41":{"tf":1.0},"71":{"tf":1.7320508075688772},"72":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}}},"df":11,"docs":{"117":{"tf":1.0},"134":{"tf":1.4142135623730951},"25":{"tf":3.7416573867739413},"29":{"tf":2.0},"35":{"tf":1.7320508075688772},"47":{"tf":1.0},"53":{"tf":1.7320508075688772},"67":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772},"85":{"tf":3.605551275463989},"86":{"tf":3.4641016151377544}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"j":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}}},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":5,"docs":{"1":{"tf":1.0},"142":{"tf":2.449489742783178},"2":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.7320508075688772}}}}}}}},"k":{"1":{"df":1,"docs":{"82":{"tf":1.0}}},"2":{",":{"df":0,"docs":{},"k":{"1":{",":{"0":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"3":{",":{"df":0,"docs":{},"k":{"2":{"df":0,"docs":{},"}":{",":{"df":0,"docs":{},"{":{"df":0,"docs":{},"k":{"3":{",":{"0":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"=":{"1":{"df":0,"docs":{},"e":{"3":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}}},"2":{"df":0,"docs":{},"e":{"4":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"q":{"df":1,"docs":{"82":{"tf":1.0}}}}}},"∣":{"df":0,"docs":{},"r":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"r":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"θ":{"=":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"r":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"27":{"tf":1.7320508075688772}}}},"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"a":{"df":7,"docs":{"119":{"tf":1.7320508075688772},"125":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":2.0},"62":{"tf":2.0},"63":{"tf":1.0},"67":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":7,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"32":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"142":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}},"df":14,"docs":{"123":{"tf":1.0},"124":{"tf":1.0},"16":{"tf":1.7320508075688772},"27":{"tf":2.23606797749979},"28":{"tf":3.872983346207417},"29":{"tf":2.23606797749979},"35":{"tf":2.6457513110645907},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"57":{"tf":2.0},"63":{"tf":1.0},"66":{"tf":2.0},"67":{"tf":2.8284271247461903},"82":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":8,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"114":{"tf":1.0},"124":{"tf":1.0},"63":{"tf":1.4142135623730951},"76":{"tf":1.0},"85":{"tf":1.0},"98":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"26":{"tf":1.0}}}},"y":{"df":15,"docs":{"120":{"tf":1.0},"124":{"tf":1.0},"16":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.4142135623730951},"6":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0},"80":{"tf":1.0}}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"142":{"tf":1.0}}},"n":{"d":{"df":2,"docs":{"134":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":6,"docs":{"107":{"tf":1.0},"129":{"tf":1.0},"132":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}},"r":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":3,"docs":{"79":{"tf":2.449489742783178},"80":{"tf":1.0},"83":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":3,"docs":{"107":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"t":{"df":7,"docs":{"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"32":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"41":{"tf":1.0},"49":{"tf":1.7320508075688772},"50":{"tf":1.0}}}},"m":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}},"n":{"df":2,"docs":{"58":{"tf":1.0},"63":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"w":{"df":12,"docs":{"107":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":1.0},"21":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"49":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"81":{"tf":1.4142135623730951},"9":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":13,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"7":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0}}}}},"​":{"=":{"2":{"1":{"df":0,"docs":{},"​":{"a":{"a":{"^":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"−":{"df":0,"docs":{},"∂":{"d":{"df":0,"docs":{},"∂":{"b":{"(":{"d":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"e":{")":{",":{"d":{"df":1,"docs":{"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{},"h":{"df":0,"docs":{},"n":{"df":7,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"32":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0}}}}},"​":{"(":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"ϵ":{")":{"=":{"0":{".":{"df":0,"docs":{},"​":{"(":{"2":{".":{"3":{".":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"b":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"∥":{"df":0,"docs":{},"−":{"df":0,"docs":{},"w":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"∥":{"=":{"df":0,"docs":{},"−":{"df":0,"docs":{},"w":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"b":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}}}},"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":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"(":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"λ":{")":{"=":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"+":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"+":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":1,"docs":{"32":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"2":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"df":0,"docs":{}},"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":1,"docs":{"27":{"tf":2.23606797749979}}}},"df":7,"docs":{"27":{"tf":2.0},"28":{"tf":3.872983346207417},"29":{"tf":1.7320508075688772},"35":{"tf":2.6457513110645907},"54":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.4142135623730951}}},"a":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"27":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"p":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772}}},"x":{"[":{"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"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":{}}}}}},"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"16":{"tf":1.0},"5":{"tf":1.0},"77":{"tf":1.0}}}},"df":2,"docs":{"27":{"tf":1.0},"28":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":4,"docs":{"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"32":{"tf":1.0},"40":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"n":{"df":5,"docs":{"115":{"tf":1.0},"32":{"tf":1.0},"70":{"tf":1.4142135623730951},"90":{"tf":1.4142135623730951},"93":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"m":{"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"27":{"tf":1.4142135623730951},"86":{"tf":1.7320508075688772}}}},"b":{"d":{"a":{"_":{"1":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}}},"n":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":9,"docs":{"125":{"tf":1.0},"15":{"tf":1.0},"22":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"27":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":4.47213595499958}},"e":{"df":3,"docs":{"74":{"tf":1.7320508075688772},"77":{"tf":1.0},"85":{"tf":1.4142135623730951}}}},"n":{"d":{"df":1,"docs":{"20":{"tf":1.0}}},"df":1,"docs":{"142":{"tf":1.0}},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}},"u":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"4":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":31,"docs":{"101":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.4142135623730951},"126":{"tf":1.0},"142":{"tf":1.4142135623730951},"17":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"76":{"tf":1.7320508075688772},"82":{"tf":1.0},"87":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"135":{"tf":1.0},"14":{"tf":1.0},"141":{"tf":1.0},"51":{"tf":1.0},"63":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":6,"docs":{"122":{"tf":1.0},"123":{"tf":2.0},"54":{"tf":1.0},"58":{"tf":1.0},"77":{"tf":1.0},"81":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"11":{"tf":1.0},"121":{"tf":1.0},"15":{"tf":1.0},"22":{"tf":1.0},"4":{"tf":1.4142135623730951},"89":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"82":{"tf":1.0}}}}}},"w":{"df":13,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"27":{"tf":1.0},"6":{"tf":1.7320508075688772},"69":{"tf":1.0},"7":{"tf":1.0},"79":{"tf":1.0},"89":{"tf":1.7320508075688772},"9":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.0}},"s":{"df":0,"docs":{},"—":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"89":{"tf":1.0}}}}}}}},"y":{"df":3,"docs":{"37":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"16":{"tf":1.0},"32":{"tf":1.0},"48":{"tf":2.0},"54":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"f":{")":{"=":{"df":0,"docs":{},"ψ":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"(":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"120":{"tf":2.0},"16":{"tf":1.0},"27":{"tf":1.4142135623730951},"53":{"tf":1.0}},"e":{"a":{"d":{"df":22,"docs":{"11":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.4142135623730951},"21":{"tf":1.0},"29":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.4142135623730951},"40":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.4142135623730951},"82":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":4,"docs":{"4":{"tf":1.0},"61":{"tf":1.0},"85":{"tf":1.0},"98":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":39,"docs":{"109":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"12":{"tf":1.0},"121":{"tf":1.4142135623730951},"122":{"tf":1.0},"13":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"4":{"tf":1.4142135623730951},"44":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.7320508075688772},"83":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":3,"docs":{"21":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.0}}}}}}},"df":15,"docs":{"10":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"29":{"tf":1.0},"33":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"45":{"tf":1.0},"5":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}}}},"i":{"df":1,"docs":{"142":{"tf":1.0}}},"n":{"(":{"d":{"b":{"c":{"df":1,"docs":{"67":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"117":{"tf":1.0},"27":{"tf":2.449489742783178},"29":{"tf":1.4142135623730951},"85":{"tf":2.23606797749979},"86":{"tf":2.449489742783178},"87":{"tf":1.0}},"l":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"u":{"_":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"m":{"b":{"d":{"a":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"126":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"v":{"df":1,"docs":{"63":{"tf":2.0}}},"x":{"df":11,"docs":{"117":{"tf":1.0},"26":{"tf":2.6457513110645907},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.7320508075688772},"35":{"tf":2.23606797749979},"54":{"tf":3.0},"62":{"tf":2.23606797749979},"63":{"tf":1.4142135623730951},"67":{"tf":2.8284271247461903},"86":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":6,"docs":{"112":{"tf":2.0},"25":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"7":{"tf":1.0},"91":{"tf":1.0}}}}}},"q":{"df":3,"docs":{"32":{"tf":1.0},"45":{"tf":1.4142135623730951},"49":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"114":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0}}}},"t":{"'":{"df":11,"docs":{"101":{"tf":1.0},"112":{"tf":1.0},"125":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.4142135623730951},"82":{"tf":1.0},"92":{"tf":1.0}}},"df":1,"docs":{"89":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":4,"docs":{"18":{"tf":1.0},"24":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.7320508075688772}}},"r":{"a":{"df":0,"docs":{},"g":{"df":6,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0}}}},"df":0,"docs":{}}}},"w":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"25":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":9,"docs":{"1":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":1.0},"134":{"tf":1.0},"142":{"tf":2.6457513110645907},"2":{"tf":1.0},"42":{"tf":1.4142135623730951},"45":{"tf":1.0},"58":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"45":{"tf":1.0},"5":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"df":0,"docs":{}},"t":{"df":14,"docs":{"10":{"tf":1.0},"101":{"tf":1.4142135623730951},"117":{"tf":1.0},"16":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"54":{"tf":1.0},"67":{"tf":1.4142135623730951},"82":{"tf":1.7320508075688772},"97":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"e":{"1":{"df":2,"docs":{"118":{"tf":1.4142135623730951},"125":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"r":{"df":41,"docs":{"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":2.6457513110645907},"106":{"tf":1.0},"107":{"tf":2.0},"108":{"tf":2.23606797749979},"109":{"tf":1.7320508075688772},"11":{"tf":1.7320508075688772},"112":{"tf":1.0},"114":{"tf":1.4142135623730951},"116":{"tf":1.0},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":1.7320508075688772},"131":{"tf":1.0},"134":{"tf":1.0},"15":{"tf":1.7320508075688772},"18":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":2.0},"34":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.4142135623730951},"40":{"tf":1.0},"41":{"tf":1.7320508075688772},"43":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0},"6":{"tf":1.0},"74":{"tf":2.8284271247461903},"75":{"tf":1.7320508075688772},"76":{"tf":2.0},"77":{"tf":2.0},"85":{"tf":1.7320508075688772},"87":{"tf":1.0},"88":{"tf":1.0},"99":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"11":{"tf":1.0},"41":{"tf":1.0},"88":{"tf":1.0}}}}}},"df":40,"docs":{"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":2.0},"118":{"tf":1.4142135623730951},"12":{"tf":1.0},"120":{"tf":1.7320508075688772},"121":{"tf":1.0},"125":{"tf":1.0},"132":{"tf":1.0},"134":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":3.0},"23":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"30":{"tf":1.0},"32":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"38":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"45":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":3.605551275463989},"54":{"tf":2.23606797749979},"55":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.4142135623730951},"71":{"tf":1.0},"76":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":2.0},"88":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"k":{"df":5,"docs":{"12":{"tf":1.0},"4":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"96":{"tf":1.0}}},"​":{"(":{"df":0,"docs":{},"f":{")":{"=":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"ϵ":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"f":{"2":{"df":0,"docs":{},"​":{"+":{"2":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"2":{"(":{"df":0,"docs":{},"ϵ":{")":{".":{"(":{"1":{"3":{".":{"1":{".":{"4":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":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":{"74":{"tf":1.0}}}},"df":0,"docs":{}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"(":{"b":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"117":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"1":{"tf":1.0},"26":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"​":{"=":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"×":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"86":{"tf":2.449489742783178}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"j":{"df":1,"docs":{"86":{"tf":2.0}}}},"o":{"a":{"d":{"df":1,"docs":{"139":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"[":{"0":{":":{"2":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{":":{"4":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{":":{"6":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"119":{"tf":1.0},"67":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"119":{"tf":1.0}}}},"r":{"df":3,"docs":{"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0}}},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"86":{"tf":1.0}}}}},"df":5,"docs":{"119":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0},"86":{"tf":1.0}}}}}}},"df":22,"docs":{"106":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":2.449489742783178},"27":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":2.449489742783178},"57":{"tf":1.7320508075688772},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"73":{"tf":1.7320508075688772},"74":{"tf":1.4142135623730951},"77":{"tf":1.0},"92":{"tf":1.0}}},"t":{"df":10,"docs":{"105":{"tf":1.0},"134":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"5":{"tf":1.0},"61":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"118":{"tf":1.0}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":1,"docs":{"48":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"85":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}},"o":{"df":0,"docs":{},"k":{"df":3,"docs":{"113":{"tf":1.0},"125":{"tf":1.0},"76":{"tf":1.0}}},"p":{"df":6,"docs":{"136":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"112":{"tf":1.0},"113":{"tf":1.0}}}},"t":{"df":2,"docs":{"76":{"tf":1.0},"92":{"tf":1.0}}},"w":{"df":1,"docs":{"66":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"63":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":6,"docs":{"106":{"tf":1.4142135623730951},"130":{"tf":1.0},"6":{"tf":1.4142135623730951},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0}}}}},"y":{"df":1,"docs":{"62":{"tf":1.0}}}},"m":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"26":{"tf":1.0}},"n":{"+":{"1":{"df":0,"docs":{},"−":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"+":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{")":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"2":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"+":{"1":{")":{"=":{"0":{".":{"(":{"1":{".":{"5":{".":{"2":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"96":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":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":{"57":{"tf":1.0}}},"[":{"0":{"df":1,"docs":{"86":{"tf":2.0}}},"1":{"df":1,"docs":{"86":{"tf":2.0}}},"2":{"df":1,"docs":{"86":{"tf":2.0}}},"3":{"df":1,"docs":{"86":{"tf":2.0}}},"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":2,"docs":{"26":{"tf":1.7320508075688772},"35":{"tf":1.4142135623730951}}}},"\\":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"b":{"df":0,"docs":{},"{":{"df":0,"docs":{},"r":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"d":{"df":0,"docs":{},"n":{"\\":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"6":{"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":{},"q":{"df":1,"docs":{"15":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"15":{"tf":1.0},"32":{"tf":1.0}}}}}}},"_":{"1":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"a":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"e":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"t":{"(":{"a":{")":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"4":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"m":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"=":{"0":{"(":{"a":{"df":0,"docs":{},"":{"=":{"b":{"df":1,"docs":{"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":{}},"df":0,"docs":{}}},"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":{},"∈":{"df":0,"docs":{},"v":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"d":{"df":0,"docs":{},"x":{",":{"(":{"1":{"9":{".":{"2":{".":{"5":{"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":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}},"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"δ":{"a":{"b":{"df":0,"docs":{},"​":{"c":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"a":{"c":{"df":1,"docs":{"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"∑":{"c":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"a":{"c":{"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":{},"e":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"d":{"df":0,"docs":{},"x":{",":{"(":{"1":{"9":{".":{"2":{".":{"2":{"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":1,"docs":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"∫":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"d":{"df":0,"docs":{},"x":{"(":{"1":{"7":{".":{"1":{".":{"2":{"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":{}},".":{"(":{"1":{"9":{".":{"2":{".":{"1":{"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":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"101":{"tf":1.0},"56":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"e":{"df":2,"docs":{"34":{"tf":1.0},"54":{"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":14,"docs":{"120":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.0},"57":{"tf":2.0},"58":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"141":{"tf":1.0},"4":{"tf":1.0},"66":{"tf":1.0}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":21,"docs":{"10":{"tf":1.0},"100":{"tf":1.0},"101":{"tf":1.0},"132":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0}}}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"d":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"27":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":32,"docs":{"0":{"tf":1.0},"105":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.4142135623730951},"119":{"tf":1.0},"124":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"16":{"tf":2.0},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.4142135623730951},"4":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.7320508075688772},"66":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.4142135623730951},"87":{"tf":1.0},"92":{"tf":1.4142135623730951}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":7,"docs":{"135":{"tf":1.0},"139":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":10,"docs":{"11":{"tf":1.0},"29":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"79":{"tf":1.0}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"31":{"tf":1.0},"33":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"15":{"tf":1.0},"29":{"tf":1.0},"45":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0}}}}}},"p":{"df":5,"docs":{"100":{"tf":1.0},"70":{"tf":3.0},"71":{"tf":2.23606797749979},"72":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951}},"l":{"df":1,"docs":{"79":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"131":{"tf":1.0}}}}},"k":{"df":4,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"(":{"b":{"df":0,"docs":{},"ϵ":{"df":0,"docs":{},"t":{"df":1,"docs":{"90":{"tf":1.0}},"​":{")":{"=":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"(":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":1,"docs":{"90":{"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":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"89":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":31,"docs":{"10":{"tf":1.0},"106":{"tf":2.23606797749979},"108":{"tf":1.4142135623730951},"11":{"tf":1.0},"130":{"tf":2.23606797749979},"132":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"27":{"tf":2.0},"29":{"tf":3.0},"30":{"tf":1.0},"35":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":2.0},"6":{"tf":2.23606797749979},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.7320508075688772},"9":{"tf":1.4142135623730951},"90":{"tf":3.1622776601683795},"93":{"tf":1.4142135623730951},"95":{"tf":2.449489742783178},"96":{"tf":1.0},"97":{"tf":1.0}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}},"y":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.0},"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"27":{"tf":1.0}}}},"v":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.0},"35":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":5,"docs":{"101":{"tf":1.0},"14":{"tf":1.0},"48":{"tf":1.0},"57":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"'":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"—":{"df":0,"docs":{},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"69":{"tf":1.0}}}}}}}}}}},"df":27,"docs":{"101":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"12":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"142":{"tf":1.7320508075688772},"17":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.4142135623730951},"69":{"tf":1.7320508075688772},"70":{"tf":4.0},"71":{"tf":3.1622776601683795},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.7320508075688772},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":3.0},"80":{"tf":1.7320508075688772},"83":{"tf":1.4142135623730951},"88":{"tf":1.0},"90":{"tf":2.0},"91":{"tf":2.23606797749979},"92":{"tf":1.0},"93":{"tf":1.0}}}}},"h":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"(":{"df":6,"docs":{"119":{"tf":1.7320508075688772},"125":{"tf":1.0},"54":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":1.4142135623730951}},"j":{"df":1,"docs":{"86":{"tf":1.0}}},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"s":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":1,"docs":{"125":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"2":{"_":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"d":{"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"120":{"tf":1.0}}},"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":{"b":{"df":0,"docs":{},"{":{"df":0,"docs":{},"r":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"m":{"\\":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"df":1,"docs":{"15":{"tf":1.4142135623730951}}},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"a":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}},"c":{"df":2,"docs":{"45":{"tf":1.4142135623730951},"5":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}},"n":{"df":1,"docs":{"45":{"tf":1.0}}},"p":{"df":1,"docs":{"54":{"tf":1.4142135623730951}},"}":{"_":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"}":{"_":{"0":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}},"x":{"df":3,"docs":{"45":{"tf":1.0},"47":{"tf":1.0},"54":{"tf":1.0}},"}":{"_":{"0":{"df":1,"docs":{"52":{"tf":1.7320508075688772}}},"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}},"{":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":1,"docs":{"45":{"tf":1.0}}}},"df":0,"docs":{}},"j":{"df":0,"docs":{},"k":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}}},"z":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":4,"docs":{"120":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"86":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":10,"docs":{"14":{"tf":1.0},"34":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"79":{"tf":1.0}},"i":{"c":{"a":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"c":{"df":9,"docs":{"131":{"tf":1.0},"22":{"tf":1.7320508075688772},"23":{"tf":1.0},"28":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.7320508075688772},"75":{"tf":1.0},"82":{"tf":1.7320508075688772}},"i":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":31,"docs":{"10":{"tf":1.0},"106":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"11":{"tf":1.0},"130":{"tf":2.0},"132":{"tf":1.0},"15":{"tf":1.7320508075688772},"20":{"tf":1.0},"22":{"tf":3.1622776601683795},"23":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":2.23606797749979},"32":{"tf":2.8284271247461903},"33":{"tf":2.0},"37":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":2.449489742783178},"42":{"tf":2.0},"6":{"tf":2.23606797749979},"63":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":2.6457513110645907},"72":{"tf":1.0},"74":{"tf":2.449489742783178},"75":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"82":{"tf":2.8284271247461903},"85":{"tf":1.4142135623730951},"9":{"tf":1.0},"95":{"tf":2.23606797749979}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"x":{"(":{"0":{"df":1,"docs":{"27":{"tf":1.0}}},"a":{"1":{"df":0,"docs":{},"​":{",":{"a":{"2":{"df":0,"docs":{},"​":{",":{".":{".":{".":{",":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"≈":{"(":{"a":{"1":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"+":{"a":{"2":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"…":{"+":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"p":{"1":{"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":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":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"_":{"df":1,"docs":{"120":{"tf":1.4142135623730951}},"p":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"120":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}},"df":4,"docs":{"114":{"tf":1.7320508075688772},"123":{"tf":1.0},"134":{"tf":1.4142135623730951},"32":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"102":{"tf":1.0},"17":{"tf":1.0},"57":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"22":{"tf":1.0},"54":{"tf":1.0}}}}}},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":1,"docs":{"32":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}},"d":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":21,"docs":{"14":{"tf":1.4142135623730951},"142":{"tf":2.23606797749979},"15":{"tf":1.7320508075688772},"26":{"tf":2.0},"28":{"tf":3.872983346207417},"29":{"tf":1.7320508075688772},"32":{"tf":1.7320508075688772},"33":{"tf":1.4142135623730951},"35":{"tf":3.3166247903554},"40":{"tf":1.4142135623730951},"41":{"tf":1.7320508075688772},"52":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"6":{"tf":1.7320508075688772},"63":{"tf":1.0},"66":{"tf":3.1622776601683795},"67":{"tf":2.23606797749979},"86":{"tf":1.0},"9":{"tf":1.0},"95":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"n":{"df":18,"docs":{"106":{"tf":1.0},"122":{"tf":1.0},"134":{"tf":1.0},"140":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"70":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"77":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.7320508075688772},"87":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"119":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":12,"docs":{"119":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"5":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":2.0},"74":{"tf":1.4142135623730951},"79":{"tf":1.0},"90":{"tf":1.0},"94":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":13,"docs":{"111":{"tf":1.0},"115":{"tf":1.4142135623730951},"142":{"tf":1.0},"4":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.7320508075688772},"74":{"tf":1.0},"83":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"34":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"26":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"38":{"tf":1.0},"42":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"55":{"tf":1.0},"71":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"df":20,"docs":{"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"128":{"tf":1.0},"133":{"tf":1.7320508075688772},"134":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"25":{"tf":2.8284271247461903},"27":{"tf":1.7320508075688772},"29":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"5":{"tf":3.3166247903554},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.0},"92":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":3,"docs":{"15":{"tf":1.0},"36":{"tf":1.0},"66":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"d":{"'":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":62,"docs":{"10":{"tf":2.0},"103":{"tf":1.4142135623730951},"105":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":3.1622776601683795},"111":{"tf":1.0},"12":{"tf":2.449489742783178},"120":{"tf":1.4142135623730951},"121":{"tf":1.4142135623730951},"128":{"tf":1.0},"134":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"142":{"tf":1.7320508075688772},"15":{"tf":1.4142135623730951},"16":{"tf":3.872983346207417},"17":{"tf":1.7320508075688772},"18":{"tf":2.449489742783178},"20":{"tf":2.449489742783178},"21":{"tf":2.8284271247461903},"22":{"tf":3.3166247903554},"23":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.7320508075688772},"33":{"tf":1.0},"34":{"tf":2.0},"36":{"tf":1.4142135623730951},"37":{"tf":1.0},"38":{"tf":1.0},"4":{"tf":1.0},"40":{"tf":1.7320508075688772},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"5":{"tf":3.7416573867739413},"50":{"tf":1.0},"51":{"tf":1.7320508075688772},"52":{"tf":1.7320508075688772},"53":{"tf":2.449489742783178},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"6":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.7320508075688772},"67":{"tf":1.0},"68":{"tf":1.4142135623730951},"7":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":1.4142135623730951},"82":{"tf":1.0},"89":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772},"90":{"tf":2.0},"92":{"tf":1.0},"93":{"tf":1.0}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":4,"docs":{"115":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"79":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.0}}}}},"df":0,"docs":{}}}},"g":{"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"df":0,"docs":{},"z":{"df":1,"docs":{"14":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"h":{"df":1,"docs":{"14":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"56":{"tf":1.0},"69":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"d":{"d":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.0},"5":{"tf":1.4142135623730951},"52":{"tf":1.0},"63":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.4142135623730951}},"n":{"(":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":4,"docs":{"54":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}}}}},"b":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"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":1,"docs":{"120":{"tf":1.0}},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"1":{"tf":1.0},"142":{"tf":2.0},"2":{"tf":1.0},"3":{"tf":1.0}}}}}},"df":3,"docs":{"101":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"32":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"a":{"df":1,"docs":{"51":{"tf":1.0}}},"df":15,"docs":{"101":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"55":{"tf":1.0},"59":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":15,"docs":{"101":{"tf":1.0},"120":{"tf":1.4142135623730951},"131":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"27":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"74":{"tf":1.4142135623730951},"87":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{",":{"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":{},"e":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"+":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"20":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"16":{"tf":1.0},"7":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":2,"docs":{"51":{"tf":1.0},"55":{"tf":1.0}}}}},"​":{"=":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"×":{"[":{"0":{"df":0,"docs":{},"​":{"1":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"1":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"k":{"df":1,"docs":{"66":{"tf":1.0}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"106":{"tf":1.0}}}}}},"o":{"d":{"df":1,"docs":{"15":{"tf":1.0}},"e":{"df":2,"docs":{"74":{"tf":1.0},"77":{"tf":1.0}},"l":{"df":42,"docs":{"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"107":{"tf":1.0},"113":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":2.6457513110645907},"17":{"tf":3.0},"18":{"tf":2.23606797749979},"20":{"tf":1.4142135623730951},"27":{"tf":1.0},"31":{"tf":1.0},"4":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":2.0},"5":{"tf":1.7320508075688772},"51":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":2.23606797749979},"68":{"tf":1.0},"69":{"tf":1.7320508075688772},"7":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":3.0},"75":{"tf":1.0},"76":{"tf":2.0},"77":{"tf":2.23606797749979},"79":{"tf":2.0},"80":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"84":{"tf":1.7320508075688772},"85":{"tf":1.0},"88":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"5":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"f":{"df":5,"docs":{"16":{"tf":1.0},"27":{"tf":1.4142135623730951},"34":{"tf":1.0},"5":{"tf":1.4142135623730951},"53":{"tf":1.0}},"i":{"df":11,"docs":{"11":{"tf":1.0},"131":{"tf":1.0},"21":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.0},"42":{"tf":1.0},"62":{"tf":1.4142135623730951},"67":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":5,"docs":{"101":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":2,"docs":{"102":{"tf":1.0},"141":{"tf":1.0}},"i":{"df":3,"docs":{"134":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.4142135623730951}}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"12":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":12,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"63":{"tf":1.0},"89":{"tf":1.7320508075688772},"91":{"tf":2.0},"92":{"tf":2.0},"93":{"tf":1.7320508075688772},"94":{"tf":1.4142135623730951},"97":{"tf":1.0},"99":{"tf":1.0}},"—":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"93":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"5":{"tf":1.0},"93":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"120":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":38,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"11":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.0},"126":{"tf":1.0},"135":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"141":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"23":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"34":{"tf":1.0},"37":{"tf":1.0},"4":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.7320508075688772},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.4142135623730951},"99":{"tf":1.0}},"o":{"df":0,"docs":{},"v":{"df":3,"docs":{"10":{"tf":1.0},"18":{"tf":1.0},"75":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":20,"docs":{"10":{"tf":1.4142135623730951},"15":{"tf":1.0},"17":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"38":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.449489742783178},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"58":{"tf":1.0},"6":{"tf":1.4142135623730951},"60":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":2.449489742783178},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"91":{"tf":1.0}}}},"v":{"df":1,"docs":{"4":{"tf":1.0}}}}},"v":{"df":1,"docs":{"120":{"tf":2.0}},"e":{"df":21,"docs":{"120":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"18":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.0},"50":{"tf":1.4142135623730951},"57":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.4142135623730951},"70":{"tf":1.7320508075688772},"71":{"tf":1.0},"87":{"tf":1.4142135623730951},"95":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":9,"docs":{"131":{"tf":1.0},"17":{"tf":1.4142135623730951},"29":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"45":{"tf":1.0},"6":{"tf":1.4142135623730951},"67":{"tf":1.0},"87":{"tf":1.0}}}}}}}}},"p":{"df":0,"docs":{},"m":{"df":5,"docs":{"12":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":2.23606797749979}}}},"u":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}}},"_":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"m":{"b":{"d":{"a":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"63":{"tf":2.6457513110645907}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"[":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"125":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"126":{"tf":1.7320508075688772}}}},"df":1,"docs":{"125":{"tf":1.0}}}}}}},"df":2,"docs":{"63":{"tf":2.6457513110645907},"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"125":{"tf":1.4142135623730951},"126":{"tf":2.449489742783178},"85":{"tf":1.0}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"113":{"tf":1.0},"120":{"tf":1.0},"43":{"tf":1.0},"87":{"tf":1.0}}}},"d":{"df":1,"docs":{"69":{"tf":1.0}}},"df":4,"docs":{"117":{"tf":1.0},"125":{"tf":1.0},"63":{"tf":2.8284271247461903},"86":{"tf":4.58257569495584}},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"58":{"tf":1.0}},"p":{"df":0,"docs":{},"l":{"df":6,"docs":{"101":{"tf":1.0},"114":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.0},"69":{"tf":1.0}},"i":{"df":11,"docs":{"101":{"tf":1.0},"112":{"tf":1.0},"134":{"tf":1.0},"141":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"40":{"tf":1.0},"42":{"tf":1.7320508075688772},"74":{"tf":1.0}}}}}}}},"s":{"c":{"df":0,"docs":{},"l":{"df":2,"docs":{"69":{"tf":1.0},"74":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"95":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}}},"×":{"d":{"df":0,"docs":{},"n":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"42":{"tf":1.0}}}}},"n":{"(":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"134":{"tf":1.0}}},"df":0,"docs":{}},"x":{")":{"=":{"df":0,"docs":{},"{":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∥":{"<":{"df":0,"docs":{},"r":{"df":1,"docs":{"101":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},",":{"df":0,"docs":{},"t":{")":{"=":{"0":{".":{"df":0,"docs":{},"​":{"(":{"1":{"8":{".":{"4":{".":{"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":{}},"df":0,"docs":{}}},"df":1,"docs":{"103":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.0}}}},"df":5,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"91":{"tf":1.0}}}},"+":{"1":{"df":6,"docs":{"10":{"tf":1.0},"104":{"tf":1.0},"123":{"tf":1.0},"66":{"tf":1.0},"76":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"i":{"df":3,"docs":{"62":{"tf":2.0},"63":{"tf":1.0},"67":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"/":{"a":{"df":1,"docs":{"142":{"tf":3.4641016151377544}}},"df":0,"docs":{}},"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"95":{"tf":1.0}}},"β":{",":{"df":0,"docs":{},"γ":{")":{"+":{"df":0,"docs":{},"n":{"2":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"β":{",":{"df":0,"docs":{},"γ":{")":{"+":{"df":0,"docs":{},"n":{"3":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"β":{",":{"df":0,"docs":{},"γ":{")":{"=":{"1":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":0,"docs":{},"−":{"df":0,"docs":{},"β":{"df":0,"docs":{},"−":{"df":0,"docs":{},"γ":{",":{"df":0,"docs":{},"n":{"2":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"β":{",":{"df":0,"docs":{},"γ":{")":{"=":{"df":0,"docs":{},"β":{",":{"df":0,"docs":{},"n":{"3":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"2":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"95":{"tf":1.0}}}},"df":0,"docs":{}}},"3":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"95":{"tf":1.0}}}},"df":0,"docs":{}}},"=":{"(":{"0":{",":{"df":0,"docs":{},"−":{"1":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{",":{"1":{",":{"2":{",":{"\\":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{}},"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":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}}},"df":0,"docs":{}}},"\\":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}},"^":{"=":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"−":{"df":0,"docs":{},"n":{"df":0,"docs":{},"x":{"df":1,"docs":{"62":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"+":{"1":{")":{"*":{"(":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"+":{"1":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"29":{"tf":2.449489742783178}}},"df":0,"docs":{}},"df":7,"docs":{"117":{"tf":2.0},"25":{"tf":4.58257569495584},"29":{"tf":3.1622776601683795},"35":{"tf":1.7320508075688772},"54":{"tf":1.0},"67":{"tf":1.7320508075688772},"85":{"tf":3.7416573867739413}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"a":{"^":{"2":{"df":3,"docs":{"21":{"tf":2.0},"22":{"tf":2.8284271247461903},"26":{"tf":1.0}}},"df":0,"docs":{}},"df":7,"docs":{"11":{"tf":1.0},"14":{"tf":1.7320508075688772},"16":{"tf":1.0},"21":{"tf":2.449489742783178},"22":{"tf":1.0},"26":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":4,"docs":{"104":{"tf":1.0},"106":{"tf":1.4142135623730951},"112":{"tf":1.0},"113":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":3,"docs":{"115":{"tf":1.0},"21":{"tf":1.0},"75":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"_":{"c":{"c":{"d":{"(":{"_":{"df":0,"docs":{},"p":{"df":1,"docs":{"120":{"tf":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":{"120":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"1":{"tf":1.0},"27":{"tf":1.4142135623730951},"5":{"tf":1.0},"71":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"37":{"tf":1.0}}}}},"​":{"(":{"df":0,"docs":{},"x":{")":{":":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"df":1,"docs":{"95":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"b":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}},"d":{"df":3,"docs":{"104":{"tf":1.0},"95":{"tf":1.7320508075688772},"97":{"tf":1.4142135623730951}}},"df":28,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"11":{"tf":1.0},"117":{"tf":1.4142135623730951},"124":{"tf":2.0},"125":{"tf":2.6457513110645907},"126":{"tf":2.6457513110645907},"127":{"tf":1.0},"22":{"tf":1.7320508075688772},"25":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":2.8284271247461903},"63":{"tf":3.0},"67":{"tf":2.8284271247461903},"7":{"tf":1.7320508075688772},"70":{"tf":1.0},"87":{"tf":1.0},"9":{"tf":1.7320508075688772},"91":{"tf":1.7320508075688772},"94":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"99":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"i":{"df":5,"docs":{"136":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"23":{"tf":1.0},"53":{"tf":1.0},"71":{"tf":1.0}}}},"df":1,"docs":{"42":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"120":{"tf":1.0},"126":{"tf":1.0},"82":{"tf":1.7320508075688772}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"100":{"tf":1.0},"141":{"tf":1.0},"15":{"tf":1.0},"29":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"75":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"105":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"41":{"tf":1.0},"6":{"tf":1.0}}}}}}},"df":1,"docs":{"29":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":7,"docs":{"11":{"tf":1.0},"133":{"tf":1.0},"14":{"tf":1.0},"5":{"tf":1.0},"55":{"tf":1.0},"79":{"tf":1.0},"85":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"d":{"df":41,"docs":{"101":{"tf":1.4142135623730951},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"111":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.4142135623730951},"53":{"tf":1.0},"55":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"g":{"df":16,"docs":{"101":{"tf":1.0},"131":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"27":{"tf":1.7320508075688772},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"55":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.4142135623730951},"82":{"tf":1.0},"87":{"tf":1.0}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"101":{"tf":1.0},"113":{"tf":1.4142135623730951},"134":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"df":12,"docs":{"142":{"tf":1.0},"20":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.4142135623730951},"86":{"tf":1.0},"88":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"86":{"tf":1.7320508075688772},"87":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}},"q":{"df":2,"docs":{"16":{"tf":1.0},"21":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"136":{"tf":1.0}}}},"t":{"df":1,"docs":{"91":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}}}}},"u":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":6,"docs":{"100":{"tf":1.7320508075688772},"103":{"tf":1.4142135623730951},"109":{"tf":1.0},"112":{"tf":2.6457513110645907},"113":{"tf":1.0},"99":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"r":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.0},"53":{"tf":1.0}}}}},"w":{"df":7,"docs":{"10":{"tf":1.0},"117":{"tf":1.4142135623730951},"21":{"tf":1.7320508075688772},"41":{"tf":1.7320508075688772},"53":{"tf":1.0},"66":{"tf":1.0},"87":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":15,"docs":{"10":{"tf":1.0},"11":{"tf":2.6457513110645907},"12":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":2.449489742783178},"21":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"27":{"tf":1.0},"6":{"tf":1.7320508075688772},"69":{"tf":1.0},"7":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.0}}},"df":14,"docs":{"142":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"28":{"tf":1.4142135623730951},"32":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":2.0},"67":{"tf":1.0}}}}}},"x":{"df":0,"docs":{},"t":{"df":34,"docs":{"101":{"tf":1.4142135623730951},"103":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"118":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"134":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"77":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":1.0},"9":{"tf":1.4142135623730951},"93":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.4142135623730951}}}}},"h":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"f":{")":{"=":{"2":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{")":{"df":0,"docs":{},"−":{"d":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"j":{")":{"+":{"2":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"2":{"(":{"df":0,"docs":{},"j":{")":{".":{"(":{"1":{"3":{".":{"1":{".":{"2":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{},"h":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{")":{"=":{"2":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"i":{"=":{"1":{"df":0,"docs":{},"∑":{"d":{"df":0,"docs":{},"​":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"d":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"j":{")":{"+":{"2":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"2":{"(":{"df":0,"docs":{},"j":{"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":2,"docs":{"74":{"tf":1.0},"76":{"tf":1.0}}},"σ":{")":{"=":{"2":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"∑":{"d":{"df":0,"docs":{},"​":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"d":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"j":{")":{"+":{"2":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"2":{"(":{"df":0,"docs":{},"j":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"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":7,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"119":{"tf":1.0},"126":{"tf":1.0},"27":{"tf":1.4142135623730951},"42":{"tf":2.0},"67":{"tf":1.4142135623730951}},"t":{"df":1,"docs":{"42":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"′":{"df":0,"docs":{},"​":{")":{"=":{"0":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"=":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"=":{"1":{"[":{"1":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"​":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{",":{"(":{"6":{".":{"3":{".":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}}}}}},"df":0,"docs":{}}},"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":{},"​":{"=":{"0":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"95":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"j":{"df":4,"docs":{"119":{"tf":1.4142135623730951},"126":{"tf":1.0},"27":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}}},"k":{"df":1,"docs":{"57":{"tf":1.4142135623730951}},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"57":{"tf":1.0}}}},"=":{"0":{",":{"(":{"9":{".":{"1":{".":{"1":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"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":1,"docs":{"123":{"tf":1.0}}},"o":{"d":{"a":{"df":0,"docs":{},"l":{"df":16,"docs":{"101":{"tf":1.0},"107":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"125":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"47":{"tf":1.0},"54":{"tf":1.0},"60":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":47,"docs":{"105":{"tf":1.4142135623730951},"106":{"tf":2.0},"107":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":2.0},"113":{"tf":1.4142135623730951},"117":{"tf":3.0},"118":{"tf":1.4142135623730951},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"130":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"134":{"tf":2.0},"15":{"tf":1.4142135623730951},"22":{"tf":2.0},"23":{"tf":1.0},"25":{"tf":2.0},"29":{"tf":2.8284271247461903},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":3.605551275463989},"33":{"tf":2.23606797749979},"34":{"tf":3.0},"35":{"tf":2.0},"36":{"tf":1.4142135623730951},"38":{"tf":2.0},"42":{"tf":3.0},"43":{"tf":1.0},"45":{"tf":1.7320508075688772},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"5":{"tf":2.6457513110645907},"53":{"tf":1.7320508075688772},"54":{"tf":2.6457513110645907},"57":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":3.1622776601683795},"67":{"tf":3.4641016151377544},"68":{"tf":1.7320508075688772},"7":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}},"df":37,"docs":{"100":{"tf":1.7320508075688772},"101":{"tf":1.4142135623730951},"114":{"tf":1.7320508075688772},"117":{"tf":1.0},"121":{"tf":1.7320508075688772},"123":{"tf":1.0},"125":{"tf":1.0},"131":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"27":{"tf":1.0},"34":{"tf":1.4142135623730951},"40":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":2.0},"47":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.0},"67":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.7320508075688772},"84":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":2.23606797749979},"88":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"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":{"43":{"tf":1.0}}}}}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":12,"docs":{"107":{"tf":1.4142135623730951},"11":{"tf":1.7320508075688772},"113":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"142":{"tf":1.0},"15":{"tf":1.4142135623730951},"20":{"tf":2.0},"58":{"tf":1.0},"59":{"tf":1.0},"74":{"tf":1.0},"77":{"tf":1.0}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"101":{"tf":1.4142135623730951},"44":{"tf":1.0}}}}}}},"h":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"102":{"tf":1.4142135623730951},"123":{"tf":1.0},"17":{"tf":1.0},"57":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"124":{"tf":1.0}}}}}}},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":4,"docs":{"101":{"tf":1.4142135623730951},"105":{"tf":1.0},"106":{"tf":1.0},"26":{"tf":2.0}}}}}}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":25,"docs":{"100":{"tf":1.4142135623730951},"102":{"tf":1.4142135623730951},"109":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.7320508075688772},"122":{"tf":1.0},"123":{"tf":2.6457513110645907},"124":{"tf":2.23606797749979},"125":{"tf":2.0},"127":{"tf":1.4142135623730951},"32":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":2.23606797749979},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"67":{"tf":1.4142135623730951},"82":{"tf":1.0},"91":{"tf":1.4142135623730951}}}},"df":2,"docs":{"114":{"tf":1.4142135623730951},"4":{"tf":1.0}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":11,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"17":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":5,"docs":{"71":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":22,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"106":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.7320508075688772},"86":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0}}}},"w":{"df":31,"docs":{"113":{"tf":1.4142135623730951},"116":{"tf":1.0},"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"132":{"tf":1.4142135623730951},"134":{"tf":1.4142135623730951},"140":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"28":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"57":{"tf":1.0},"6":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"7":{"tf":1.0},"78":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":2.449489742783178},"87":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0}}}},"p":{".":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":1,"docs":{"120":{"tf":1.0}},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":1,"docs":{"117":{"tf":1.0}},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"v":{"[":{"2":{"df":5,"docs":{"119":{"tf":1.0},"126":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{}}}},"x":{"df":2,"docs":{"117":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"(":{"[":{"0":{".":{"0":{"df":9,"docs":{"117":{"tf":2.0},"118":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"67":{"tf":2.6457513110645907},"86":{"tf":1.0}}},"1":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"0":{"0":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"[":{"0":{".":{"0":{"df":11,"docs":{"118":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"_":{"d":{"df":0,"docs":{},"x":{"_":{"2":{"df":1,"docs":{"86":{"tf":1.0}}},"4":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":1,"docs":{"117":{"tf":1.0}}},"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"(":{"d":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"118":{"tf":2.449489742783178},"125":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"2":{"df":3,"docs":{"126":{"tf":2.0},"27":{"tf":1.0},"63":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}}},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"[":{"df":0,"docs":{},"p":{"2":{"1":{"df":1,"docs":{"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"x":{"2":{"1":{"df":1,"docs":{"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"b":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"u":{"df":1,"docs":{"86":{"tf":1.0}}},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"86":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"t":{"b":{"df":1,"docs":{"85":{"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":{},"r":{"df":0,"docs":{},"m":{"(":{"d":{"df":0,"docs":{},"p":{"df":1,"docs":{"120":{"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":0,"docs":{},"n":{"df":2,"docs":{"117":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"n":{"df":1,"docs":{"125":{"tf":1.0}}},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"126":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"v":{"d":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"v":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"27":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":4,"docs":{"126":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"67":{"tf":1.0}}},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"126":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"(":{"[":{"2":{"df":1,"docs":{"118":{"tf":1.0}}},"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"[":{"0":{":":{"2":{"df":1,"docs":{"118":{"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":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"f":{")":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}}}},"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":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"f":{")":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"b":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"t":{")":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"v":{"df":1,"docs":{"126":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"v":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"63":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"v":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":13,"docs":{"118":{"tf":1.7320508075688772},"120":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0},"86":{"tf":1.0}}},"u":{"=":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"[":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"[":{"df":0,"docs":{},"v":{"df":0,"docs":{},"u":{",":{"df":0,"docs":{},"v":{"df":0,"docs":{},"u":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"117":{"tf":1.0},"85":{"tf":2.23606797749979}},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"74":{"tf":1.7320508075688772},"77":{"tf":1.4142135623730951}}}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":16,"docs":{"120":{"tf":1.0},"135":{"tf":1.4142135623730951},"141":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.0},"5":{"tf":1.4142135623730951},"54":{"tf":1.0},"57":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}}}},"df":2,"docs":{"117":{"tf":1.0},"29":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":14,"docs":{"10":{"tf":1.0},"118":{"tf":2.0},"12":{"tf":1.0},"120":{"tf":1.7320508075688772},"121":{"tf":1.4142135623730951},"131":{"tf":1.0},"29":{"tf":1.0},"4":{"tf":1.0},"66":{"tf":1.4142135623730951},"71":{"tf":1.0},"87":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}}}},"p":{"df":0,"docs":{},"i":{"df":13,"docs":{"118":{"tf":1.7320508075688772},"120":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"35":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"67":{"tf":1.0},"86":{"tf":1.0}}},"y":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"df":2,"docs":{"27":{"tf":1.0},"28":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"v":{"=":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"[":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"[":{"df":0,"docs":{},"v":{"df":0,"docs":{},"v":{",":{"df":0,"docs":{},"v":{"df":0,"docs":{},"v":{"df":1,"docs":{"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":{},"x":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{")":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{")":{".":{"(":{"2":{"0":{".":{"1":{".":{"1":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":1,"docs":{"99":{"tf":1.0}}},"df":0,"docs":{}}},"∪":{"df":0,"docs":{},"γ":{"d":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ω":{"0":{"df":1,"docs":{"99":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"o":{"(":{"df":0,"docs":{},"n":{"^":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"+":{"3":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"j":{"df":1,"docs":{"29":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"t":{"'":{"df":2,"docs":{"5":{"tf":1.0},"50":{"tf":1.0}}},"df":21,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":2.23606797749979},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"45":{"tf":1.4142135623730951},"49":{"tf":1.0},"5":{"tf":2.0},"50":{"tf":2.23606797749979},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0}},"’":{"df":1,"docs":{"5":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":8,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"126":{"tf":1.0},"56":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"77":{"tf":1.0},"81":{"tf":1.0}}}}},"t":{"a":{"c":{"df":0,"docs":{},"l":{"df":14,"docs":{"101":{"tf":1.4142135623730951},"113":{"tf":2.0},"114":{"tf":1.0},"15":{"tf":1.0},"44":{"tf":1.4142135623730951},"47":{"tf":2.23606797749979},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":2.449489742783178},"53":{"tf":2.23606797749979},"55":{"tf":1.4142135623730951},"64":{"tf":1.0},"66":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":26,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.0},"118":{"tf":1.4142135623730951},"120":{"tf":1.0},"121":{"tf":1.4142135623730951},"123":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"134":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.7320508075688772},"42":{"tf":2.23606797749979},"52":{"tf":1.0},"53":{"tf":2.0},"57":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":1.0},"74":{"tf":1.0},"87":{"tf":1.7320508075688772},"91":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"96":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"32":{"tf":1.0},"70":{"tf":1.0}}}},"r":{"df":9,"docs":{"101":{"tf":1.0},"117":{"tf":1.0},"131":{"tf":1.0},"16":{"tf":1.0},"53":{"tf":1.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0}},"r":{"df":1,"docs":{"101":{"tf":1.0}}}}}},"df":0,"docs":{}},"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":5,"docs":{"113":{"tf":1.0},"62":{"tf":3.0},"63":{"tf":2.0},"67":{"tf":2.0},"87":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"12":{"tf":1.0},"18":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"[":{"0":{"df":1,"docs":{"29":{"tf":1.0}}},"1":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"117":{"tf":1.0},"29":{"tf":1.0}}}}}}},"l":{"d":{"df":2,"docs":{"82":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"130":{"tf":1.0},"134":{"tf":1.0},"92":{"tf":1.0},"98":{"tf":1.0}}}}},"n":{"c":{"df":10,"docs":{"100":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"41":{"tf":1.0},"54":{"tf":1.0},"85":{"tf":1.0}}},"df":25,"docs":{"105":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"120":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.4142135623730951},"45":{"tf":1.0},"5":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"6":{"tf":1.0},"63":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.4142135623730951},"87":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"o":{"df":17,"docs":{"117":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"134":{"tf":1.0},"16":{"tf":1.4142135623730951},"22":{"tf":1.0},"23":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":1.7320508075688772},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.4142135623730951},"87":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"41":{"tf":1.0}}},"r":{"df":15,"docs":{"101":{"tf":1.4142135623730951},"114":{"tf":2.0},"122":{"tf":1.0},"123":{"tf":1.4142135623730951},"132":{"tf":1.0},"134":{"tf":1.4142135623730951},"27":{"tf":1.0},"29":{"tf":1.0},"42":{"tf":1.0},"5":{"tf":2.0},"58":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.0},"91":{"tf":1.0}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"17":{"tf":1.0},"71":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"29":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"a":{"df":1,"docs":{"53":{"tf":1.0}}},"df":52,"docs":{"101":{"tf":1.7320508075688772},"102":{"tf":1.0},"103":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.0},"122":{"tf":1.4142135623730951},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.7320508075688772},"13":{"tf":1.0},"134":{"tf":1.4142135623730951},"14":{"tf":2.23606797749979},"140":{"tf":1.0},"141":{"tf":1.0},"15":{"tf":2.0},"16":{"tf":2.23606797749979},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.7320508075688772},"24":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"32":{"tf":2.23606797749979},"34":{"tf":1.7320508075688772},"36":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.8284271247461903},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.7320508075688772},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"tf":1.0},"99":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"49":{"tf":1.0},"53":{"tf":1.4142135623730951}}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"119":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"45":{"tf":1.0},"58":{"tf":1.0},"6":{"tf":1.0},"76":{"tf":1.0},"94":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":5,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"137":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"20":{"tf":1.0},"57":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":14,"docs":{"100":{"tf":1.0},"120":{"tf":1.0},"16":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"34":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.4142135623730951},"58":{"tf":1.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.0},"92":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":8,"docs":{"102":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"41":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"95":{"tf":2.23606797749979},"97":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"41":{"tf":1.0},"42":{"tf":1.4142135623730951}}}}}}}}}},"s":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{"'":{"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":{"29":{"tf":1.0}}}}}}}}},"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":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"'":{"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":{"29":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"142":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"29":{"tf":1.0}}}}},"df":1,"docs":{"25":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"5":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"22":{"tf":1.0},"75":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":4,"docs":{"17":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.0}}}}},"df":5,"docs":{"121":{"tf":1.0},"22":{"tf":1.4142135623730951},"33":{"tf":1.0},"81":{"tf":1.0},"95":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"14":{"tf":1.0},"20":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"79":{"tf":1.0},"89":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":6,"docs":{"101":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"91":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"121":{"tf":1.0},"21":{"tf":1.0}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":21,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"112":{"tf":1.7320508075688772},"12":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.0},"17":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"89":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"l":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"100":{"tf":1.4142135623730951},"114":{"tf":1.7320508075688772},"120":{"tf":1.7320508075688772},"121":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":1,"docs":{"51":{"tf":1.0}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"0":{"tf":1.0},"4":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.0}}}}}}}}}}}},"−":{"3":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"(":{"df":0,"docs":{},"f":{")":{"=":{"df":0,"docs":{},"k":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ψ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"f":{")":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"81":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}},"p":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"q":{"df":0,"docs":{},"q":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"q":{")":{"df":0,"docs":{},"q":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"u":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"σ":{")":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"=":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"^":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"80":{"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":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"k":{")":{"df":0,"docs":{},"q":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"81":{"tf":1.4142135623730951}},"r":{")":{"=":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"f":{")":{"df":0,"docs":{},"r":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"f":{")":{"=":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"x":{")":{"=":{"df":0,"docs":{},"e":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"g":{",":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"−":{"df":0,"docs":{},"m":{"df":0,"docs":{},"g":{",":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"∇":{"2":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{")":{"=":{"0":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"a":{"^":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":1,"docs":{"107":{"tf":1.0}}}}},"df":3,"docs":{"14":{"tf":1.4142135623730951},"25":{"tf":1.0},"27":{"tf":1.0}}},"σ":{")":{"=":{"df":0,"docs":{},"p":{"df":1,"docs":{"81":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"⋅":{",":{"df":0,"docs":{},"t":{")":{":":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"×":{"d":{"df":1,"docs":{"91":{"tf":1.0}}},"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":2,"docs":{"131":{"tf":1.0},"82":{"tf":1.4142135623730951}}}}},"0":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"1":{"df":2,"docs":{"114":{"tf":1.0},"118":{"tf":2.23606797749979}}},"2":{"1":{"df":1,"docs":{"87":{"tf":1.0}}},"df":0,"docs":{}},"3":{"1":{"df":1,"docs":{"87":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"=":{"(":{"0":{".":{"5":{",":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{")":{"+":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{")":{"+":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{")":{"(":{"3":{".":{"3":{".":{"1":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{"df":0,"docs":{},"v":{"0":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"[":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"k":{")":{":":{"df":0,"docs":{},"δ":{"(":{"df":0,"docs":{},"k":{")":{"]":{"df":0,"docs":{},"q":{"df":0,"docs":{},"t":{"=":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"k":{")":{":":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"f":{"df":0,"docs":{},"q":{")":{"]":{"df":0,"docs":{},"q":{"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":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"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":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"[":{"df":0,"docs":{},"v":{"df":1,"docs":{"82":{"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":{},"∂":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{")":{":":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"f":{"df":0,"docs":{},"v":{")":{"]":{"df":0,"docs":{},"v":{"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":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"x":{"df":1,"docs":{"21":{"tf":1.0}}},"∂":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}},"∂":{"df":0,"docs":{},"ψ":{"df":0,"docs":{},"​":{".":{"(":{"1":{"4":{".":{"1":{".":{"1":{"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":{}}}}}}},">":{"0":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"[":{"0":{"df":2,"docs":{"118":{"tf":2.0},"86":{"tf":2.0}}},"1":{"df":2,"docs":{"118":{"tf":2.0},"86":{"tf":2.0}}},"df":0,"docs":{},"e":{"[":{"df":0,"docs":{},"i":{"]":{"[":{"0":{"df":1,"docs":{"87":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"87":{"tf":1.0}}},"2":{"df":1,"docs":{"87":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"[":{"0":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"]":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"[":{"1":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"67":{"tf":1.0}}},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}}}},"^":{"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"μ":{"(":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"1":{"df":0,"docs":{},"​":{")":{"+":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"j":{")":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"1":{"df":1,"docs":{"80":{"tf":1.0}}},"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":{"21":{"tf":1.4142135623730951}}}},"_":{"b":{"(":{"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"df":0,"docs":{},"x":{"df":2,"docs":{"48":{"tf":2.0},"52":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":2,"docs":{"62":{"tf":1.7320508075688772},"67":{"tf":1.7320508075688772}}}},"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"81":{"tf":1.0}}}},"i":{"df":0,"docs":{},"r":{"df":21,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"120":{"tf":2.8284271247461903},"121":{"tf":1.4142135623730951},"123":{"tf":2.0},"124":{"tf":2.23606797749979},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.7320508075688772},"133":{"tf":1.7320508075688772},"135":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":2.0},"141":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"z":{"df":0,"docs":{},"z":{"df":0,"docs":{},"o":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}}},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"120":{"tf":1.0},"134":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":13,"docs":{"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"112":{"tf":1.0},"132":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"48":{"tf":1.0},"5":{"tf":1.0},"74":{"tf":2.449489742783178},"77":{"tf":1.0},"82":{"tf":1.0},"85":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"125":{"tf":1.4142135623730951},"45":{"tf":2.0},"76":{"tf":1.0},"82":{"tf":1.0}}}},"r":{"df":2,"docs":{"5":{"tf":1.4142135623730951},"82":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"82":{"tf":1.0}}}}}}},"t":{"df":8,"docs":{"100":{"tf":1.0},"139":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"58":{"tf":1.0},"92":{"tf":1.7320508075688772},"93":{"tf":1.0},"99":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"125":{"tf":2.449489742783178},"4":{"tf":1.0},"82":{"tf":1.0}}}},"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"l":{"df":9,"docs":{"10":{"tf":1.0},"105":{"tf":1.7320508075688772},"118":{"tf":1.0},"5":{"tf":1.4142135623730951},"52":{"tf":2.23606797749979},"53":{"tf":1.0},"57":{"tf":1.7320508075688772},"66":{"tf":1.0},"70":{"tf":2.0}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"37":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":12,"docs":{"131":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"79":{"tf":1.4142135623730951},"83":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"t":{"df":3,"docs":{"105":{"tf":2.0},"136":{"tf":1.0},"33":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":11,"docs":{"117":{"tf":1.0},"125":{"tf":1.0},"35":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"71":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"15":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.0},"55":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"85":{"tf":1.4142135623730951}}}}}}}},"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"d":{"df":0,"docs":{},"∂":{"b":{"df":0,"docs":{},"​":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{")":{"df":0,"docs":{},"∇":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"(":{"7":{".":{"2":{".":{"4":{"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":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"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":1,"docs":{"113":{"tf":1.4142135623730951}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"4":{"tf":1.7320508075688772}}}},"df":24,"docs":{"107":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"118":{"tf":2.0},"120":{"tf":2.449489742783178},"124":{"tf":1.0},"125":{"tf":2.0},"131":{"tf":1.0},"21":{"tf":2.0},"22":{"tf":3.3166247903554},"28":{"tf":2.0},"53":{"tf":2.449489742783178},"54":{"tf":1.7320508075688772},"62":{"tf":1.0},"67":{"tf":1.4142135623730951},"79":{"tf":2.8284271247461903},"80":{"tf":2.449489742783178},"81":{"tf":1.4142135623730951},"82":{"tf":2.449489742783178},"83":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":1.0},"91":{"tf":1.0},"94":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"119":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"125":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}},"x":{"[":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":2,"docs":{"119":{"tf":1.7320508075688772},"125":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":3,"docs":{"120":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0}},"n":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"16":{"tf":1.0},"60":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":4,"docs":{"65":{"tf":1.0},"66":{"tf":3.0},"67":{"tf":2.0},"68":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":5,"docs":{"100":{"tf":1.0},"133":{"tf":1.0},"16":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.0}}}}}},"r":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"df":19,"docs":{"102":{"tf":1.4142135623730951},"105":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"134":{"tf":1.0},"29":{"tf":1.0},"42":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"67":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"114":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":16,"docs":{"115":{"tf":1.4142135623730951},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"131":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.0},"87":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"70":{"tf":1.0}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"l":{"2":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"l":{"2":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"1":{")":{"2":{",":{"(":{"4":{".":{"3":{".":{"1":{"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":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":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":{"27":{"tf":1.0}}}},"=":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"ψ":{"(":{"df":0,"docs":{},"f":{")":{"d":{"df":0,"docs":{},"x":{"df":1,"docs":{"73":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"f":{"df":2,"docs":{"123":{"tf":1.0},"58":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"k":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"f":{"0":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"h":{"^":{"df":0,"docs":{},"∥":{")":{",":{"(":{"9":{".":{"2":{".":{"1":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"−":{"df":0,"docs":{},"k":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"t":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"f":{"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{")":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{")":{",":{"(":{"9":{".":{"2":{".":{"3":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":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":{"123":{"tf":1.0}}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"137":{"tf":1.0},"139":{"tf":1.4142135623730951},"141":{"tf":1.0},"29":{"tf":1.0}}}},"t":{"=":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"{":{"df":0,"docs":{},"t":{"1":{"[":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{",":{"df":0,"docs":{},"s":{"3":{"]":{",":{"df":0,"docs":{},"t":{"2":{"[":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{",":{"df":0,"docs":{},"s":{"3":{"]":{",":{"df":0,"docs":{},"t":{"3":{"[":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{",":{"df":0,"docs":{},"s":{"3":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{"2":{"[":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{"df":1,"docs":{"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":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":4,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"69":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.0},"50":{"tf":1.0}}}}}}}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"df":21,"docs":{"0":{"tf":1.0},"111":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"4":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":2.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951},"66":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":2,"docs":{"131":{"tf":1.0},"87":{"tf":1.0}},"e":{"c":{"df":2,"docs":{"118":{"tf":1.0},"55":{"tf":1.0}},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":8,"docs":{"105":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"109":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"121":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"j":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"p":{"df":0,"docs":{},"j":{"df":2,"docs":{"131":{"tf":1.0},"87":{"tf":1.0}}}}}}}},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"79":{"tf":1.0}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"j":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"a":{"df":6,"docs":{"107":{"tf":1.0},"79":{"tf":2.0},"80":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.0}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"31":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"l":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"29":{"tf":1.0},"4":{"tf":1.0},"58":{"tf":1.0}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"32":{"tf":1.0},"42":{"tf":1.0},"47":{"tf":1.0},"54":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"e":{"df":8,"docs":{"134":{"tf":1.0},"16":{"tf":1.0},"32":{"tf":1.4142135623730951},"36":{"tf":1.0},"38":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"53":{"tf":1.0},"71":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"52":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":4,"docs":{"16":{"tf":1.0},"31":{"tf":1.0},"68":{"tf":1.0},"83":{"tf":1.0}}}},"df":1,"docs":{"118":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"20":{"tf":1.0},"48":{"tf":1.0}}}},"u":{"df":1,"docs":{"134":{"tf":1.0}},"g":{"df":2,"docs":{"49":{"tf":1.0},"95":{"tf":1.0}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"p":{"df":0,"docs":{},"−":{"df":0,"docs":{},"∇":{"2":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{")":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"f":{"df":0,"docs":{},"​":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"v":{"df":0,"docs":{},"≥":{"0":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"n":{"df":2,"docs":{"52":{"tf":1.0},"53":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"121":{"tf":1.0}}},"(":{"df":0,"docs":{},"e":{"0":{"df":2,"docs":{"118":{"tf":1.4142135623730951},"125":{"tf":1.0}}},"1":{"df":2,"docs":{"118":{"tf":1.4142135623730951},"125":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":2,"docs":{"118":{"tf":2.449489742783178},"125":{"tf":1.7320508075688772}}}},"df":59,"docs":{"101":{"tf":2.8284271247461903},"102":{"tf":1.0},"105":{"tf":1.7320508075688772},"108":{"tf":1.0},"113":{"tf":2.6457513110645907},"114":{"tf":3.0},"117":{"tf":1.7320508075688772},"118":{"tf":3.7416573867739413},"119":{"tf":2.449489742783178},"12":{"tf":2.0},"120":{"tf":3.4641016151377544},"121":{"tf":2.0},"122":{"tf":1.0},"123":{"tf":2.8284271247461903},"124":{"tf":2.23606797749979},"125":{"tf":2.6457513110645907},"126":{"tf":1.0},"127":{"tf":2.0},"129":{"tf":1.0},"133":{"tf":2.0},"134":{"tf":3.7416573867739413},"136":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.7320508075688772},"140":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":3.605551275463989},"54":{"tf":1.0},"57":{"tf":1.7320508075688772},"58":{"tf":1.0},"59":{"tf":3.0},"6":{"tf":2.0},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"68":{"tf":1.0},"7":{"tf":1.7320508075688772},"70":{"tf":3.605551275463989},"71":{"tf":2.6457513110645907},"72":{"tf":1.0},"73":{"tf":1.7320508075688772},"77":{"tf":1.0},"91":{"tf":1.7320508075688772},"94":{"tf":1.0},"95":{"tf":2.8284271247461903},"96":{"tf":1.0},"97":{"tf":1.7320508075688772}},"e":{"d":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"118":{"tf":1.0},"125":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"118":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"118":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":3,"docs":{"117":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"l":{"a":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"v":{"d":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":4,"docs":{"74":{"tf":1.0},"75":{"tf":2.8284271247461903},"76":{"tf":1.4142135623730951},"77":{"tf":1.0}}}},"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"114":{"tf":1.0},"123":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":3,"docs":{"21":{"tf":1.0},"27":{"tf":1.0},"76":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"114":{"tf":1.0},"16":{"tf":1.0}}},"i":{"df":0,"docs":{},"t":{"df":41,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"11":{"tf":1.4142135623730951},"114":{"tf":1.0},"117":{"tf":1.7320508075688772},"12":{"tf":1.0},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"125":{"tf":1.0},"131":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"32":{"tf":2.449489742783178},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.7320508075688772},"6":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":2.6457513110645907},"69":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":2.23606797749979},"84":{"tf":1.0},"87":{"tf":1.7320508075688772},"95":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"40":{"tf":1.0},"7":{"tf":1.0}}}}},"i":{"b":{"df":0,"docs":{},"l":{"df":10,"docs":{"114":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":57,"docs":{"101":{"tf":2.449489742783178},"107":{"tf":1.0},"11":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":2.0},"115":{"tf":1.0},"119":{"tf":1.4142135623730951},"12":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":2.23606797749979},"126":{"tf":1.0},"127":{"tf":1.7320508075688772},"131":{"tf":1.0},"134":{"tf":1.7320508075688772},"137":{"tf":1.0},"139":{"tf":1.0},"14":{"tf":2.449489742783178},"142":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"20":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"27":{"tf":2.6457513110645907},"28":{"tf":1.7320508075688772},"29":{"tf":1.0},"30":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"34":{"tf":2.0},"35":{"tf":1.0},"36":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":2.449489742783178},"50":{"tf":2.0},"51":{"tf":1.7320508075688772},"52":{"tf":2.0},"53":{"tf":1.7320508075688772},"54":{"tf":2.23606797749979},"55":{"tf":1.7320508075688772},"58":{"tf":2.23606797749979},"64":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.7320508075688772},"74":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.0},"99":{"tf":1.0}}}}}}},"w":{"(":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"1":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"118":{"tf":1.0}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":24,"docs":{"127":{"tf":1.0},"131":{"tf":1.0},"134":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"4":{"tf":1.0},"41":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0},"69":{"tf":1.0},"83":{"tf":1.0},"87":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":9,"docs":{"105":{"tf":1.4142135623730951},"12":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"32":{"tf":1.0},"5":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"7":{"tf":1.0},"99":{"tf":1.0}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"45":{"tf":1.4142135623730951},"64":{"tf":1.0},"85":{"tf":1.4142135623730951}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0}}}}}}}}},"i":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"12":{"tf":1.0},"141":{"tf":1.0},"28":{"tf":1.0},"6":{"tf":1.7320508075688772},"63":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"30":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"12":{"tf":1.0},"68":{"tf":1.0},"79":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"29":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":12,"docs":{"100":{"tf":1.0},"111":{"tf":1.4142135623730951},"15":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"99":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"20":{"tf":1.0},"41":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":10,"docs":{"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"5":{"tf":1.0},"72":{"tf":1.0},"79":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0}}}},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"10":{"tf":1.0}}}},"t":{"df":1,"docs":{"67":{"tf":1.0}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"79":{"tf":1.0},"83":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"69":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":17,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.0},"114":{"tf":1.0},"133":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"76":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":10,"docs":{"35":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0},"60":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0}},"s":{"df":5,"docs":{"120":{"tf":1.0},"38":{"tf":1.0},"7":{"tf":1.0},"88":{"tf":1.0},"91":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":2.23606797749979}}},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"140":{"tf":1.0},"16":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"91":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":6,"docs":{"12":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"50":{"tf":1.0},"70":{"tf":1.0},"83":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"120":{"tf":1.0},"135":{"tf":1.4142135623730951},"136":{"tf":2.449489742783178},"137":{"tf":1.0},"139":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951}}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":6,"docs":{"142":{"tf":1.0},"17":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0}},"l":{"df":8,"docs":{"101":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"6":{"tf":1.0},"65":{"tf":1.0},"83":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"(":{"'":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":1.0},"67":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"u":{"df":2,"docs":{"28":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"28":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"29":{"tf":1.0},"5":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"27":{"tf":1.0}},"i":{"df":1,"docs":{"120":{"tf":1.0}}}}}},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"'":{"df":1,"docs":{"16":{"tf":1.0}}},"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}},"df":31,"docs":{"10":{"tf":1.0},"100":{"tf":1.7320508075688772},"103":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"120":{"tf":1.0},"134":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":2.23606797749979},"16":{"tf":4.47213595499958},"18":{"tf":2.0},"20":{"tf":2.0},"22":{"tf":1.0},"28":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"4":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.23606797749979},"58":{"tf":1.0},"70":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"99":{"tf":2.0}}}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"42":{"tf":1.0},"43":{"tf":1.0}}}}},"df":3,"docs":{"65":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":19,"docs":{"11":{"tf":1.0},"132":{"tf":1.0},"139":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.0},"66":{"tf":1.4142135623730951},"7":{"tf":1.0},"73":{"tf":1.0},"80":{"tf":1.0},"83":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":4,"docs":{"52":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"95":{"tf":1.4142135623730951}},"t":{"df":7,"docs":{"41":{"tf":1.0},"63":{"tf":1.0},"82":{"tf":1.4142135623730951},"86":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"29":{"tf":1.0},"4":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"10":{"tf":1.0},"121":{"tf":1.0},"29":{"tf":1.0},"65":{"tf":1.0},"7":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}}}},"h":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":24,"docs":{"116":{"tf":1.0},"122":{"tf":1.0},"125":{"tf":1.0},"134":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.0},"22":{"tf":2.6457513110645907},"23":{"tf":1.4142135623730951},"24":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"35":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.4142135623730951},"84":{"tf":1.0},"86":{"tf":1.0}},"e":{"d":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"35":{"tf":1.0},"67":{"tf":1.0}}}},"df":2,"docs":{"28":{"tf":1.0},"35":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"16":{"tf":1.0},"5":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":2,"docs":{"120":{"tf":1.0},"121":{"tf":1.0}}}},"o":{"df":0,"docs":{},"f":{"df":2,"docs":{"80":{"tf":1.0},"81":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"111":{"tf":1.0},"29":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":11,"docs":{"102":{"tf":1.0},"14":{"tf":1.0},"27":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"80":{"tf":1.0},"82":{"tf":1.4142135623730951},"85":{"tf":1.0},"95":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"120":{"tf":1.0}}}},"s":{"df":1,"docs":{"134":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"36":{"tf":1.0}},"n":{"df":1,"docs":{"81":{"tf":1.0}}}},"i":{"d":{"df":31,"docs":{"10":{"tf":1.0},"101":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"14":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"63":{"tf":1.0},"76":{"tf":1.4142135623730951},"8":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}},"x":{"df":0,"docs":{},"i":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":2.0}},"m":{"df":2,"docs":{"16":{"tf":1.0},"49":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"137":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.0}}},"1":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":3,"docs":{"15":{"tf":1.0},"29":{"tf":1.0},"76":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"71":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"49":{"tf":1.0},"50":{"tf":1.0}}}},"t":{"df":3,"docs":{"10":{"tf":1.0},"105":{"tf":1.0},"15":{"tf":1.0}}}},"y":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.7320508075688772}},"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":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"r":{"a":{"df":0,"docs":{},"w":{".":{"a":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"29":{"tf":1.0},"62":{"tf":1.0},"85":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"29":{"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":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"h":{"df":1,"docs":{"29":{"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":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"3":{"df":2,"docs":{"24":{"tf":1.0},"29":{"tf":1.0}}},"df":8,"docs":{"116":{"tf":1.4142135623730951},"122":{"tf":1.0},"24":{"tf":1.7320508075688772},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0}}}}}}},"}":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"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":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"q":{"(":{"df":0,"docs":{},"⋅":{",":{"df":0,"docs":{},"t":{")":{":":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"92":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"92":{"tf":1.0}}}},"df":0,"docs":{}}},"=":{"df":0,"docs":{},"v":{"df":1,"docs":{"82":{"tf":1.0}}}},"_":{"1":{"df":1,"docs":{"22":{"tf":1.0}}},"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"n":{"df":1,"docs":{"22":{"tf":1.0}}}},"a":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"95":{"tf":1.0}},"​":{"=":{"df":0,"docs":{},"q":{"a":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":1,"docs":{"95":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"{":{"1":{",":{"0":{",":{"df":0,"docs":{},"​":{"a":{"=":{"a":{"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":5,"docs":{"22":{"tf":2.23606797749979},"82":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":2.0},"97":{"tf":1.0}},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"=":{"1":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"94":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"a":{"d":{"df":1,"docs":{"26":{"tf":1.7320508075688772}},"r":{"a":{"df":0,"docs":{},"t":{"df":13,"docs":{"120":{"tf":1.0},"131":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.7320508075688772},"32":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"87":{"tf":1.7320508075688772},"88":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"113":{"tf":2.23606797749979},"114":{"tf":1.0},"115":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.4142135623730951},"27":{"tf":1.0},"95":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}},"i":{"df":2,"docs":{"58":{"tf":1.0},"59":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":6,"docs":{"5":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"91":{"tf":1.0}}}},"t":{"df":1,"docs":{"70":{"tf":1.0}},"i":{"df":7,"docs":{"12":{"tf":1.0},"67":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"117":{"tf":1.0},"45":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"21":{"tf":1.0}}}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"18":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"121":{"tf":1.0},"4":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":2,"docs":{"140":{"tf":1.0},"29":{"tf":1.0}}}}}},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"=":{"df":0,"docs":{},"ϵ":{"df":0,"docs":{},"→":{"+":{"0":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∫":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"d":{"df":0,"docs":{},"x":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"(":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"​":{"(":{"1":{"6":{".":{"1":{".":{"4":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"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":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"∂":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"v":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"+":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"a":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"df":0,"docs":{},"∀":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"ω":{"0":{"df":1,"docs":{"99":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{},"ϵ":{"df":0,"docs":{},"→":{"+":{"0":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∫":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"j":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"d":{"df":0,"docs":{},"x":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"(":{"b":{"df":0,"docs":{},"ϵ":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"​":{",":{"(":{"1":{"6":{".":{"1":{".":{"3":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"j":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"v":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"+":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"g":{"df":0,"docs":{},"​":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}}},"df":1,"docs":{"90":{"tf":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":{"90":{"tf":1.0}}}},"df":0,"docs":{}}},".":{"(":{"1":{"3":{".":{"1":{".":{"3":{"df":1,"docs":{"74":{"tf":1.0}}},"5":{"df":1,"docs":{"74":{"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":{},"​":{",":{"df":0,"docs":{},"r":{"2":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"r":{"3":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"=":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"θ":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"θ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"θ":{"c":{"df":0,"docs":{},"o":{"df":1,"docs":{"82":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"(":{"(":{"1":{"df":0,"docs":{},"−":{"c":{")":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"+":{"c":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"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":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"θ":{")":{"df":0,"docs":{},"k":{"+":{"(":{"1":{"df":0,"docs":{},"−":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"θ":{")":{")":{"df":0,"docs":{},"k":{"2":{",":{"(":{"1":{"4":{".":{"3":{".":{"1":{"df":1,"docs":{"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":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":1,"docs":{"82":{"tf":1.0}},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.0}}}}}},">":{"0":{"df":2,"docs":{"45":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}},"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":4,"docs":{"101":{"tf":1.0},"45":{"tf":1.4142135623730951},"5":{"tf":1.0},"90":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"106":{"tf":1.0}}},"n":{"df":0,"docs":{},"g":{"df":6,"docs":{"11":{"tf":1.0},"37":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"69":{"tf":1.0},"98":{"tf":1.0}},"e":{"(":{"0":{"df":15,"docs":{"117":{"tf":1.4142135623730951},"119":{"tf":2.0},"126":{"tf":2.6457513110645907},"25":{"tf":2.8284271247461903},"26":{"tf":2.0},"27":{"tf":2.8284271247461903},"29":{"tf":2.0},"35":{"tf":1.7320508075688772},"54":{"tf":2.0},"62":{"tf":2.449489742783178},"63":{"tf":2.449489742783178},"67":{"tf":3.872983346207417},"85":{"tf":1.7320508075688772},"86":{"tf":3.7416573867739413},"87":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":6,"docs":{"102":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0}}},"i":{"df":0,"docs":{},"o":{"df":6,"docs":{"117":{"tf":1.0},"118":{"tf":2.449489742783178},"125":{"tf":2.449489742783178},"71":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.4142135623730951}}}}}},"b":{"c":{",":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.4142135623730951}},"​":{"=":{"df":0,"docs":{},"h":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"^":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"+":{"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":{}},"d":{"df":0,"docs":{},"×":{"d":{"df":2,"docs":{"71":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{}}},"df":23,"docs":{"101":{"tf":1.4142135623730951},"119":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"125":{"tf":1.7320508075688772},"126":{"tf":4.0},"127":{"tf":1.0},"130":{"tf":1.0},"142":{"tf":1.0},"27":{"tf":2.449489742783178},"45":{"tf":1.4142135623730951},"5":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.7320508075688772},"86":{"tf":1.4142135623730951},"89":{"tf":1.0},"94":{"tf":1.0}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"11":{"tf":1.0},"120":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"94":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"115":{"tf":1.0},"4":{"tf":2.0}}}},"i":{"df":1,"docs":{"63":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"131":{"tf":1.7320508075688772}}},"3":{"df":1,"docs":{"131":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":14,"docs":{"131":{"tf":1.4142135623730951},"16":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"69":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"77":{"tf":1.0},"83":{"tf":1.0},"87":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":4,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"32":{"tf":1.0},"52":{"tf":1.0}}},"t":{"df":3,"docs":{"17":{"tf":1.4142135623730951},"72":{"tf":1.0},"78":{"tf":1.0}}}},"z":{"df":3,"docs":{"63":{"tf":1.0},"81":{"tf":1.0},"87":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"33":{"tf":1.0},"58":{"tf":1.0}}}},"m":{"df":1,"docs":{"7":{"tf":1.0}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.4142135623730951},"76":{"tf":1.0}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":9,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"113":{"tf":1.0},"124":{"tf":1.0},"130":{"tf":1.0},"53":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":2,"docs":{"11":{"tf":1.4142135623730951},"41":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"75":{"tf":1.0},"82":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"r":{"d":{"df":2,"docs":{"5":{"tf":1.4142135623730951},"67":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":2,"docs":{"41":{"tf":1.0},"82":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":11,"docs":{"113":{"tf":1.0},"121":{"tf":1.0},"131":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.0},"139":{"tf":1.0},"16":{"tf":1.0},"26":{"tf":1.0},"49":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0}},"t":{"df":3,"docs":{"18":{"tf":1.0},"21":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"5":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"100":{"tf":1.0},"107":{"tf":1.0},"115":{"tf":1.0},"14":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"7":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"89":{"tf":1.4142135623730951},"9":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":3,"docs":{"20":{"tf":1.0},"38":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.0},"93":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"71":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"18":{"tf":1.0},"89":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"41":{"tf":1.0},"75":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"29":{"tf":1.0}}}}}}},"g":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"26":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.0},"90":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"16":{"tf":1.0}}},"df":7,"docs":{"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":2.0},"134":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}}},"l":{"_":{"df":0,"docs":{},"v":{"df":1,"docs":{"126":{"tf":1.7320508075688772}}}},"a":{"df":0,"docs":{},"t":{"df":7,"docs":{"47":{"tf":1.0},"57":{"tf":1.7320508075688772},"71":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"84":{"tf":1.0},"96":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":11,"docs":{"102":{"tf":1.0},"16":{"tf":1.0},"27":{"tf":1.0},"51":{"tf":1.0},"71":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":2.23606797749979},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0}}}}}}}}}},"x":{"df":1,"docs":{"92":{"tf":1.0}}}},"df":13,"docs":{"102":{"tf":1.0},"114":{"tf":1.4142135623730951},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.7320508075688772},"58":{"tf":2.23606797749979},"79":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{},"v":{"df":2,"docs":{"70":{"tf":1.0},"91":{"tf":1.0}}}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":3,"docs":{"141":{"tf":1.0},"69":{"tf":1.0},"79":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":24,"docs":{"10":{"tf":1.0},"101":{"tf":1.7320508075688772},"124":{"tf":1.0},"127":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"22":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0},"99":{"tf":1.0}}}},"r":{"df":0,"docs":{},"k":{"df":34,"docs":{"100":{"tf":1.0},"101":{"tf":2.0},"105":{"tf":1.0},"107":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"118":{"tf":1.0},"124":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"41":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"v":{"df":2,"docs":{"120":{"tf":1.0},"91":{"tf":1.0}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"29":{"tf":1.0},"5":{"tf":1.0},"85":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"66":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"a":{"c":{"df":2,"docs":{"112":{"tf":1.0},"57":{"tf":1.0}}},"df":0,"docs":{}},"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":{"1":{"tf":1.4142135623730951},"24":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":38,"docs":{"10":{"tf":1.0},"100":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"130":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.4142135623730951},"140":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"25":{"tf":1.7320508075688772},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"38":{"tf":1.0},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.7320508075688772},"49":{"tf":1.0},"5":{"tf":2.6457513110645907},"6":{"tf":2.0},"66":{"tf":1.0},"7":{"tf":1.7320508075688772},"70":{"tf":2.0},"71":{"tf":1.7320508075688772},"75":{"tf":1.0},"85":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"92":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":8,"docs":{"105":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.0},"45":{"tf":1.4142135623730951},"5":{"tf":2.8284271247461903},"6":{"tf":1.0},"92":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":4,"docs":{"101":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"r":{"df":22,"docs":{"101":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"120":{"tf":1.0},"128":{"tf":1.0},"131":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"68":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"92":{"tf":1.7320508075688772}}}}}},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"119":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"4":{"tf":1.0},"76":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"38":{"tf":1.0},"92":{"tf":1.0}}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{"df":3,"docs":{"28":{"tf":1.0},"35":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"35":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951}}}},"df":2,"docs":{"28":{"tf":1.0},"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"d":{"df":0,"docs":{},"u":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"74":{"tf":1.4142135623730951},"76":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":9,"docs":{"101":{"tf":1.0},"105":{"tf":1.4142135623730951},"11":{"tf":1.0},"111":{"tf":1.0},"12":{"tf":1.0},"133":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"[":{"1":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"v":{"df":4,"docs":{"11":{"tf":1.0},"15":{"tf":1.0},"49":{"tf":1.0},"63":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"49":{"tf":1.0},"5":{"tf":1.0},"79":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":33,"docs":{"10":{"tf":1.0},"102":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"123":{"tf":1.4142135623730951},"126":{"tf":1.0},"14":{"tf":1.4142135623730951},"32":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"6":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.4142135623730951},"80":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"85":{"tf":1.7320508075688772},"88":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"69":{"tf":1.0},"79":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":4,"docs":{"14":{"tf":1.0},"48":{"tf":1.0},"51":{"tf":1.0},"70":{"tf":1.0}}}}}},"t":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"32":{"tf":1.0},"85":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"126":{"tf":1.4142135623730951},"18":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"58":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.0}}},"1":{"df":1,"docs":{"86":{"tf":1.0}}},"2":{"df":1,"docs":{"86":{"tf":1.0}}},"3":{"df":1,"docs":{"86":{"tf":1.0}}},"4":{"df":1,"docs":{"86":{"tf":1.0}}},"5":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":33,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"113":{"tf":1.4142135623730951},"12":{"tf":1.0},"120":{"tf":1.0},"126":{"tf":1.0},"130":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.7320508075688772},"33":{"tf":1.0},"34":{"tf":1.7320508075688772},"36":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.449489742783178},"58":{"tf":1.0},"59":{"tf":1.0},"6":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"82":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"91":{"tf":1.0},"95":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"77":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"136":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":17,"docs":{"117":{"tf":1.0},"118":{"tf":3.3166247903554},"120":{"tf":2.449489742783178},"125":{"tf":1.0},"131":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.7320508075688772},"27":{"tf":2.0},"28":{"tf":2.23606797749979},"29":{"tf":1.0},"35":{"tf":2.23606797749979},"54":{"tf":2.0},"62":{"tf":2.0},"63":{"tf":3.1622776601683795},"67":{"tf":2.0},"86":{"tf":3.605551275463989},"87":{"tf":2.0}}}}}},"v":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"43":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"115":{"tf":1.0},"33":{"tf":1.0},"49":{"tf":1.0},"77":{"tf":1.0},"92":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"75":{"tf":1.0}}}}}}}}}},"h":{"df":1,"docs":{"34":{"tf":1.4142135623730951}},"o":{"df":2,"docs":{"117":{"tf":1.0},"29":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"df":17,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"52":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0},"74":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}},"i":{"d":{"df":7,"docs":{"14":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.7320508075688772},"76":{"tf":1.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"103":{"tf":1.0},"53":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"85":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"50":{"tf":1.0}}},"k":{"df":1,"docs":{"51":{"tf":1.0}}}}},"n":{"=":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":0,"docs":{},"−":{"df":0,"docs":{},"r":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"f":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"=":{"df":0,"docs":{},"r":{"df":0,"docs":{},"−":{"1":{"a":{"df":0,"docs":{},"n":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{")":{"=":{"1":{".":{"(":{"1":{"3":{".":{"3":{".":{"1":{"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":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{},"n":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"t":{"df":2,"docs":{"76":{"tf":1.0},"77":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":1,"docs":{"76":{"tf":2.0}}},"o":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":9,"docs":{"12":{"tf":1.0},"142":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"45":{"tf":1.0},"51":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"120":{"tf":1.0},"14":{"tf":1.0},"82":{"tf":1.4142135623730951},"87":{"tf":1.0}}}}}}}},"d":{"df":1,"docs":{"66":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":6,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"68":{"tf":1.0},"83":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"142":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":9,"docs":{"11":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.0},"131":{"tf":1.4142135623730951},"27":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"84":{"tf":1.0},"87":{"tf":1.7320508075688772}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":14,"docs":{"126":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"57":{"tf":1.0},"6":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.7320508075688772},"72":{"tf":1.0},"74":{"tf":3.605551275463989},"75":{"tf":2.0},"76":{"tf":2.23606797749979},"77":{"tf":2.0},"79":{"tf":1.0},"80":{"tf":2.23606797749979},"82":{"tf":3.4641016151377544}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"22":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"n":{"d":{"df":2,"docs":{"118":{"tf":1.0},"4":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":2,"docs":{"115":{"tf":1.0},"4":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"43":{"tf":1.0}}}}}},"w":{"df":10,"docs":{"26":{"tf":1.7320508075688772},"28":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":2.0},"34":{"tf":1.0},"42":{"tf":1.7320508075688772},"91":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0}}}},"s":{"df":2,"docs":{"75":{"tf":1.0},"86":{"tf":1.4142135623730951}}},"u":{"b":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":20,"docs":{"10":{"tf":1.0},"104":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"115":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.0},"30":{"tf":1.0},"48":{"tf":1.0},"58":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.7320508075688772},"88":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}},"n":{"df":5,"docs":{"121":{"tf":1.0},"126":{"tf":1.0},"29":{"tf":2.23606797749979},"59":{"tf":1.0},"67":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"142":{"tf":1.0}}}}}}},"​":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}},"→":{"0":{"df":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"f":{"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{")":{",":{"(":{"1":{"8":{".":{"4":{".":{"2":{"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":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"123":{"tf":1.0}}}},"df":0,"docs":{}}},")":{"=":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"f":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"f":{"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"k":{"df":1,"docs":{"57":{"tf":1.0}},"​":{")":{"=":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"k":{"df":1,"docs":{"57":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"1":{"df":1,"docs":{"82":{"tf":1.0}}},"2":{"df":1,"docs":{"82":{"tf":1.0}}},"3":{"df":1,"docs":{"82":{"tf":1.0}}},"=":{"1":{"df":1,"docs":{"119":{"tf":1.0}}},"[":{"1":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"0":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"d":{"/":{"d":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{"df":1,"docs":{"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":{}}},"df":0,"docs":{},"v":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{",":{"df":0,"docs":{},"s":{"3":{",":{"df":0,"docs":{},"u":{"1":{",":{"df":0,"docs":{},"u":{"2":{",":{"df":0,"docs":{},"u":{"3":{",":{"df":0,"docs":{},"v":{"1":{",":{"df":0,"docs":{},"v":{"2":{",":{"df":0,"docs":{},"v":{"3":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":1,"docs":{"86":{"tf":2.449489742783178}}},"1":{"df":1,"docs":{"86":{"tf":3.4641016151377544}}},"df":0,"docs":{}},"\\":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"0":{",":{"1":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":2,"docs":{"131":{"tf":1.4142135623730951},"87":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"131":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":20,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"107":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"126":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"14":{"tf":1.4142135623730951},"140":{"tf":1.0},"32":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"5":{"tf":1.0},"63":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"90":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":12,"docs":{"105":{"tf":1.0},"12":{"tf":1.7320508075688772},"128":{"tf":1.0},"14":{"tf":1.0},"25":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":2.6457513110645907},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"95":{"tf":3.1622776601683795},"96":{"tf":1.0},"97":{"tf":1.4142135623730951}}}}},"n":{"d":{"df":2,"docs":{"14":{"tf":1.0},"69":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"11":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":16,"docs":{"105":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"65":{"tf":1.0},"67":{"tf":2.0},"68":{"tf":1.0},"74":{"tf":1.4142135623730951},"90":{"tf":1.0},"93":{"tf":1.0}}}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":11,"docs":{"102":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.7320508075688772},"124":{"tf":1.0},"131":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":2.0},"54":{"tf":1.0},"57":{"tf":1.0},"75":{"tf":1.0},"87":{"tf":2.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":25,"docs":{"11":{"tf":1.0},"132":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"20":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"5":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"92":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":10,"docs":{"117":{"tf":1.7320508075688772},"121":{"tf":1.0},"126":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"87":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":9,"docs":{"23":{"tf":1.0},"29":{"tf":1.4142135623730951},"45":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"142":{"tf":2.0},"79":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}},"y":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"28":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"(":{"2":{"5":{"5":{"df":1,"docs":{"29":{"tf":1.0}}},"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":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"[":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"o":{"[":{"0":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"[":{"0":{"df":2,"docs":{"29":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"1":{"df":2,"docs":{"29":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"85":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"29":{"tf":1.0}},"i":{"df":1,"docs":{"29":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"29":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}}}},"df":16,"docs":{"112":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":2.6457513110645907},"125":{"tf":1.4142135623730951},"21":{"tf":1.0},"29":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"54":{"tf":2.0},"62":{"tf":2.0},"63":{"tf":1.4142135623730951},"67":{"tf":2.0},"7":{"tf":1.0},"75":{"tf":1.0},"86":{"tf":3.4641016151377544}},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{"df":3,"docs":{"28":{"tf":1.7320508075688772},"35":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":35,"docs":{"113":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":2.8284271247461903},"121":{"tf":1.7320508075688772},"131":{"tf":1.0},"132":{"tf":1.0},"137":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":3.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"29":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"32":{"tf":2.0},"34":{"tf":1.7320508075688772},"35":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":2.0},"52":{"tf":1.7320508075688772},"53":{"tf":3.1622776601683795},"54":{"tf":2.449489742783178},"55":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.4142135623730951},"67":{"tf":1.0},"76":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":2.23606797749979},"88":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":17,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"134":{"tf":1.0},"20":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"7":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.0},"94":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":25,"docs":{"107":{"tf":1.7320508075688772},"108":{"tf":1.0},"116":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"132":{"tf":1.4142135623730951},"141":{"tf":1.0},"24":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.0},"4":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"61":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":24,"docs":{"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"21":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.4142135623730951},"63":{"tf":1.0},"74":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.4142135623730951},"95":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.4142135623730951}},"m":{"df":1,"docs":{"29":{"tf":1.0}}},"n":{"df":4,"docs":{"15":{"tf":1.0},"5":{"tf":1.0},"71":{"tf":1.0},"81":{"tf":1.0}}}},"g":{"+":{"1":{")":{"df":0,"docs":{},"∗":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"117":{"tf":1.4142135623730951}}}},"2":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":9,"docs":{"113":{"tf":1.4142135623730951},"117":{"tf":1.0},"118":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":2.0},"85":{"tf":1.0},"90":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"113":{"tf":1.0},"134":{"tf":1.0},"15":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0}}}},"df":0,"docs":{}},"f":{"df":19,"docs":{"100":{"tf":1.0},"101":{"tf":2.0},"109":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.4142135623730951},"116":{"tf":1.7320508075688772},"117":{"tf":1.4142135623730951},"119":{"tf":1.7320508075688772},"120":{"tf":1.4142135623730951},"121":{"tf":1.4142135623730951},"122":{"tf":1.7320508075688772},"123":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":2.0},"127":{"tf":1.0},"128":{"tf":1.0},"133":{"tf":1.0},"55":{"tf":1.4142135623730951}}},"l":{"df":1,"docs":{"142":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":13,"docs":{"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.4142135623730951},"22":{"tf":1.0},"27":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"95":{"tf":1.0}}}},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"4":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":8,"docs":{"103":{"tf":1.0},"120":{"tf":1.4142135623730951},"22":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"5":{"tf":1.0},"71":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.0}}},"v":{"df":7,"docs":{"101":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.0}}}},"t":{"df":43,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"106":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.7320508075688772},"115":{"tf":1.0},"117":{"tf":1.7320508075688772},"119":{"tf":1.0},"124":{"tf":2.0},"127":{"tf":1.7320508075688772},"130":{"tf":1.0},"134":{"tf":2.23606797749979},"139":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":2.449489742783178},"20":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.7320508075688772},"41":{"tf":2.0},"44":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":2.23606797749979},"67":{"tf":1.4142135623730951},"70":{"tf":1.0},"73":{"tf":1.0},"82":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.0},"95":{"tf":1.7320508075688772},"96":{"tf":1.0},"97":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":13,"docs":{"100":{"tf":1.0},"111":{"tf":1.0},"117":{"tf":2.0},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.4142135623730951},"62":{"tf":1.0},"67":{"tf":1.4142135623730951},"88":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"102":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0},"87":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"=":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":13,"docs":{"104":{"tf":1.0},"105":{"tf":2.23606797749979},"108":{"tf":1.0},"112":{"tf":1.0},"129":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"29":{"tf":1.0},"45":{"tf":1.4142135623730951},"5":{"tf":2.449489742783178},"70":{"tf":1.0},"72":{"tf":1.0},"76":{"tf":1.0},"85":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":3,"docs":{"113":{"tf":1.0},"120":{"tf":1.0},"80":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"56":{"tf":1.0},"60":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"66":{"tf":1.0},"71":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":3,"docs":{"25":{"tf":1.0},"43":{"tf":1.0},"5":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"w":{"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{}},"df":11,"docs":{"16":{"tf":1.0},"5":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.4142135623730951},"85":{"tf":1.0}},"n":{"df":8,"docs":{"117":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"91":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"117":{"tf":1.7320508075688772},"29":{"tf":2.0},"54":{"tf":1.0},"67":{"tf":1.0}},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}}}}}},"df":12,"docs":{"117":{"tf":1.0},"16":{"tf":1.0},"25":{"tf":1.4142135623730951},"29":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":1.0},"74":{"tf":1.0},"80":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":2.23606797749979},"95":{"tf":1.4142135623730951}}}},"df":1,"docs":{"82":{"tf":1.0}},"f":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"81":{"tf":1.0}}}}},"df":0,"docs":{}},"g":{"df":0,"docs":{},"m":{"a":{"=":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{",":{"df":0,"docs":{},"s":{"3":{"df":1,"docs":{"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":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"[":{"1":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":11,"docs":{"101":{"tf":1.0},"118":{"tf":1.0},"45":{"tf":3.7416573867739413},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":12,"docs":{"120":{"tf":1.0},"121":{"tf":1.0},"135":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"26":{"tf":1.0},"41":{"tf":1.0},"53":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":8,"docs":{"18":{"tf":1.0},"20":{"tf":1.0},"29":{"tf":1.0},"44":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{}}}}}},"m":{"df":8,"docs":{"116":{"tf":1.4142135623730951},"122":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":20,"docs":{"100":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"123":{"tf":1.4142135623730951},"127":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0},"88":{"tf":1.0},"95":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":13,"docs":{"101":{"tf":1.0},"106":{"tf":1.0},"115":{"tf":1.0},"123":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"62":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0},"87":{"tf":1.0},"95":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":11,"docs":{"114":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":1.4142135623730951},"52":{"tf":1.0},"6":{"tf":1.0},"69":{"tf":1.0},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"113":{"tf":1.0},"5":{"tf":1.4142135623730951},"54":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"11":{"tf":1.0},"15":{"tf":1.0},"33":{"tf":1.0},"74":{"tf":1.0}}}},"x":{"df":3,"docs":{"104":{"tf":2.0},"128":{"tf":1.0},"132":{"tf":1.0}}}},"i":{"c":{"df":6,"docs":{"106":{"tf":1.0},"122":{"tf":1.0},"16":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"92":{"tf":1.0}}},"df":14,"docs":{"100":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.7320508075688772},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.7320508075688772},"57":{"tf":1.0},"66":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.4142135623730951}},"f":{"df":2,"docs":{"113":{"tf":1.0},"27":{"tf":1.0}},"i":{"df":15,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"25":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"44":{"tf":1.0},"6":{"tf":1.4142135623730951},"62":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":7,"docs":{"117":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"35":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":75,"docs":{"0":{"tf":1.0},"10":{"tf":1.7320508075688772},"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"103":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.7320508075688772},"118":{"tf":1.0},"12":{"tf":1.0},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"14":{"tf":1.0},"142":{"tf":2.0},"15":{"tf":1.0},"16":{"tf":2.8284271247461903},"17":{"tf":2.0},"18":{"tf":2.0},"22":{"tf":1.7320508075688772},"24":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":5.0},"3":{"tf":1.0},"30":{"tf":2.449489742783178},"31":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"35":{"tf":1.7320508075688772},"4":{"tf":1.7320508075688772},"41":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"5":{"tf":2.8284271247461903},"50":{"tf":2.449489742783178},"51":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"54":{"tf":2.0},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.4142135623730951},"67":{"tf":2.449489742783178},"69":{"tf":1.7320508075688772},"7":{"tf":2.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"78":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"87":{"tf":2.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.0},"90":{"tf":1.7320508075688772},"91":{"tf":1.4142135623730951},"93":{"tf":1.7320508075688772},"94":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}},"t":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"[":{"df":0,"docs":{},"u":{"1":{"]":{",":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"u":{"1":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}},"v":{"1":{"]":{"df":0,"docs":{},"}":{",":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"[":{"df":0,"docs":{},"v":{"1":{"]":{",":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"v":{"1":{"df":1,"docs":{"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":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"142":{"tf":1.0}},"g":{"df":0,"docs":{},"l":{"df":5,"docs":{"101":{"tf":1.0},"113":{"tf":1.0},"29":{"tf":1.0},"6":{"tf":1.0},"82":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":8,"docs":{"40":{"tf":1.0},"41":{"tf":1.7320508075688772},"43":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"82":{"tf":2.449489742783178},"95":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"49":{"tf":1.0},"71":{"tf":1.0}}}},"df":0,"docs":{}}},"z":{"df":0,"docs":{},"e":{"df":30,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"131":{"tf":1.7320508075688772},"16":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.449489742783178},"54":{"tf":2.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"7":{"tf":1.0},"82":{"tf":1.4142135623730951},"84":{"tf":1.0},"87":{"tf":2.449489742783178},"88":{"tf":1.7320508075688772},"9":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"82":{"tf":1.0}}}},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"50":{"tf":1.0}}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"16":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951},"50":{"tf":1.0},"87":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"df":11,"docs":{"102":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"57":{"tf":2.6457513110645907},"58":{"tf":2.23606797749979},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"87":{"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":{"58":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}}}},"p":{"df":8,"docs":{"32":{"tf":2.0},"36":{"tf":1.7320508075688772},"37":{"tf":2.0},"38":{"tf":2.6457513110645907},"40":{"tf":1.7320508075688772},"42":{"tf":3.0},"43":{"tf":1.7320508075688772},"75":{"tf":1.0}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":7,"docs":{"117":{"tf":1.7320508075688772},"60":{"tf":1.0},"61":{"tf":2.23606797749979},"62":{"tf":3.7416573867739413},"63":{"tf":3.3166247903554},"64":{"tf":1.0},"67":{"tf":1.0}}}},"w":{"df":3,"docs":{"16":{"tf":1.0},"41":{"tf":1.0},"57":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":20,"docs":{"101":{"tf":1.0},"114":{"tf":1.0},"134":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.0},"82":{"tf":1.0},"9":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"104":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":2.0},"125":{"tf":1.0},"21":{"tf":1.0},"35":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"82":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"d":{"(":{"a":{"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":3,"docs":{"53":{"tf":1.0},"62":{"tf":1.0},"88":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"76":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"69":{"tf":1.0}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":16,"docs":{"101":{"tf":1.4142135623730951},"114":{"tf":2.23606797749979},"118":{"tf":1.7320508075688772},"121":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"21":{"tf":1.4142135623730951},"23":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.7320508075688772},"95":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":11,"docs":{"101":{"tf":1.0},"103":{"tf":1.0},"114":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.0},"141":{"tf":1.0},"45":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.4142135623730951},"65":{"tf":1.0}}}}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"131":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"69":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"105":{"tf":1.0},"14":{"tf":1.0}},"w":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"29":{"tf":1.0},"79":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":2,"docs":{"105":{"tf":1.0},"67":{"tf":1.0}}},"i":{"d":{"'":{"df":3,"docs":{"45":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951}}},"df":52,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"113":{"tf":2.0},"114":{"tf":1.0},"12":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":2.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.0},"14":{"tf":2.0},"142":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":2.23606797749979},"18":{"tf":1.4142135623730951},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.4142135623730951},"31":{"tf":1.7320508075688772},"4":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951},"45":{"tf":3.1622776601683795},"47":{"tf":1.7320508075688772},"48":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951},"5":{"tf":4.0},"50":{"tf":1.4142135623730951},"51":{"tf":2.23606797749979},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"66":{"tf":1.0},"69":{"tf":1.4142135623730951},"73":{"tf":1.7320508075688772},"74":{"tf":1.4142135623730951},"77":{"tf":1.0},"79":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"88":{"tf":1.0}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"t":{"df":25,"docs":{"10":{"tf":1.0},"100":{"tf":1.0},"105":{"tf":1.0},"11":{"tf":2.0},"122":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":2.449489742783178},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"32":{"tf":1.0},"4":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.7320508075688772},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"76":{"tf":1.0},"9":{"tf":1.4142135623730951},"92":{"tf":1.0},"95":{"tf":2.23606797749979},"97":{"tf":1.0}}}},"v":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":1.0},"4":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}},"df":37,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"11":{"tf":1.4142135623730951},"118":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.0},"120":{"tf":1.4142135623730951},"122":{"tf":1.0},"131":{"tf":2.0},"132":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":1.7320508075688772},"38":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"87":{"tf":2.449489742783178},"88":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"131":{"tf":1.0},"28":{"tf":1.7320508075688772}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"131":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"r":{"c":{"df":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"92":{"tf":1.0}}}}}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":45,"docs":{"104":{"tf":1.4142135623730951},"105":{"tf":2.0},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"132":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":2.23606797749979},"5":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.0},"6":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":2.449489742783178},"71":{"tf":1.0},"72":{"tf":1.4142135623730951},"74":{"tf":1.7320508075688772},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.7320508075688772},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"88":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"93":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":2.449489742783178},"97":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"df":4,"docs":{"118":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"95":{"tf":1.4142135623730951}}},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"4":{"tf":1.0}}},"s":{"df":4,"docs":{"114":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":2.0},"41":{"tf":1.0}},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"(":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"v":{"[":{"2":{"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":{}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"41":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":20,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"121":{"tf":1.7320508075688772},"123":{"tf":1.0},"127":{"tf":1.0},"135":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"25":{"tf":1.0},"32":{"tf":1.0},"5":{"tf":1.0},"69":{"tf":1.0},"89":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"d":{"df":10,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":2.449489742783178},"23":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"86":{"tf":1.0}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"134":{"tf":1.0},"40":{"tf":1.0},"74":{"tf":1.0},"77":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":36,"docs":{"10":{"tf":1.0},"104":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"12":{"tf":1.0},"140":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"21":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"37":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"87":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}},"i":{"df":11,"docs":{"100":{"tf":1.0},"112":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"32":{"tf":1.4142135623730951},"71":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":3,"docs":{"16":{"tf":1.0},"52":{"tf":1.0},"70":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":3,"docs":{"45":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"57":{"tf":2.0}}},"i":{"c":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"131":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"45":{"tf":1.0}}}},"t":{"df":1,"docs":{"54":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"'":{"df":1,"docs":{"27":{"tf":1.0}}},"df":13,"docs":{"24":{"tf":1.0},"27":{"tf":2.6457513110645907},"29":{"tf":2.8284271247461903},"30":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"54":{"tf":2.0},"67":{"tf":2.449489742783178},"68":{"tf":1.7320508075688772},"69":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"85":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"28":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"28":{"tf":1.0},"35":{"tf":1.0},"67":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"3":{".":{"0":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"1":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"a":{"df":0,"docs":{},"r":{"df":28,"docs":{"117":{"tf":3.4641016151377544},"118":{"tf":2.0},"119":{"tf":1.4142135623730951},"120":{"tf":1.7320508075688772},"121":{"tf":1.0},"124":{"tf":1.4142135623730951},"126":{"tf":2.449489742783178},"127":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":2.8284271247461903},"27":{"tf":1.0},"29":{"tf":3.3166247903554},"35":{"tf":2.0},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":2.8284271247461903},"60":{"tf":1.0},"61":{"tf":2.0},"62":{"tf":1.7320508075688772},"63":{"tf":2.23606797749979},"65":{"tf":1.0},"67":{"tf":3.0},"68":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"83":{"tf":1.0},"87":{"tf":1.7320508075688772}},"e":{"'":{"df":1,"docs":{"54":{"tf":1.0}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"117":{"tf":1.0},"29":{"tf":1.0},"67":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"i":{"df":4,"docs":{"117":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"85":{"tf":1.0}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"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":1,"docs":{"29":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"29":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"c":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}},"t":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"29":{"tf":1.0},"58":{"tf":1.0}}}},"l":{"df":7,"docs":{"10":{"tf":1.0},"12":{"tf":1.4142135623730951},"142":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.0},"57":{"tf":1.0},"92":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"5":{"tf":1.0},"57":{"tf":1.0},"6":{"tf":1.7320508075688772},"67":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"34":{"tf":1.0},"66":{"tf":1.4142135623730951}}}},"n":{"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":10,"docs":{"11":{"tf":1.0},"112":{"tf":1.0},"131":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.4142135623730951},"27":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"78":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":22,"docs":{"104":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"43":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":8,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0},"45":{"tf":1.0},"57":{"tf":1.0},"9":{"tf":1.7320508075688772},"92":{"tf":1.0}}},"i":{"c":{"df":11,"docs":{"122":{"tf":1.0},"127":{"tf":1.0},"17":{"tf":1.4142135623730951},"29":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"66":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}},"i":{"df":2,"docs":{"15":{"tf":1.0},"32":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"y":{"df":3,"docs":{"38":{"tf":1.0},"42":{"tf":1.0},"54":{"tf":1.0}}}},"d":{":":{":":{"a":{"b":{"df":0,"docs":{},"s":{"(":{"c":{"df":1,"docs":{"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":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}}},"r":{"df":1,"docs":{"16":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"114":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0}}}}},"df":0,"docs":{}},"p":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.0},"63":{"tf":1.0}}}},"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":47,"docs":{"10":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.4142135623730951},"123":{"tf":2.23606797749979},"124":{"tf":1.7320508075688772},"125":{"tf":1.0},"127":{"tf":1.7320508075688772},"131":{"tf":1.7320508075688772},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"23":{"tf":1.0},"25":{"tf":2.23606797749979},"29":{"tf":3.0},"32":{"tf":2.0},"34":{"tf":1.7320508075688772},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"43":{"tf":1.0},"50":{"tf":2.6457513110645907},"51":{"tf":1.4142135623730951},"52":{"tf":1.7320508075688772},"53":{"tf":2.8284271247461903},"54":{"tf":2.0},"55":{"tf":1.0},"58":{"tf":2.449489742783178},"59":{"tf":1.7320508075688772},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":2.0},"7":{"tf":1.7320508075688772},"76":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":2.449489742783178},"88":{"tf":2.0},"9":{"tf":2.0},"91":{"tf":1.4142135623730951},"95":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":8,"docs":{"32":{"tf":2.23606797749979},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.7320508075688772},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"41":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":11,"docs":{"12":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"34":{"tf":1.0},"35":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.0},"66":{"tf":2.23606797749979},"67":{"tf":2.0},"68":{"tf":1.0},"74":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"l":{"df":15,"docs":{"101":{"tf":1.4142135623730951},"107":{"tf":1.0},"114":{"tf":1.4142135623730951},"119":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"53":{"tf":1.7320508075688772},"58":{"tf":1.0},"59":{"tf":1.0},"68":{"tf":1.0},"76":{"tf":1.0},"87":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"142":{"tf":1.7320508075688772},"76":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"p":{"df":7,"docs":{"22":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"50":{"tf":1.0},"52":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.4142135623730951},"67":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"45":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":11,"docs":{"125":{"tf":1.0},"136":{"tf":1.4142135623730951},"26":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":1.4142135623730951},"74":{"tf":1.0},"80":{"tf":1.0},"85":{"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":19,"docs":{"111":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"16":{"tf":1.4142135623730951},"22":{"tf":1.0},"26":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.4142135623730951},"66":{"tf":1.0},"74":{"tf":1.0},"79":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"103":{"tf":1.0},"67":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"n":{"df":12,"docs":{"107":{"tf":1.0},"119":{"tf":1.0},"131":{"tf":1.4142135623730951},"73":{"tf":2.0},"74":{"tf":2.8284271247461903},"75":{"tf":1.7320508075688772},"76":{"tf":1.4142135623730951},"77":{"tf":1.7320508075688772},"78":{"tf":1.4142135623730951},"79":{"tf":2.0},"83":{"tf":1.4142135623730951},"86":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}},"i":{"df":11,"docs":{"121":{"tf":1.0},"20":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"4":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.0},"68":{"tf":1.0},"79":{"tf":1.0},"88":{"tf":1.0},"95":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"27":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":10,"docs":{"107":{"tf":1.0},"131":{"tf":1.7320508075688772},"70":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":3.605551275463989},"80":{"tf":1.0},"83":{"tf":1.7320508075688772},"86":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":2.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":9,"docs":{"142":{"tf":1.0},"29":{"tf":1.7320508075688772},"35":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"16":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":9,"docs":{"103":{"tf":1.0},"115":{"tf":1.4142135623730951},"48":{"tf":1.0},"89":{"tf":2.0},"91":{"tf":1.0},"92":{"tf":2.0},"93":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":16,"docs":{"135":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"40":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"87":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}},"i":{"df":27,"docs":{"115":{"tf":1.0},"116":{"tf":1.4142135623730951},"122":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"35":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"60":{"tf":1.0},"61":{"tf":1.4142135623730951},"62":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.0},"84":{"tf":1.0},"89":{"tf":1.0},"93":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"4":{"tf":1.0}}},"df":4,"docs":{"102":{"tf":1.0},"32":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"119":{"tf":1.0},"33":{"tf":1.0},"92":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":7,"docs":{"17":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"66":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0}}}},"t":{"df":3,"docs":{"139":{"tf":1.0},"34":{"tf":1.0},"90":{"tf":1.0}}}},"p":{"a":{"c":{"df":3,"docs":{"32":{"tf":1.4142135623730951},"38":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"131":{"tf":1.0},"41":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":5,"docs":{"107":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":1.0}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"85":{"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":{"45":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"30":{"tf":1.0},"88":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"h":{"df":34,"docs":{"114":{"tf":1.0},"118":{"tf":1.0},"121":{"tf":1.0},"14":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.4142135623730951},"5":{"tf":1.7320508075688772},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"6":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"69":{"tf":1.0},"7":{"tf":1.4142135623730951},"71":{"tf":2.0},"74":{"tf":1.4142135623730951},"79":{"tf":1.0},"82":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.0}}}},"df":1,"docs":{"142":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"118":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":9,"docs":{"101":{"tf":1.0},"114":{"tf":1.4142135623730951},"120":{"tf":1.0},"121":{"tf":1.0},"53":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"92":{"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":{"16":{"tf":1.0},"22":{"tf":1.0},"71":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"92":{"tf":1.0}}}},"m":{"(":{"d":{"b":{"c":{"_":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":15,"docs":{"101":{"tf":1.0},"119":{"tf":1.0},"126":{"tf":1.0},"22":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772},"27":{"tf":2.0},"35":{"tf":1.7320508075688772},"54":{"tf":1.7320508075688772},"62":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772},"67":{"tf":2.0},"73":{"tf":1.0},"82":{"tf":1.0},"86":{"tf":1.7320508075688772},"95":{"tf":1.0}},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}},"i":{"df":24,"docs":{"103":{"tf":1.0},"108":{"tf":1.0},"115":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0},"127":{"tf":1.0},"132":{"tf":1.0},"141":{"tf":1.0},"18":{"tf":1.4142135623730951},"23":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"50":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0},"83":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.0}}},"y":{"/":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"142":{"tf":3.4641016151377544}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":9,"docs":{"107":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"115":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.7320508075688772},"27":{"tf":1.0},"48":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"29":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"10":{"tf":1.0},"119":{"tf":1.0},"9":{"tf":1.0},"94":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"p":{"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":{"51":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"55":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"87":{"tf":1.0}}},"f":{"a":{"c":{"df":18,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"126":{"tf":1.0},"128":{"tf":1.0},"134":{"tf":2.8284271247461903},"135":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"76":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"v":{"d":{"df":8,"docs":{"41":{"tf":2.6457513110645907},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"75":{"tf":3.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"112":{"tf":1.0},"113":{"tf":1.0},"34":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":7,"docs":{"118":{"tf":1.0},"121":{"tf":1.0},"5":{"tf":1.0},"7":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"92":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":13,"docs":{"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"75":{"tf":1.0},"82":{"tf":1.0},"85":{"tf":1.4142135623730951},"95":{"tf":1.0}},"i":{"df":2,"docs":{"101":{"tf":1.0},"113":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":2.23606797749979},"12":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"'":{"df":1,"docs":{"6":{"tf":1.0}}},"df":32,"docs":{"10":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":2.23606797749979},"112":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"32":{"tf":2.23606797749979},"33":{"tf":2.0},"34":{"tf":2.23606797749979},"35":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"40":{"tf":2.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"47":{"tf":1.0},"50":{"tf":1.0},"57":{"tf":1.0},"6":{"tf":2.0},"68":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"9":{"tf":1.4142135623730951},"94":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.0}}}}}}}},"t":{"(":{"a":{"df":2,"docs":{"106":{"tf":1.0},"130":{"tf":1.0}}},"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"n":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"n":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}},"t":{")":{"=":{"0":{"df":1,"docs":{"96":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"92":{"tf":1.0}}}},"df":0,"docs":{}},"⋅":{",":{"df":0,"docs":{},"n":{",":{"df":0,"docs":{},"t":{")":{":":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"91":{"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":{},"→":{"df":0,"docs":{},"ω":{"df":0,"docs":{},"t":{"df":2,"docs":{"100":{"tf":1.0},"70":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"×":{"d":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"d":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{")":{")":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"t":{"df":2,"docs":{"126":{"tf":1.0},"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":{}}}}}},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"126":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"0":{",":{"df":0,"docs":{},"t":{"2":{",":{"df":0,"docs":{},"…":{",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":1,"docs":{"96":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"1":{"3":{"df":1,"docs":{"118":{"tf":2.23606797749979}}},"4":{"df":1,"docs":{"118":{"tf":2.23606797749979}}},"df":1,"docs":{"131":{"tf":1.0}}},"2":{"3":{"df":1,"docs":{"118":{"tf":2.449489742783178}}},"4":{"df":1,"docs":{"118":{"tf":2.8284271247461903}}},"5":{"df":1,"docs":{"118":{"tf":2.449489742783178}}},"6":{"df":1,"docs":{"118":{"tf":2.23606797749979}}},"7":{"df":1,"docs":{"118":{"tf":1.7320508075688772}}},"df":1,"docs":{"131":{"tf":1.0}}},"3":{"df":1,"docs":{"131":{"tf":1.0}}},"=":{"0":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":1,"docs":{"94":{"tf":1.4142135623730951}},"−":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":0,"docs":{},"−":{"1":{"df":1,"docs":{"96":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"^":{"0":{"=":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"53":{"tf":1.0},"7":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"53":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":1.0},"18":{"tf":1.0},"37":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"43":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":26,"docs":{"102":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.7320508075688772},"123":{"tf":1.0},"124":{"tf":1.0},"131":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.0},"4":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.7320508075688772},"7":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":2.0},"87":{"tf":1.0},"90":{"tf":1.0}},"n":{"df":3,"docs":{"115":{"tf":1.0},"27":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}},"n":{"(":{"df":0,"docs":{},"θ":{")":{"=":{"0":{".":{"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":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"125":{"tf":1.0}}}},"df":7,"docs":{"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.7320508075688772},"58":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"64":{"tf":1.0}},"i":{"df":1,"docs":{"56":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":5,"docs":{"16":{"tf":1.0},"20":{"tf":1.0},"66":{"tf":1.7320508075688772},"67":{"tf":2.0},"68":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"45":{"tf":1.0},"82":{"tf":1.0}}}}},"b":{"df":1,"docs":{"85":{"tf":1.0}}},"c":{"1":{"df":1,"docs":{"101":{"tf":1.0}}},"df":4,"docs":{"102":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"123":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"−":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∂":{"b":{"(":{"d":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"(":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"df":0,"docs":{},"o":{")":{",":{"d":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":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":{"100":{"tf":2.0},"103":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"99":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":21,"docs":{"10":{"tf":1.0},"106":{"tf":1.0},"11":{"tf":2.0},"112":{"tf":1.4142135623730951},"122":{"tf":1.0},"126":{"tf":1.7320508075688772},"131":{"tf":3.1622776601683795},"134":{"tf":1.0},"14":{"tf":1.0},"21":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":2.0},"60":{"tf":1.4142135623730951},"63":{"tf":2.0},"7":{"tf":1.7320508075688772},"70":{"tf":2.449489742783178},"71":{"tf":2.23606797749979},"87":{"tf":2.8284271247461903},"9":{"tf":2.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"141":{"tf":1.0}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":13,"docs":{"11":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"5":{"tf":1.7320508075688772},"50":{"tf":1.0},"93":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"94":{"tf":1.0}}}}}}},"df":10,"docs":{"108":{"tf":1.0},"12":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.0},"25":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951},"93":{"tf":1.0},"97":{"tf":1.0}}}}}},"n":{"d":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"79":{"tf":1.0},"83":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"74":{"tf":1.0},"79":{"tf":2.0},"80":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"86":{"tf":1.0}},"i":{"df":1,"docs":{"82":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"142":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"m":{"'":{"df":1,"docs":{"4":{"tf":1.0}}},"df":31,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"131":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"25":{"tf":1.0},"26":{"tf":2.449489742783178},"49":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":2.6457513110645907},"67":{"tf":1.0},"7":{"tf":1.0},"74":{"tf":2.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"82":{"tf":2.6457513110645907},"87":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"120":{"tf":1.0},"29":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}},"t":{"df":8,"docs":{"29":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"97":{"tf":1.0}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"a":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}},"df":4,"docs":{"128":{"tf":1.4142135623730951},"129":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"131":{"tf":1.0}}},"df":2,"docs":{"130":{"tf":1.7320508075688772},"131":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"{":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"x":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}},"f":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"β":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"r":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"β":{"df":0,"docs":{},"t":{"df":0,"docs":{},"v":{"df":0,"docs":{},"f":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{".":{"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":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"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":{}}},"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":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"103":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"135":{"tf":1.0}}}}}}}}}},"df":7,"docs":{"123":{"tf":1.0},"124":{"tf":1.0},"42":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"92":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"o":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"142":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"91":{"tf":1.7320508075688772},"92":{"tf":1.0},"93":{"tf":1.4142135623730951}}},"t":{"df":5,"docs":{"10":{"tf":1.0},"113":{"tf":1.0},"127":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0}}}},"i":{"df":4,"docs":{"0":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0},"69":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"i":{"df":4,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":15,"docs":{"101":{"tf":1.0},"112":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"71":{"tf":1.0},"81":{"tf":1.0},"87":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"101":{"tf":1.0},"119":{"tf":1.0},"48":{"tf":1.4142135623730951},"66":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":4,"docs":{"101":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"71":{"tf":1.0}},"k":{"df":2,"docs":{"100":{"tf":1.0},"90":{"tf":1.0}}}},"r":{"d":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"4":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":16,"docs":{"114":{"tf":1.0},"124":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"79":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"132":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0}},"t":{"df":1,"docs":{"101":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":6,"docs":{"106":{"tf":1.4142135623730951},"26":{"tf":1.0},"70":{"tf":1.0},"82":{"tf":1.4142135623730951},"85":{"tf":1.0},"95":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":6,"docs":{"101":{"tf":1.0},"131":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":23,"docs":{"1":{"tf":1.0},"101":{"tf":1.0},"12":{"tf":1.0},"127":{"tf":1.0},"17":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.7320508075688772},"50":{"tf":2.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"60":{"tf":1.0},"65":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.4142135623730951},"83":{"tf":1.0},"85":{"tf":1.0},"91":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":10,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.0},"20":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"70":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0}}}}}}}}}},"u":{"df":22,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"11":{"tf":1.0},"113":{"tf":1.0},"120":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"27":{"tf":1.4142135623730951},"32":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"85":{"tf":1.0},"87":{"tf":1.4142135623730951},"92":{"tf":1.0},"95":{"tf":1.0}}}},"i":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"112":{"tf":1.0}},"​":{"df":0,"docs":{},"∫":{"0":{"1":{"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":{},"​":{"df":0,"docs":{},"​":{"d":{"df":0,"docs":{},"β":{"=":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"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":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"{":{"df":0,"docs":{},"x":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"n":{")":{"^":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"\\":{"df":0,"docs":{},"|":{"^":{"2":{"_":{"df":0,"docs":{},"m":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"14":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":7,"docs":{"125":{"tf":1.0},"28":{"tf":1.0},"35":{"tf":1.4142135623730951},"54":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":2.0},"87":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"29":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"29":{"tf":1.7320508075688772}}}}}}},"df":78,"docs":{"10":{"tf":2.0},"101":{"tf":1.7320508075688772},"104":{"tf":1.0},"11":{"tf":2.6457513110645907},"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.0},"117":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"12":{"tf":2.0},"120":{"tf":1.7320508075688772},"121":{"tf":1.0},"122":{"tf":1.7320508075688772},"123":{"tf":2.23606797749979},"124":{"tf":1.7320508075688772},"125":{"tf":1.0},"127":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":2.449489742783178},"23":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":2.6457513110645907},"30":{"tf":1.0},"32":{"tf":2.6457513110645907},"33":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"35":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"37":{"tf":1.0},"38":{"tf":1.0},"4":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"5":{"tf":1.4142135623730951},"50":{"tf":2.0},"51":{"tf":1.7320508075688772},"52":{"tf":2.0},"53":{"tf":2.449489742783178},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":3.0},"59":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"60":{"tf":1.7320508075688772},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":2.0},"67":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"7":{"tf":2.8284271247461903},"70":{"tf":3.3166247903554},"71":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":2.6457513110645907},"90":{"tf":1.4142135623730951},"92":{"tf":1.0},"94":{"tf":1.7320508075688772},"95":{"tf":1.0},"96":{"tf":2.0},"97":{"tf":2.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":6,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"7":{"tf":3.0},"87":{"tf":1.0},"9":{"tf":1.7320508075688772}}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}}},"n":{"df":0,"docs":{},"i":{"df":3,"docs":{"120":{"tf":1.0},"16":{"tf":1.0},"87":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"14":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"24":{"tf":1.0}},"e":{"=":{"df":0,"docs":{},"{":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"​":{"=":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"n":{"df":0,"docs":{},"j":{"df":1,"docs":{"92":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"k":{"df":1,"docs":{"57":{"tf":1.7320508075688772}},"n":{"df":1,"docs":{"58":{"tf":1.0}}},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"[":{"df":0,"docs":{},"i":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"−":{"df":0,"docs":{},"i":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"r":{"6":{"df":0,"docs":{},"×":{"3":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"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":{},"m":{"df":0,"docs":{},"×":{"d":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"n":{"=":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":3,"docs":{"112":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":3,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"c":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"120":{"tf":3.4641016151377544}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"120":{"tf":3.4641016151377544}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"120":{"tf":2.23606797749979}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":5,"docs":{"105":{"tf":1.0},"114":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"42":{"tf":1.0}}}}}},"i":{"df":2,"docs":{"120":{"tf":2.8284271247461903},"121":{"tf":1.7320508075688772}}},"l":{"df":5,"docs":{"131":{"tf":2.449489742783178},"28":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":2.0},"87":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"23":{"tf":1.0},"66":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"53":{"tf":1.0}}},"l":{"df":3,"docs":{"118":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0}}}},"p":{"df":7,"docs":{"114":{"tf":1.0},"117":{"tf":1.4142135623730951},"120":{"tf":1.7320508075688772},"35":{"tf":1.0},"4":{"tf":1.0},"63":{"tf":1.7320508075688772},"87":{"tf":1.0}},"i":{"c":{"df":3,"docs":{"23":{"tf":1.0},"4":{"tf":1.0},"44":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":2,"docs":{"12":{"tf":1.0},"5":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"45":{"tf":1.0},"5":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"107":{"tf":1.0},"119":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"h":{"df":5,"docs":{"126":{"tf":1.0},"16":{"tf":1.4142135623730951},"44":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":6,"docs":{"120":{"tf":1.0},"16":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"29":{"tf":1.0},"5":{"tf":1.0},"70":{"tf":1.0},"90":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":8,"docs":{"101":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}}}},"d":{"df":0,"docs":{},"e":{"df":2,"docs":{"101":{"tf":1.0},"49":{"tf":1.0}}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"23":{"tf":1.0},"29":{"tf":1.0},"53":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"10":{"tf":1.0},"120":{"tf":2.23606797749979},"20":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":3.1622776601683795},"55":{"tf":1.4142135623730951},"70":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":12,"docs":{"114":{"tf":1.0},"16":{"tf":1.4142135623730951},"22":{"tf":1.0},"41":{"tf":1.4142135623730951},"48":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.0},"91":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"122":{"tf":1.0},"127":{"tf":1.0},"17":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"60":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"28":{"tf":1.0},"6":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"71":{"tf":1.0}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":5,"docs":{"106":{"tf":1.4142135623730951},"119":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"95":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"27":{"tf":1.0},"57":{"tf":1.0},"69":{"tf":1.0},"82":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"30":{"tf":1.4142135623730951},"31":{"tf":1.0},"98":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":25,"docs":{"104":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"106":{"tf":3.605551275463989},"107":{"tf":2.0},"108":{"tf":1.7320508075688772},"112":{"tf":2.6457513110645907},"113":{"tf":1.7320508075688772},"114":{"tf":1.4142135623730951},"117":{"tf":1.7320508075688772},"128":{"tf":1.0},"129":{"tf":1.0},"133":{"tf":2.23606797749979},"134":{"tf":3.4641016151377544},"138":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"22":{"tf":1.7320508075688772},"29":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":3.605551275463989},"87":{"tf":2.23606797749979},"88":{"tf":2.23606797749979},"90":{"tf":1.4142135623730951}},"e":{"'":{"df":1,"docs":{"88":{"tf":1.0}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"104":{"tf":1.0},"85":{"tf":1.0}}}},"df":1,"docs":{"85":{"tf":1.0}}}}}}},"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"16":{"tf":1.0}},"i":{"df":1,"docs":{"87":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"87":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"e":{"df":6,"docs":{"120":{"tf":1.4142135623730951},"29":{"tf":1.0},"35":{"tf":1.0},"67":{"tf":1.0},"81":{"tf":1.0},"90":{"tf":1.0}}},"n":{"c":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"18":{"tf":1.0},"20":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"32":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":8,"docs":{"50":{"tf":2.23606797749979},"51":{"tf":1.4142135623730951},"52":{"tf":2.23606797749979},"53":{"tf":2.6457513110645907},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"65":{"tf":1.0},"87":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"n":{"df":3,"docs":{"16":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.0}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"116":{"tf":1.0},"122":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"101":{"tf":1.0},"114":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"o":{"df":32,"docs":{"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"108":{"tf":1.0},"112":{"tf":1.7320508075688772},"113":{"tf":2.0},"114":{"tf":1.4142135623730951},"117":{"tf":1.7320508075688772},"120":{"tf":1.0},"126":{"tf":1.7320508075688772},"134":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"21":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"32":{"tf":1.7320508075688772},"34":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.4142135623730951},"63":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0},"82":{"tf":1.7320508075688772},"95":{"tf":1.7320508075688772}}}},"x":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{",":{"=":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"​":{"(":{"1":{".":{"4":{".":{"1":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":11,"docs":{"11":{"tf":1.0},"140":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"32":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"48":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0}}},"i":{"c":{"df":15,"docs":{"113":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}}},"}":{")":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"∂":{"df":0,"docs":{},"v":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"​":{"(":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"j":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{")":{"=":{"0":{"df":1,"docs":{"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":{}}},"≥":{"0":{".":{"(":{"1":{"6":{".":{"1":{".":{"2":{"df":1,"docs":{"90":{"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":{"6":{".":{"2":{".":{"3":{"df":1,"docs":{"91":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"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":{},"​":{"(":{"1":{"8":{".":{"1":{".":{"1":{"df":1,"docs":{"99":{"tf":1.0}}},"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":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"df":0,"docs":{},"∀":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{},"x":{"d":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"df":0,"docs":{},"∀":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"γ":{"d":{"df":1,"docs":{"99":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":5,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"u":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"x":{")":{")":{"=":{"df":0,"docs":{},"u":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"x":{")":{"+":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"u":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"x":{"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":{}}},"d":{"df":0,"docs":{},"x":{"=":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"df":0,"docs":{},"​":{"df":0,"docs":{},"u":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"x":{")":{"d":{"df":0,"docs":{},"x":{"+":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"u":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"x":{")":{"d":{"df":0,"docs":{},"x":{"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":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"92":{"tf":1.0}}}},"1":{",":{"df":0,"docs":{},"u":{"2":{",":{"df":0,"docs":{},"u":{"3":{",":{"df":0,"docs":{},"v":{"1":{",":{"df":0,"docs":{},"v":{"2":{",":{"df":0,"docs":{},"v":{"3":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"82":{"tf":1.0}}},"2":{"df":2,"docs":{"131":{"tf":1.7320508075688772},"82":{"tf":1.0}}},"3":{"df":2,"docs":{"131":{"tf":1.7320508075688772},"82":{"tf":1.0}}},"=":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{},"i":{"d":{"+":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"]":{"*":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{"+":{"(":{"1":{"df":1,"docs":{"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":{}},"df":0,"docs":{}},"x":{"^":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":1,"docs":{"105":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"{":{"df":0,"docs":{},"{":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"u":{"1":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"86":{"tf":2.8284271247461903}}},"r":{"df":1,"docs":{"86":{"tf":2.8284271247461903}}}},"^":{"df":0,"docs":{},"t":{"df":1,"docs":{"41":{"tf":1.0}}}},"c":{"df":0,"docs":{},"l":{"a":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}}},"df":6,"docs":{"14":{"tf":2.449489742783178},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"86":{"tf":2.23606797749979}},"i":{"df":1,"docs":{"82":{"tf":1.0}}},"k":{"df":1,"docs":{"58":{"tf":1.0}},"​":{"=":{"df":0,"docs":{},"h":{"^":{"df":0,"docs":{},"v":{"df":0,"docs":{},"k":{"df":1,"docs":{"58":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"97":{"tf":1.0}}}},"r":{"a":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}}},"n":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}}}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"20":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"18":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"12":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":7,"docs":{"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"34":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}}}},"r":{"df":27,"docs":{"101":{"tf":1.0},"108":{"tf":1.0},"114":{"tf":1.4142135623730951},"116":{"tf":1.0},"122":{"tf":1.0},"126":{"tf":1.0},"14":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"61":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"82":{"tf":1.4142135623730951},"84":{"tf":1.0}},"g":{"df":0,"docs":{},"o":{"df":4,"docs":{"10":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"104":{"tf":1.0}}}},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":14,"docs":{"104":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"37":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"52":{"tf":1.0},"6":{"tf":1.4142135623730951},"70":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.4142135623730951},"85":{"tf":1.0},"88":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"51":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.0}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":6,"docs":{"106":{"tf":1.0},"12":{"tf":1.0},"130":{"tf":1.0},"136":{"tf":1.0},"45":{"tf":1.4142135623730951},"5":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"25":{"tf":1.4142135623730951},"29":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"5":{"tf":1.0}}}},"q":{"df":0,"docs":{},"u":{"df":8,"docs":{"105":{"tf":1.0},"115":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"48":{"tf":1.0},"60":{"tf":1.0}}}},"t":{"df":10,"docs":{"101":{"tf":1.0},"102":{"tf":1.7320508075688772},"123":{"tf":1.4142135623730951},"14":{"tf":1.0},"22":{"tf":1.0},"42":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"82":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.0}},"i":{"df":1,"docs":{"105":{"tf":2.0}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"87":{"tf":1.4142135623730951}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"45":{"tf":1.0}}}}}}},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":5,"docs":{"33":{"tf":1.0},"66":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"71":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":5,"docs":{"16":{"tf":1.0},"20":{"tf":1.0},"37":{"tf":1.0},"53":{"tf":1.0},"75":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"101":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"17":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"65":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":5,"docs":{"101":{"tf":1.0},"118":{"tf":1.4142135623730951},"127":{"tf":1.0},"45":{"tf":1.7320508075688772},"48":{"tf":1.0}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":9,"docs":{"11":{"tf":1.0},"120":{"tf":1.4142135623730951},"21":{"tf":1.0},"29":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}}}},"p":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"83":{"tf":1.0},"88":{"tf":1.0}}}}},"d":{"a":{"df":0,"docs":{},"t":{"df":11,"docs":{"10":{"tf":1.0},"11":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"30":{"tf":1.0},"32":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"67":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":11,"docs":{"101":{"tf":1.0},"117":{"tf":1.0},"127":{"tf":1.0},"24":{"tf":1.0},"29":{"tf":1.0},"41":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"73":{"tf":1.0},"90":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"16":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":2.0},"54":{"tf":1.7320508075688772}}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"26":{"tf":1.0},"28":{"tf":1.0},"75":{"tf":1.0}}}},"df":86,"docs":{"10":{"tf":1.0},"100":{"tf":1.0},"101":{"tf":2.449489742783178},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.7320508075688772},"107":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":1.7320508075688772},"115":{"tf":1.0},"118":{"tf":2.0},"119":{"tf":2.23606797749979},"12":{"tf":1.4142135623730951},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":2.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"129":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.0},"134":{"tf":1.7320508075688772},"136":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.7320508075688772},"142":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"18":{"tf":2.0},"20":{"tf":1.7320508075688772},"21":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"5":{"tf":2.6457513110645907},"51":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"64":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":2.0},"7":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"82":{"tf":1.7320508075688772},"83":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.7320508075688772},"89":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":2.0},"96":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"134":{"tf":1.0},"22":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"82":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":17,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.4142135623730951},"86":{"tf":1.0},"89":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"d":{"(":{"[":{"[":{"b":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"86":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"2":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"2":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"a":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"p":{".":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{"[":{"[":{"df":0,"docs":{},"h":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"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":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"87":{"tf":1.0}}}},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"d":{"(":{"a":{"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":{}}}}},"u":{"=":{"c":{"df":0,"docs":{},"p":{"[":{"df":0,"docs":{},"u":{"1":{",":{"df":0,"docs":{},"u":{"2":{",":{"df":0,"docs":{},"u":{"3":{"]":{"/":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"τ":{"^":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"79":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ϕ":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"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":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"(":{"1":{"2":{".":{"1":{".":{"3":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":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":{"92":{"tf":1.0}},"i":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"α":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{")":{"=":{"0":{",":{"(":{"1":{"5":{".":{"3":{".":{"1":{"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":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"⋅":{",":{"df":0,"docs":{},"t":{")":{":":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"1":{".":{"0":{".":{"0":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"82":{"tf":1.0}}},"2":{"df":1,"docs":{"82":{"tf":1.0}}},"3":{"df":1,"docs":{"82":{"tf":1.0}}},"=":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{")":{"/":{"df":0,"docs":{},"h":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"[":{"df":0,"docs":{},"v":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"v":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"r":{"6":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"d":{"+":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"]":{"*":{"df":0,"docs":{},"v":{"df":0,"docs":{},"v":{"+":{"(":{"1":{"df":1,"docs":{"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":{}},"df":0,"docs":{}},"{":{"df":0,"docs":{},"{":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"v":{"1":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"[":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"0":{"df":1,"docs":{"126":{"tf":1.7320508075688772}}},"1":{"df":1,"docs":{"126":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"126":{"tf":1.7320508075688772}}}}},"^":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":2,"docs":{"126":{"tf":1.4142135623730951},"127":{"tf":1.0}},"​":{"=":{"df":0,"docs":{},"v":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"(":{"(":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"124":{"tf":1.0}}},"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":4,"docs":{"14":{"tf":1.0},"26":{"tf":1.0},"7":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"}":{"df":0,"docs":{},"{":{"\\":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":1,"docs":{"41":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":3,"docs":{"11":{"tf":2.23606797749979},"7":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"{":{"1":{"1":{"df":1,"docs":{"6":{"tf":1.0}}},"2":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}},"2":{"1":{"df":1,"docs":{"6":{"tf":1.0}}},"2":{"df":0,"docs":{},"}":{")":{"^":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"\\":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"p":{"0":{"df":1,"docs":{"118":{"tf":1.0}}},"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"v":{"df":1,"docs":{"63":{"tf":1.0}}},"x":{"df":7,"docs":{"26":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"86":{"tf":1.0}}}},"df":1,"docs":{"26":{"tf":1.4142135623730951}},"i":{"d":{"df":2,"docs":{"34":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":1.0},"4":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}},"df":41,"docs":{"11":{"tf":1.4142135623730951},"111":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.7320508075688772},"27":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"41":{"tf":1.7320508075688772},"42":{"tf":1.0},"43":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":2.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"8":{"tf":1.0},"82":{"tf":2.8284271247461903},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"9":{"tf":1.7320508075688772},"91":{"tf":1.0},"92":{"tf":1.7320508075688772},"95":{"tf":1.0},"99":{"tf":1.0}}}},"r":{"=":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{",":{"df":0,"docs":{},"s":{"3":{",":{"df":0,"docs":{},"u":{"1":{",":{"df":0,"docs":{},"u":{"2":{",":{"df":0,"docs":{},"u":{"3":{",":{"df":0,"docs":{},"v":{"1":{",":{"df":0,"docs":{},"v":{"2":{",":{"df":0,"docs":{},"v":{"3":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"1":{",":{"df":0,"docs":{},"v":{"1":{"df":1,"docs":{"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":{}}}},"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":23,"docs":{"10":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"11":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"130":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"6":{"tf":1.0},"67":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772},"90":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.0}}}},"t":{"df":1,"docs":{"27":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"102":{"tf":1.0},"57":{"tf":1.0}}}}}}},"df":10,"docs":{"10":{"tf":1.0},"112":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.0},"74":{"tf":1.0},"88":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":11,"docs":{"16":{"tf":1.4142135623730951},"18":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"61":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.4142135623730951}}}}}}},"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"126":{"tf":2.0},"63":{"tf":2.0}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"126":{"tf":1.7320508075688772},"63":{"tf":3.4641016151377544}},"h":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":2.0}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":16,"docs":{"10":{"tf":1.0},"106":{"tf":1.0},"123":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":2.0},"29":{"tf":2.0},"41":{"tf":2.23606797749979},"42":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"5":{"tf":1.0},"57":{"tf":1.4142135623730951},"6":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"75":{"tf":1.0},"82":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":25,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"117":{"tf":1.0},"123":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"25":{"tf":1.0},"32":{"tf":2.23606797749979},"33":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"45":{"tf":1.0},"5":{"tf":1.7320508075688772},"57":{"tf":1.0},"6":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0},"82":{"tf":2.0},"91":{"tf":2.0},"92":{"tf":1.7320508075688772},"94":{"tf":1.0},"95":{"tf":2.23606797749979}}}}}},"df":1,"docs":{"130":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"c":{"df":26,"docs":{"10":{"tf":1.0},"102":{"tf":1.4142135623730951},"117":{"tf":1.0},"123":{"tf":1.7320508075688772},"124":{"tf":1.7320508075688772},"126":{"tf":1.0},"127":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":3.3166247903554},"58":{"tf":1.4142135623730951},"6":{"tf":1.7320508075688772},"60":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.4142135623730951},"69":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.7320508075688772},"87":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"133":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.0},"76":{"tf":1.0},"87":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":4,"docs":{"112":{"tf":1.0},"113":{"tf":1.0},"118":{"tf":1.0},"75":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"45":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"11":{"tf":1.0},"122":{"tf":1.0},"2":{"tf":1.0},"82":{"tf":1.0},"9":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":4,"docs":{"106":{"tf":1.0},"29":{"tf":1.4142135623730951},"71":{"tf":1.0},"85":{"tf":1.4142135623730951}}}},"i":{"c":{"df":16,"docs":{"104":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":2.23606797749979},"108":{"tf":1.0},"112":{"tf":1.0},"126":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"134":{"tf":1.0},"25":{"tf":1.4142135623730951},"29":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0},"85":{"tf":1.7320508075688772},"88":{"tf":1.0}}},"df":0,"docs":{}}}}},"f":{"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.4142135623730951}},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"t":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"∥":{"=":{"0":{"df":2,"docs":{"102":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951}}},"df":0,"docs":{}},">":{"0":{"df":2,"docs":{"102":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"20":{"tf":1.0},"34":{"tf":1.0}}}},"df":6,"docs":{"108":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.0},"94":{"tf":1.0},"97":{"tf":1.0}}},"df":1,"docs":{"82":{"tf":1.0}},"e":{"df":0,"docs":{},"w":{"df":7,"docs":{"101":{"tf":1.0},"119":{"tf":1.0},"14":{"tf":1.0},"4":{"tf":1.4142135623730951},"56":{"tf":1.0},"70":{"tf":1.0},"90":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"101":{"tf":1.0},"48":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":9,"docs":{"16":{"tf":1.0},"29":{"tf":2.8284271247461903},"30":{"tf":1.0},"5":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"7":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"15":{"tf":1.0},"17":{"tf":1.0},"5":{"tf":1.0}}}},"df":1,"docs":{"42":{"tf":1.0}},"​":{"=":{"df":0,"docs":{},"​":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}}}}}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}}},"​":{"=":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"k":{"df":3,"docs":{"124":{"tf":1.0},"57":{"tf":2.0},"58":{"tf":1.4142135623730951}},"​":{"=":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"−":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{")":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"(":{"(":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"r":{")":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"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":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"v":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"∥":{"=":{"0":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"df":0,"docs":{}},">":{"0":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"85":{"tf":1.0},"86":{"tf":1.7320508075688772}}}},"df":2,"docs":{"85":{"tf":1.0},"86":{"tf":1.7320508075688772}},"u":{"df":0,"docs":{},"m":{"df":15,"docs":{"130":{"tf":1.0},"131":{"tf":1.7320508075688772},"135":{"tf":1.0},"137":{"tf":1.4142135623730951},"141":{"tf":1.0},"48":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":2.449489742783178},"73":{"tf":1.0},"85":{"tf":1.4142135623730951},"87":{"tf":2.23606797749979},"88":{"tf":1.0},"91":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":2.8284271247461903}}}}}},"p":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"r":{"3":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"r":{"3":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"(":{"df":0,"docs":{},"−":{"df":0,"docs":{},"g":{"df":1,"docs":{"42":{"tf":1.0}}}}},"=":{"df":0,"docs":{},"​":{"0":{".":{"6":{"df":0,"docs":{},"−":{"0":{".":{"8":{"df":0,"docs":{},"​":{"0":{".":{"8":{"0":{".":{"6":{"df":0,"docs":{},"​":{"1":{"df":0,"docs":{},"​":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":1,"docs":{"86":{"tf":2.8284271247461903}}},"1":{"df":1,"docs":{"86":{"tf":3.1622776601683795}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"v":{">":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"75":{"tf":1.0},"86":{"tf":1.7320508075688772}},"h":{"df":1,"docs":{"42":{"tf":1.4142135623730951}},"v":{"df":1,"docs":{"42":{"tf":1.0}},"s":{"df":0,"docs":{},"​":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"0":{"df":0,"docs":{},"​":{"]":{"[":{"df":0,"docs":{},"y":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"′":{"df":0,"docs":{},"​":{"]":{"=":{"[":{"df":0,"docs":{},"−":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":0,"docs":{},"g":{"0":{"df":0,"docs":{},"​":{"]":{".":{"(":{"6":{".":{"2":{".":{"3":{"df":1,"docs":{"41":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"{":{"df":0,"docs":{},"u":{"1":{",":{"df":0,"docs":{},"u":{"2":{",":{"df":0,"docs":{},"u":{"3":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"v":{"=":{"c":{"df":0,"docs":{},"p":{"[":{"df":0,"docs":{},"v":{"1":{",":{"df":0,"docs":{},"v":{"2":{",":{"df":0,"docs":{},"v":{"3":{"]":{"/":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"1":{",":{"df":0,"docs":{},"v":{"2":{",":{"df":0,"docs":{},"v":{"3":{"df":1,"docs":{"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":{},"{":{"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"d":{"df":2,"docs":{"7":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"ˉ":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"−":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"t":{")":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"+":{"1":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"+":{"1":{"(":{"df":0,"docs":{},"x":{"2":{"df":1,"docs":{"123":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":1,"docs":{"123":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"​":{"=":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"−":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"t":{")":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"(":{"(":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"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":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"v":{"df":1,"docs":{"58":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"​":{",":{"df":1,"docs":{"123":{"tf":1.0}}},"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":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"/":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"=":{"0":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"∥":{"=":{"0":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"∈":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{",":{"df":0,"docs":{},"v":{"df":0,"docs":{},"":{"=":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"":{"=":{"0":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{".":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"t":{"df":5,"docs":{"118":{"tf":1.0},"119":{"tf":1.0},"58":{"tf":1.0},"80":{"tf":1.0},"86":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}},"a":{"^":{"df":0,"docs":{},"​":{"=":{"d":{"^":{"3":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"j":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"i":{"(":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"​":{"a":{"df":0,"docs":{},"j":{"df":1,"docs":{"134":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"l":{"df":1,"docs":{"21":{"tf":1.0}}}},"y":{"df":10,"docs":{"12":{"tf":1.0},"134":{"tf":1.0},"18":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"6":{"tf":1.0},"75":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}},"df":2,"docs":{"29":{"tf":1.0},"45":{"tf":1.4142135623730951}},"e":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"101":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.0}}}},"v":{"df":4,"docs":{"104":{"tf":1.0},"108":{"tf":1.0},"69":{"tf":1.0},"98":{"tf":1.0}}}},"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"d":{"^":{"3":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"j":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"i":{"(":{"df":0,"docs":{},"e":{"1":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"​":{"a":{"df":0,"docs":{},"j":{"df":1,"docs":{"134":{"tf":1.0}}}},"df":0,"docs":{}}},"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":{"df":20,"docs":{"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.0},"16":{"tf":1.0},"89":{"tf":2.0},"92":{"tf":3.1622776601683795},"93":{"tf":1.7320508075688772},"94":{"tf":1.7320508075688772},"95":{"tf":2.0},"97":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":2.23606797749979}}},"v":{"df":1,"docs":{"4":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":7,"docs":{"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.4142135623730951},"48":{"tf":1.0},"54":{"tf":1.4142135623730951},"73":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"l":{"df":14,"docs":{"103":{"tf":1.0},"109":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"34":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":2.0},"6":{"tf":1.0},"88":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"48":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":3,"docs":{"17":{"tf":1.0},"36":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"118":{"tf":1.0},"120":{"tf":1.0},"14":{"tf":1.0},"35":{"tf":1.4142135623730951},"58":{"tf":1.0},"67":{"tf":1.4142135623730951},"70":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":6,"docs":{"101":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.0},"7":{"tf":1.0},"76":{"tf":1.0},"82":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"136":{"tf":1.0},"79":{"tf":1.0},"91":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":6,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"45":{"tf":1.0},"69":{"tf":1.0},"76":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":6,"docs":{"115":{"tf":1.0},"118":{"tf":1.0},"32":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"55":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":29,"docs":{"10":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"107":{"tf":1.0},"112":{"tf":1.0},"131":{"tf":1.0},"139":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"18":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.7320508075688772},"36":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"61":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"88":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":19,"docs":{"112":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":1.0},"120":{"tf":1.4142135623730951},"122":{"tf":1.0},"123":{"tf":1.0},"16":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.0},"92":{"tf":1.0}}}}}}}},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"b":{"(":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{")":{"=":{"df":0,"docs":{},"−":{"df":0,"docs":{},"w":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"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":{},"o":{"d":{"df":2,"docs":{"14":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{}},"r":{"d":{"df":3,"docs":{"130":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":2,"docs":{"14":{"tf":1.0},"79":{"tf":1.0}}},"l":{"d":{"df":19,"docs":{"105":{"tf":1.4142135623730951},"108":{"tf":1.0},"111":{"tf":1.0},"129":{"tf":1.0},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"74":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"88":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":1,"docs":{"22":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"29":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":6,"docs":{"107":{"tf":1.0},"115":{"tf":1.0},"124":{"tf":1.0},"29":{"tf":1.4142135623730951},"81":{"tf":1.0},"82":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":6,"docs":{"101":{"tf":1.0},"113":{"tf":1.0},"123":{"tf":1.0},"14":{"tf":1.0},"89":{"tf":1.0},"92":{"tf":1.0}}}}}}}}},"x":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"112":{"tf":1.0}},"i":{"df":2,"docs":{"105":{"tf":1.0},"129":{"tf":1.0}}}},"β":{",":{"df":0,"docs":{},"γ":{",":{"df":0,"docs":{},"τ":{")":{"df":0,"docs":{},"≈":{"df":0,"docs":{},"x":{"^":{"(":{"df":0,"docs":{},"β":{",":{"df":0,"docs":{},"γ":{",":{"df":0,"docs":{},"τ":{")":{"=":{"(":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"β":{"df":0,"docs":{},"−":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"−":{"df":0,"docs":{},"τ":{")":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"β":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"τ":{"df":0,"docs":{},"x":{"4":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":1,"docs":{"45":{"tf":1.0}}},"t":{"df":1,"docs":{"70":{"tf":1.0}}},"v":{"df":1,"docs":{"57":{"tf":1.0}}}},"0":{"df":1,"docs":{"59":{"tf":1.0}}},"1":{"0":{"df":1,"docs":{"71":{"tf":1.0}}},"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"1":{"2":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":6,"docs":{"101":{"tf":1.7320508075688772},"105":{"tf":1.0},"106":{"tf":1.0},"130":{"tf":1.0},"27":{"tf":1.0},"71":{"tf":1.0}},"​":{",":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"3":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"=":{"1":{"df":1,"docs":{"95":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"3":{"df":2,"docs":{"105":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"∈":{"df":0,"docs":{},"γ":{"1":{"df":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}}},"−":{"df":0,"docs":{},"x":{"2":{"df":1,"docs":{"27":{"tf":1.0}},"​":{"df":0,"docs":{},"∥":{"2":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"2":{"0":{"df":1,"docs":{"71":{"tf":1.0}}},"1":{"df":1,"docs":{"87":{"tf":1.0}},"​":{"+":{"df":0,"docs":{},"α":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"2":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"2":{"2":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"α":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"2":{"2":{"df":0,"docs":{},"​":{")":{"=":{"(":{"df":0,"docs":{},"x":{"2":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"2":{"2":{"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":{}},"df":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":{"105":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"123":{"tf":1.0},"130":{"tf":1.0},"134":{"tf":1.0},"27":{"tf":1.0},"71":{"tf":1.0}},"​":{"=":{"2":{"df":1,"docs":{"95":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"γ":{"c":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"2":{"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":{}},"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":1,"docs":{"85":{"tf":1.0}},"​":{")":{"=":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"x":{"2":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"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":{},"f":{"(":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{")":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"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":{}}},"3":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}}}},"∂":{"2":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}}},"3":{"1":{"df":1,"docs":{"87":{"tf":1.7320508075688772}}},"df":5,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"130":{"tf":1.0}},"​":{"=":{"3":{"df":1,"docs":{"95":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}}}}},"4":{"df":2,"docs":{"129":{"tf":1.0},"130":{"tf":1.0}}},"=":{"0":{".":{"3":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"20":{"tf":1.0}}},"2":{"df":1,"docs":{"20":{"tf":1.4142135623730951}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"x":{"+":{"b":{",":{"(":{"1":{"2":{".":{"1":{".":{"2":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"i":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}}},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"ϕ":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"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":{},"v":{"df":0,"docs":{},"n":{".":{"(":{"1":{"2":{".":{"1":{".":{"1":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"t":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}},"−":{"1":{"1":{".":{"6":{"4":{"5":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"[":{"0":{"df":1,"docs":{"29":{"tf":1.0}}},"1":{"df":1,"docs":{"29":{"tf":1.0}}},"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"[":{"df":0,"docs":{},"i":{"]":{"[":{"0":{"df":4,"docs":{"27":{"tf":1.7320508075688772},"29":{"tf":1.0},"85":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951}}},"1":{"df":4,"docs":{"27":{"tf":1.7320508075688772},"29":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0}}},"2":{"df":2,"docs":{"85":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"[":{"0":{"df":3,"docs":{"119":{"tf":2.449489742783178},"120":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951}}},"1":{"df":3,"docs":{"119":{"tf":2.449489742783178},"120":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"86":{"tf":1.0}}},"2":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"i":{"]":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"[":{"0":{"df":1,"docs":{"29":{"tf":1.0}}},"1":{"df":1,"docs":{"54":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"25":{"tf":1.0},"26":{"tf":1.4142135623730951}}}},"\\":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"b":{"df":0,"docs":{},"{":{"df":0,"docs":{},"r":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"d":{"df":0,"docs":{},"n":{"df":1,"docs":{"5":{"tf":1.0}}}},"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":{},"n":{"a":{"^":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"x":{"a":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"x":{"(":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"n":{"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"+":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"n":{"2":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"+":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"n":{"3":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{",":{"(":{"1":{"9":{".":{"1":{".":{"1":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":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":{"105":{"tf":1.0},"108":{"tf":1.0}},"i":{"df":0,"docs":{},"​":{")":{"=":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"105":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"0":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":4,"docs":{"11":{"tf":1.7320508075688772},"21":{"tf":2.6457513110645907},"22":{"tf":1.0},"53":{"tf":2.23606797749979}}},"k":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":1,"docs":{"53":{"tf":1.0}}},"n":{"df":7,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"26":{"tf":1.0},"53":{"tf":1.7320508075688772},"63":{"tf":1.0},"7":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"}":{"df":0,"docs":{},"{":{"\\":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"{":{"df":0,"docs":{},"i":{"+":{"1":{"df":2,"docs":{"53":{"tf":2.0},"59":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"53":{"tf":1.0}}},"n":{"+":{"1":{"df":4,"docs":{"11":{"tf":2.449489742783178},"53":{"tf":1.7320508075688772},"7":{"tf":1.0},"9":{"tf":1.0}},"}":{",":{"df":0,"docs":{},"v":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"_":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"1":{"df":1,"docs":{"53":{"tf":1.0}}},"b":{"df":2,"docs":{"33":{"tf":1.0},"34":{"tf":1.7320508075688772}}},"df":0,"docs":{},"i":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"l":{"df":1,"docs":{"53":{"tf":1.0}}},"n":{"[":{"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"]":{"]":{")":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"d":{"b":{"c":{"_":{"df":0,"docs":{},"v":{"[":{"df":0,"docs":{},"i":{"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":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"28":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":6,"docs":{"26":{"tf":1.7320508075688772},"28":{"tf":3.872983346207417},"35":{"tf":2.6457513110645907},"54":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.4142135623730951}},"e":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"u":{"df":1,"docs":{"34":{"tf":1.0}}},"{":{"1":{"1":{"df":2,"docs":{"32":{"tf":1.0},"38":{"tf":1.0}}},"2":{"df":2,"docs":{"32":{"tf":1.0},"38":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"2":{"1":{"df":2,"docs":{"32":{"tf":1.0},"34":{"tf":1.7320508075688772}}},"2":{"df":2,"docs":{"32":{"tf":1.0},"34":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"^":{"+":{"1":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ψ":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}}}},"−":{"1":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"112":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772}}},"d":{"df":1,"docs":{"99":{"tf":1.0}}},"df":52,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"105":{"tf":2.8284271247461903},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.7320508075688772},"123":{"tf":1.4142135623730951},"124":{"tf":1.0},"129":{"tf":1.7320508075688772},"130":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":2.0},"16":{"tf":1.0},"21":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"28":{"tf":2.0},"29":{"tf":2.8284271247461903},"32":{"tf":2.0},"33":{"tf":1.0},"34":{"tf":1.7320508075688772},"38":{"tf":1.0},"41":{"tf":1.7320508075688772},"42":{"tf":1.0},"45":{"tf":2.0},"49":{"tf":2.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":2.0},"6":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":3.1622776601683795},"70":{"tf":3.3166247903554},"71":{"tf":2.0},"72":{"tf":1.0},"78":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.7320508075688772},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.7320508075688772},"94":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"96":{"tf":1.4142135623730951},"97":{"tf":1.0}},"e":{"1":{"a":{"df":1,"docs":{"134":{"tf":1.0}}},"b":{"df":1,"docs":{"134":{"tf":1.0}}},"df":1,"docs":{"134":{"tf":1.4142135623730951}}},"2":{"a":{"df":1,"docs":{"134":{"tf":1.0}}},"b":{"df":1,"docs":{"134":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":11,"docs":{"105":{"tf":1.0},"119":{"tf":3.1622776601683795},"120":{"tf":1.7320508075688772},"125":{"tf":1.7320508075688772},"126":{"tf":2.0},"129":{"tf":1.0},"29":{"tf":1.0},"42":{"tf":1.0},"66":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.4142135623730951}},"j":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"α":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":2,"docs":{"131":{"tf":1.0},"87":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"​":{"=":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"j":{"df":2,"docs":{"131":{"tf":1.0},"87":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"​":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"γ":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"j":{"df":1,"docs":{"86":{"tf":1.7320508075688772}},"​":{"df":0,"docs":{},"∂":{"a":{"df":0,"docs":{},"i":{"df":1,"docs":{"92":{"tf":1.0}}}},"df":0,"docs":{}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"≈":{"df":0,"docs":{},"x":{"^":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"​":{"df":0,"docs":{},"​":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"∥":{"=":{"1":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"(":{"2":{"df":0,"docs":{},"m":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"(":{"df":0,"docs":{},"x":{"0":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"h":{"df":0,"docs":{},"v":{"0":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"∥":{"2":{"+":{"df":0,"docs":{},"h":{"2":{"df":0,"docs":{},"p":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{")":{".":{"(":{"8":{".":{"1":{".":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"h":{"2":{"df":0,"docs":{},"p":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{".":{"(":{"7":{".":{"2":{".":{"2":{"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":{}},"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":{},"x":{"=":{"b":{",":{"(":{"2":{".":{"2":{".":{"1":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"≥":{"0":{"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":{}}}}}},"n":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"123":{"tf":1.0}}}},"+":{"1":{"df":2,"docs":{"124":{"tf":1.4142135623730951},"53":{"tf":1.0}},"v":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"+":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"+":{"1":{",":{"=":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"+":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"−":{"1":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"+":{"1":{",":{"df":0,"docs":{},"​":{"(":{"1":{".":{"5":{".":{"1":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"n":{"+":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"−":{"1":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{",":{"df":0,"docs":{},"​":{"(":{"1":{".":{"4":{".":{"3":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"n":{"+":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"−":{"1":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"​":{"(":{"1":{".":{"4":{".":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":0,"docs":{},"":{"=":{"df":0,"docs":{},"h":{"^":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"a":{"^":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":3,"docs":{"124":{"tf":1.4142135623730951},"53":{"tf":1.0},"63":{"tf":1.0}}},"p":{"df":2,"docs":{"125":{"tf":1.0},"134":{"tf":1.0}}},"t":{"1":{"df":1,"docs":{"134":{"tf":1.0}}},"2":{"df":1,"docs":{"134":{"tf":1.0}}},"3":{"df":1,"docs":{"134":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"81":{"tf":1.0}}},"}":{"(":{"df":0,"docs":{},"x":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"d":{"df":2,"docs":{"7":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"∂":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}}}},"∈":{"df":0,"docs":{},"r":{"3":{"df":2,"docs":{"45":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}},"γ":{"c":{"df":0,"docs":{},"​":{".":{"df":0,"docs":{},"​":{"(":{"1":{"8":{".":{"5":{".":{"1":{"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":{}}},"d":{"df":1,"docs":{"103":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":1,"docs":{"103":{"tf":1.0}}}},"ω":{"0":{"df":5,"docs":{"103":{"tf":1.4142135623730951},"70":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.0}}},"df":0,"docs":{}}},"−":{"c":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"≤":{"df":0,"docs":{},"r":{"df":2,"docs":{"45":{"tf":1.0},"5":{"tf":1.0}}}}}},"df":0,"docs":{}},"⋅":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}},")":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{",":{"df":0,"docs":{},"j":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"y":{"=":{"3":{"df":1,"docs":{"38":{"tf":1.0}}},"df":0,"docs":{},"y":{"_":{"0":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"_":{"0":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"54":{"tf":3.1622776601683795}}},"df":0,"docs":{}}}}}},"i":{"df":1,"docs":{"45":{"tf":1.0}}},"j":{"df":1,"docs":{"45":{"tf":1.0}}}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"142":{"tf":1.0}}}}},"df":4,"docs":{"38":{"tf":1.4142135623730951},"41":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"45":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"r":{"=":{"df":0,"docs":{},"{":{"2":{"0":{"2":{"4":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":3,"docs":{"27":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":1,"docs":{"142":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"'":{"df":5,"docs":{"101":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"o":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"z":{"df":1,"docs":{"38":{"tf":1.0}}}},"z":{"a":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"95":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":19,"docs":{"101":{"tf":1.0},"134":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.7320508075688772},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"27":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"48":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"82":{"tf":1.7320508075688772},"96":{"tf":1.0},"97":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"u":{"df":1,"docs":{"142":{"tf":1.0}}}},"i":{"df":0,"docs":{},"p":{"(":{"*":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"35":{"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":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"z":{"=":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"z":{"df":0,"docs":{},"t":{"b":{")":{"2":{"d":{"df":0,"docs":{},"x":{"df":0,"docs":{},"≥":{"0":{"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":{}}}}}}},"breadcrumbs":{"root":{"0":{",":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"1":{",":{"2":{",":{"\\":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"]":{",":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"105":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"129":{"tf":1.0},"21":{"tf":1.0},"53":{"tf":1.0}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":2.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"α":{"df":0,"docs":{},"j":{"df":0,"docs":{},"k":{"c":{"df":0,"docs":{},"​":{")":{".":{"(":{"8":{".":{"2":{".":{"1":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"⊂":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}}}}},"−":{"0":{".":{"5":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},".":{"0":{"0":{"4":{"df":1,"docs":{"29":{"tf":1.0}}},"5":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"1":{"df":3,"docs":{"117":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0}}},"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":13,"docs":{"118":{"tf":1.4142135623730951},"131":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"35":{"tf":1.7320508075688772},"54":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"67":{"tf":2.23606797749979},"85":{"tf":1.4142135623730951},"86":{"tf":3.1622776601683795}}},"1":{"1":{"df":2,"docs":{"63":{"tf":2.0},"87":{"tf":1.0}}},"df":4,"docs":{"117":{"tf":1.0},"120":{"tf":1.4142135623730951},"29":{"tf":1.0},"63":{"tf":1.7320508075688772}},"x":{"df":2,"docs":{"120":{"tf":1.0},"87":{"tf":1.0}}}},"2":{"df":1,"docs":{"63":{"tf":1.7320508075688772}}},"4":{"5":{"df":1,"docs":{"117":{"tf":1.0}}},"df":4,"docs":{"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"126":{"tf":1.0},"85":{"tf":1.0}}},"5":{"df":8,"docs":{"117":{"tf":1.0},"119":{"tf":1.7320508075688772},"125":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"67":{"tf":1.4142135623730951},"85":{"tf":1.0}}},"6":{"df":1,"docs":{"67":{"tf":1.7320508075688772}}},"7":{"df":1,"docs":{"117":{"tf":1.0}}},"8":{"df":1,"docs":{"131":{"tf":1.0}}},"9":{"\\":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"54":{"tf":1.0}}}}}}},"df":4,"docs":{"54":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"0":{"df":0,"docs":{},"​":{"0":{"0":{"df":0,"docs":{},"​":{"1":{"0":{"df":0,"docs":{},"​":{"0":{"1":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"[":{"1":{"2":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":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":{"106":{"tf":1.0},"107":{"tf":1.0},"118":{"tf":2.0},"120":{"tf":1.7320508075688772},"125":{"tf":1.0},"126":{"tf":1.0},"131":{"tf":2.8284271247461903},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":2.6457513110645907},"21":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951},"27":{"tf":2.0},"28":{"tf":1.0},"29":{"tf":2.23606797749979},"33":{"tf":1.0},"34":{"tf":2.23606797749979},"35":{"tf":1.0},"38":{"tf":1.0},"45":{"tf":1.4142135623730951},"49":{"tf":2.23606797749979},"52":{"tf":2.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.23606797749979},"58":{"tf":1.4142135623730951},"62":{"tf":3.0},"63":{"tf":3.0},"67":{"tf":2.6457513110645907},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"85":{"tf":2.449489742783178},"86":{"tf":6.708203932499369},"87":{"tf":3.1622776601683795},"90":{"tf":1.7320508075688772},"92":{"tf":1.4142135623730951},"93":{"tf":1.0}},"​":{"1":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"3":{"df":1,"docs":{"38":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{"b":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"x":{"df":1,"docs":{"95":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"a":{"^":{",":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"^":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"d":{"df":0,"docs":{},"x":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{")":{"d":{"df":0,"docs":{},"x":{"=":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"a":{"^":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{")":{"df":0,"docs":{},"i":{"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":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":{}}}},"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"^":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{")":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{")":{"(":{"2":{"0":{".":{"1":{"df":1,"docs":{"109":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"99":{"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":{}}}},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"q":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"⋅":{"a":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"d":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"q":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"⋅":{"(":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{")":{"d":{"df":0,"docs":{},"x":{"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":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{")":{"d":{"df":0,"docs":{},"x":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"1":{",":{"2":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},".":{"0":{".":{"0":{"df":1,"docs":{"2":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":7,"docs":{"117":{"tf":1.4142135623730951},"118":{"tf":1.0},"131":{"tf":2.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"67":{"tf":2.23606797749979},"86":{"tf":1.4142135623730951}}},"1":{".":{"1":{"df":1,"docs":{"5":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"117":{"tf":1.0}}},"2":{".":{"1":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":3,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"7":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"29":{"tf":1.0}}},"5":{".":{"1":{"df":4,"docs":{"11":{"tf":1.7320508075688772},"20":{"tf":1.0},"21":{"tf":1.0},"89":{"tf":1.0}}},"2":{"df":2,"docs":{"11":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"/":{"2":{"df":1,"docs":{"134":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"0":{",":{"2":{"0":{"1":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"1":{".":{"1":{"df":1,"docs":{"62":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"62":{"tf":1.0}}},"3":{"df":1,"docs":{"62":{"tf":1.0}}},"4":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":1,"docs":{"63":{"tf":2.449489742783178}}},"2":{"df":1,"docs":{"63":{"tf":1.0}}},"3":{"df":1,"docs":{"63":{"tf":1.0}}},"4":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"df":2,"docs":{"117":{"tf":1.0},"29":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"1":{"0":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"6":{"df":1,"docs":{"66":{"tf":1.0}}},"df":2,"docs":{"52":{"tf":1.0},"67":{"tf":1.4142135623730951}},"−":{"6":{"df":2,"docs":{"131":{"tf":1.0},"82":{"tf":1.0}}},"df":0,"docs":{}}},"1":{".":{"1":{".":{"1":{"df":2,"docs":{"66":{"tf":1.0},"67":{"tf":1.0}}},"2":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"0":{"df":1,"docs":{"67":{"tf":1.0}}},"1":{"df":1,"docs":{"67":{"tf":1.0}}},"df":1,"docs":{"67":{"tf":2.0}}},"2":{"df":1,"docs":{"67":{"tf":1.0}}},"3":{"df":1,"docs":{"67":{"tf":1.0}}},"4":{"df":1,"docs":{"67":{"tf":1.0}}},"5":{"df":1,"docs":{"67":{"tf":1.0}}},"6":{"df":1,"docs":{"67":{"tf":1.0}}},"7":{"df":1,"docs":{"67":{"tf":1.0}}},"8":{"df":1,"docs":{"67":{"tf":1.0}}},"9":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"81":{"tf":1.0}}},"2":{".":{"1":{".":{"1":{"df":2,"docs":{"70":{"tf":1.7320508075688772},"71":{"tf":1.0}}},"2":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":2,"docs":{"71":{"tf":2.0},"85":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{".":{"1":{"df":2,"docs":{"74":{"tf":1.4142135623730951},"75":{"tf":1.0}}},"2":{"df":3,"docs":{"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"80":{"tf":1.0}}},"3":{"df":1,"docs":{"74":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"74":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"74":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":1,"docs":{"75":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"76":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{".":{"1":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":1,"docs":{"80":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{".":{"1":{".":{"1":{"df":2,"docs":{"107":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"85":{"tf":1.0}}},"3":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":1,"docs":{"86":{"tf":1.0}}},"2":{"df":1,"docs":{"86":{"tf":1.0}}},"3":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"87":{"tf":2.0}}},"2":{"df":1,"docs":{"87":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{".":{"1":{".":{"1":{"df":1,"docs":{"90":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"90":{"tf":1.0}}},"3":{"df":1,"docs":{"90":{"tf":1.0}}},"4":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"89":{"tf":1.0}}},"2":{".":{"1":{"df":1,"docs":{"91":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"91":{"tf":1.0}}},"3":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"92":{"tf":2.0}}},"3":{"df":1,"docs":{"92":{"tf":1.0}}},"4":{"df":1,"docs":{"92":{"tf":1.0}}},"6":{"df":2,"docs":{"94":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"27":{"tf":2.0}}},"7":{".":{"1":{".":{"1":{"df":2,"docs":{"105":{"tf":1.4142135623730951},"95":{"tf":2.23606797749979}}},"2":{"df":1,"docs":{"95":{"tf":1.0}}},"3":{"df":2,"docs":{"95":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"95":{"tf":1.4142135623730951}}},"2":{".":{"1":{"df":2,"docs":{"105":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"117":{"tf":1.0}}},"8":{".":{"1":{".":{"1":{"df":1,"docs":{"99":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":2,"docs":{"100":{"tf":1.0},"101":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"101":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"101":{"tf":1.0}}},"3":{"df":1,"docs":{"101":{"tf":1.0}}},"4":{"df":1,"docs":{"101":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"134":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"2":{"df":1,"docs":{"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{".":{"1":{".":{"1":{"df":1,"docs":{"105":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":3,"docs":{"104":{"tf":1.0},"107":{"tf":1.0},"115":{"tf":1.0}}},"3":{".":{"1":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"]":{")":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":1,"docs":{"24":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"d":{"df":4,"docs":{"131":{"tf":1.0},"57":{"tf":1.0},"87":{"tf":1.0},"95":{"tf":1.4142135623730951}}},"df":38,"docs":{"101":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"117":{"tf":1.7320508075688772},"118":{"tf":2.6457513110645907},"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"125":{"tf":1.7320508075688772},"126":{"tf":2.449489742783178},"129":{"tf":1.0},"131":{"tf":1.7320508075688772},"140":{"tf":1.0},"15":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"25":{"tf":4.47213595499958},"27":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"29":{"tf":2.8284271247461903},"32":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951},"35":{"tf":2.23606797749979},"4":{"tf":1.4142135623730951},"40":{"tf":1.0},"45":{"tf":1.7320508075688772},"47":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":2.23606797749979},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"67":{"tf":4.0},"81":{"tf":1.4142135623730951},"82":{"tf":2.23606797749979},"85":{"tf":5.196152422706632},"86":{"tf":6.48074069840786},"87":{"tf":2.23606797749979}},"e":{"5":{"df":5,"docs":{"117":{"tf":1.0},"29":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"85":{"tf":1.0}}},"df":4,"docs":{"29":{"tf":1.0},"63":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0}}},"}":{"\\":{"df":0,"docs":{},"n":{"df":1,"docs":{"29":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"​":{"+":{"df":0,"docs":{},"β":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"≤":{"1":{"df":1,"docs":{"134":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"0":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"⊂":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ω":{"0":{"df":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}}}}},"−":{"df":0,"docs":{},"β":{")":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"+":{"df":0,"docs":{},"β":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"+":{"1":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"λ":{")":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"≤":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":0,"docs":{},"≤":{"d":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"2":{"(":{"1":{"+":{"df":0,"docs":{},"ν":{")":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"λ":{"=":{"(":{"1":{"+":{"df":0,"docs":{},"ν":{")":{"(":{"1":{"df":0,"docs":{},"−":{"2":{"df":0,"docs":{},"ν":{")":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"o":{"c":{"df":0,"docs":{},"s":{"df":0,"docs":{},"r":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"^":{"(":{"df":0,"docs":{},"j":{"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"0":{"df":3,"docs":{"118":{"tf":3.1622776601683795},"131":{"tf":2.0},"63":{"tf":1.0}}},"1":{".":{"1":{"df":3,"docs":{"14":{"tf":1.4142135623730951},"20":{"tf":1.0},"89":{"tf":1.0}}},"2":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":1,"docs":{"15":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":4,"docs":{"16":{"tf":2.0},"17":{"tf":1.0},"48":{"tf":1.0},"66":{"tf":1.0}}},"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{",":{"0":{"0":{"0":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{"0":{"2":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"1":{".":{"1":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"113":{"tf":1.0}}},"2":{".":{"1":{"df":1,"docs":{"113":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"113":{"tf":1.0}}},"3":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"4":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"82":{"tf":1.0}}},"8":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"89":{"tf":1.0}}},"df":1,"docs":{"29":{"tf":1.0}}},"1":{"2":{"df":4,"docs":{"142":{"tf":1.4142135623730951},"76":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.4142135623730951}}},"5":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"81":{"tf":1.0}}},"6":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"5":{"tf":1.0}}},"8":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"76":{"tf":1.0}}},"df":0,"docs":{}},"2":{"0":{"df":3,"docs":{"134":{"tf":1.0},"142":{"tf":1.4142135623730951},"58":{"tf":1.0}}},"1":{"df":2,"docs":{"120":{"tf":1.0},"142":{"tf":1.4142135623730951}}},"2":{"df":4,"docs":{"142":{"tf":2.449489742783178},"41":{"tf":1.0},"79":{"tf":1.0},"81":{"tf":1.0}}},"3":{"df":2,"docs":{"114":{"tf":1.0},"142":{"tf":1.4142135623730951}}},"4":{"/":{"5":{"df":1,"docs":{"2":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{".":{"1":{".":{"1":{"df":1,"docs":{"117":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":2,"docs":{"118":{"tf":1.4142135623730951},"134":{"tf":1.0}}},"2":{"df":1,"docs":{"118":{"tf":1.0}}},"3":{"df":1,"docs":{"118":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":2,"docs":{"119":{"tf":1.0},"124":{"tf":1.0}}},"2":{"df":1,"docs":{"119":{"tf":1.0}}},"3":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"df":1,"docs":{"120":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"120":{"tf":1.0}}},"3":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"101":{"tf":1.4142135623730951},"113":{"tf":1.0},"123":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"f":{"+":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"i":{"df":1,"docs":{"74":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"2":{".":{"2":{".":{"1":{"df":2,"docs":{"124":{"tf":1.0},"125":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"125":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"126":{"tf":2.0}}},"2":{"df":1,"docs":{"126":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"126":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"3":{".":{"1":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"81":{"tf":1.0}}},"4":{".":{"1":{".":{"1":{"df":2,"docs":{"134":{"tf":1.7320508075688772},"140":{"tf":1.0}}},"2":{"df":2,"docs":{"134":{"tf":1.0},"140":{"tf":1.0}}},"3":{"df":1,"docs":{"134":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{"5":{"df":3,"docs":{"29":{"tf":2.0},"62":{"tf":1.0},"85":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"6":{"df":1,"docs":{"117":{"tf":1.0}}},"7":{"df":2,"docs":{"117":{"tf":1.0},"131":{"tf":1.0}}},"8":{"df":1,"docs":{"117":{"tf":1.0}}},"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"35":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"d":{"df":47,"docs":{"104":{"tf":1.0},"105":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":2.0},"117":{"tf":1.4142135623730951},"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"120":{"tf":1.4142135623730951},"121":{"tf":1.4142135623730951},"122":{"tf":2.449489742783178},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.7320508075688772},"128":{"tf":1.4142135623730951},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.7320508075688772},"132":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":2.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":2.0},"30":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"5":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.4142135623730951},"73":{"tf":1.0},"82":{"tf":1.4142135623730951},"85":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0}}},"df":31,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":1.7320508075688772},"118":{"tf":2.23606797749979},"119":{"tf":3.0},"125":{"tf":1.4142135623730951},"126":{"tf":2.0},"13":{"tf":1.4142135623730951},"140":{"tf":1.0},"25":{"tf":1.7320508075688772},"26":{"tf":3.0},"27":{"tf":4.0},"28":{"tf":2.0},"29":{"tf":1.7320508075688772},"32":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":2.449489742783178},"45":{"tf":1.4142135623730951},"5":{"tf":1.0},"54":{"tf":2.449489742783178},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":2.6457513110645907},"63":{"tf":2.23606797749979},"66":{"tf":1.0},"67":{"tf":4.47213595499958},"81":{"tf":1.4142135623730951},"85":{"tf":2.0},"86":{"tf":4.898979485566356},"87":{"tf":1.4142135623730951}},"n":{"d":{"df":3,"docs":{"106":{"tf":1.0},"119":{"tf":1.0},"69":{"tf":1.0}}},"df":0,"docs":{}},"x":{"df":1,"docs":{"32":{"tf":1.0}}},"×":{"2":{"df":2,"docs":{"71":{"tf":1.0},"82":{"tf":1.0}}},"df":0,"docs":{}},"κ":{"df":0,"docs":{},"m":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"^":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"2":{".":{"(":{"1":{"1":{".":{"1":{".":{"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":{}}}}}}}}}}}}}},"​":{"3":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"4":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"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":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}}}}}},"3":{".":{"0":{"df":3,"docs":{"131":{"tf":2.23606797749979},"62":{"tf":2.0},"63":{"tf":1.4142135623730951}}},"1":{".":{"1":{"df":1,"docs":{"20":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":2,"docs":{"21":{"tf":2.0},"53":{"tf":1.0}}},"2":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":3,"docs":{"22":{"tf":2.6457513110645907},"28":{"tf":1.4142135623730951},"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"6":{"df":1,"docs":{"86":{"tf":2.0}}},"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"d":{"df":25,"docs":{"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":2.449489742783178},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.7320508075688772},"133":{"tf":2.449489742783178},"134":{"tf":2.23606797749979},"135":{"tf":1.4142135623730951},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.4142135623730951},"139":{"tf":1.0},"140":{"tf":2.0},"141":{"tf":2.0},"142":{"tf":1.0},"29":{"tf":1.0},"42":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"5":{"tf":2.0},"69":{"tf":1.0},"71":{"tf":1.4142135623730951},"82":{"tf":1.0}}},"df":16,"docs":{"117":{"tf":1.7320508075688772},"118":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"120":{"tf":1.0},"126":{"tf":1.4142135623730951},"128":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"38":{"tf":1.0},"5":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":3.1622776601683795}},"r":{"d":{"df":1,"docs":{"106":{"tf":1.0}}},"df":0,"docs":{}},"x":{"+":{"4":{"df":0,"docs":{},"y":{"=":{"2":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"y":{"df":1,"docs":{"32":{"tf":1.0}}},"×":{"2":{"df":1,"docs":{"71":{"tf":1.0}}},"3":{"df":2,"docs":{"71":{"tf":1.0},"82":{"tf":1.0}},"×":{"3":{"df":0,"docs":{},"×":{"3":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"δ":{"df":0,"docs":{},"x":{"1":{"1":{"df":0,"docs":{},"​":{"+":{"4":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"1":{"2":{"df":0,"docs":{},"​":{"=":{"0":{"df":1,"docs":{"42":{"tf":1.0}}},"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":{},"​":{"0":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"1":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"2":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"2":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"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":{")":{")":{"[":{"0":{"df":1,"docs":{"118":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"0":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"1":{".":{"1":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"5":{".":{"1":{"df":1,"docs":{"29":{"tf":2.0}}},"2":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"61":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":11,"docs":{"118":{"tf":1.4142135623730951},"130":{"tf":1.0},"21":{"tf":1.0},"25":{"tf":1.4142135623730951},"27":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"59":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":2.0},"87":{"tf":1.0}},"}":{"df":0,"docs":{},"m":{"df":1,"docs":{"52":{"tf":1.0}}}},"×":{"4":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}}},"5":{".":{"1":{".":{"1":{"df":2,"docs":{"32":{"tf":2.23606797749979},"34":{"tf":1.0}}},"2":{"df":3,"docs":{"32":{"tf":1.7320508075688772},"38":{"tf":1.0},"42":{"tf":1.4142135623730951}}},"3":{"df":4,"docs":{"33":{"tf":1.7320508075688772},"34":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":2,"docs":{"33":{"tf":1.0},"34":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"33":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"35":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"35":{"tf":1.0}}},"3":{"df":1,"docs":{"35":{"tf":1.0}}},"4":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"\\":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"6":{")":{")":{"[":{"0":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},".":{"1":{".":{"1":{"df":1,"docs":{"38":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":2,"docs":{"40":{"tf":1.0},"41":{"tf":1.0}}},"3":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"df":0,"docs":{},"±":{"3":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"84":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":4,"docs":{"118":{"tf":1.0},"22":{"tf":1.4142135623730951},"86":{"tf":2.0},"87":{"tf":1.4142135623730951}}},"7":{".":{"1":{".":{"1":{"df":4,"docs":{"45":{"tf":2.23606797749979},"54":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0}}},"2":{"df":1,"docs":{"45":{"tf":1.0}}},"3":{"df":2,"docs":{"45":{"tf":1.0},"55":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":4,"docs":{"101":{"tf":1.0},"48":{"tf":2.0},"49":{"tf":1.7320508075688772},"53":{"tf":1.0}}},"2":{"df":2,"docs":{"49":{"tf":1.4142135623730951},"53":{"tf":1.0}}},"3":{"df":1,"docs":{"101":{"tf":1.0}}},"4":{"df":1,"docs":{"54":{"tf":1.0}}},"5":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"49":{"tf":1.0}}},"2":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{".":{"1":{"df":1,"docs":{"50":{"tf":1.0}}},"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":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"116":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":1,"docs":{"81":{"tf":1.0}}},"8":{".":{"1":{".":{"1":{"df":2,"docs":{"52":{"tf":2.23606797749979},"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":2,"docs":{"53":{"tf":2.449489742783178},"54":{"tf":1.0}}},"2":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":2,"docs":{"54":{"tf":2.0},"62":{"tf":1.0}}},"2":{"df":1,"docs":{"54":{"tf":1.0}}},"3":{"df":1,"docs":{"54":{"tf":1.0}}},"4":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"df":1,"docs":{"131":{"tf":1.0}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"122":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":2,"docs":{"119":{"tf":2.6457513110645907},"125":{"tf":1.4142135623730951}}},"9":{".":{"1":{".":{"1":{"df":1,"docs":{"57":{"tf":1.7320508075688772}}},"2":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{".":{"1":{"df":3,"docs":{"123":{"tf":1.0},"58":{"tf":1.4142135623730951},"63":{"tf":1.0}}},"2":{"df":2,"docs":{"58":{"tf":1.0},"63":{"tf":1.0}}},"3":{"df":2,"docs":{"58":{"tf":1.0},"63":{"tf":1.0}}},"4":{"df":2,"docs":{"58":{"tf":1.0},"63":{"tf":1.0}}},"5":{"df":1,"docs":{"63":{"tf":1.0}}},"6":{"df":1,"docs":{"63":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"df":1,"docs":{"59":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"df":0,"docs":{}},"8":{"1":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{"0":{"df":1,"docs":{"29":{"tf":1.0}}},"df":2,"docs":{"87":{"tf":1.0},"88":{"tf":1.0}}},"df":2,"docs":{"131":{"tf":1.0},"82":{"tf":1.0}},"×":{"9":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"_":{"0":{"0":{"0":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"1":{"0":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"0":{"1":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"1":{"1":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{"0":{"0":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"1":{"0":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{"0":{"1":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"1":{"1":{"df":1,"docs":{"86":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"120":{"tf":1.0}}},"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"120":{"tf":1.0}}},"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"m":{"^":{"2":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"'":{"df":1,"docs":{"136":{"tf":1.0}}},"(":{"df":0,"docs":{},"x":{"+":{"df":0,"docs":{},"α":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{")":{"=":{"b":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"t":{"2":{"df":0,"docs":{},"∂":{"2":{"df":0,"docs":{},"x":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"ϕ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"v":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{".":{"(":{"1":{"2":{".":{"1":{".":{"4":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"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":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"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":{},"t":{")":{":":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"3":{"df":0,"docs":{},"×":{"3":{",":{"b":{"1":{"2":{"2":{"df":0,"docs":{},"×":{"2":{"df":0,"docs":{},"​":{",":{"b":{"1":{"3":{"2":{"df":0,"docs":{},"×":{"2":{"df":0,"docs":{},"​":{",":{"b":{"2":{"3":{"2":{"df":0,"docs":{},"×":{"2":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{},"→":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"=":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"q":{"df":0,"docs":{},"−":{"1":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"41":{"tf":1.0}}}}}},"∂":{"df":0,"docs":{},"t":{"2":{"df":0,"docs":{},"∂":{"2":{"df":0,"docs":{},"x":{"df":1,"docs":{"94":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"\\":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}}}}},"^":{"'":{"df":1,"docs":{"134":{"tf":1.0}}},"d":{"+":{"df":0,"docs":{},"i":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":2,"docs":{"33":{"tf":1.4142135623730951},"40":{"tf":1.0}}}},"_":{"df":0,"docs":{},"i":{"df":2,"docs":{"48":{"tf":1.7320508075688772},"49":{"tf":1.0}}}},"a":{"^":{"df":0,"docs":{},"t":{"df":2,"docs":{"33":{"tf":1.0},"40":{"tf":1.4142135623730951}}},"​":{"=":{"2":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"−":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"+":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"a":{"^":{"+":{"1":{"df":2,"docs":{"119":{"tf":1.0},"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"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":{},"−":{"1":{"a":{"df":0,"docs":{},"h":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"(":{"a":{"a":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"−":{"1":{"a":{"df":0,"docs":{},"g":{".":{"(":{"6":{".":{"2":{".":{"1":{"df":1,"docs":{"40":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"o":{"df":0,"docs":{},"v":{"df":15,"docs":{"101":{"tf":1.0},"125":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"70":{"tf":1.0},"81":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"s":{"(":{"a":{"df":2,"docs":{"131":{"tf":1.0},"87":{"tf":1.0}}},"b":{"df":1,"docs":{"87":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"131":{"tf":1.0}}},"2":{"df":1,"docs":{"131":{"tf":1.0}}},"3":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"4":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"∣":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"95":{"tf":1.0}}}}}},"c":{"c":{"d":{"df":3,"docs":{"120":{"tf":1.7320508075688772},"121":{"tf":1.7320508075688772},"138":{"tf":1.7320508075688772}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"14":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"70":{"tf":2.0},"89":{"tf":1.0},"91":{"tf":1.0},"97":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"0":{"tf":1.0},"45":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":4,"docs":{"132":{"tf":1.0},"5":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0}}},"df":0,"docs":{}}},"p":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"r":{"d":{"df":5,"docs":{"124":{"tf":1.0},"40":{"tf":1.0},"63":{"tf":1.4142135623730951},"67":{"tf":1.0},"84":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"35":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"133":{"tf":1.0},"134":{"tf":1.0},"140":{"tf":1.0},"69":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"120":{"tf":1.0},"121":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"i":{"df":7,"docs":{"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"49":{"tf":2.0},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"52":{"tf":1.0},"59":{"tf":1.0}}}},"df":0,"docs":{}},"df":16,"docs":{"105":{"tf":1.0},"11":{"tf":1.0},"111":{"tf":1.0},"16":{"tf":2.23606797749979},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"29":{"tf":1.0},"31":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.4142135623730951},"6":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0},"98":{"tf":1.0}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":17,"docs":{"101":{"tf":1.0},"12":{"tf":1.0},"120":{"tf":1.0},"141":{"tf":1.0},"23":{"tf":1.0},"26":{"tf":1.0},"29":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"t":{"df":7,"docs":{"100":{"tf":1.0},"14":{"tf":1.0},"33":{"tf":1.0},"5":{"tf":1.0},"77":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"v":{"df":6,"docs":{"139":{"tf":1.0},"16":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951},"52":{"tf":1.0},"57":{"tf":1.0},"64":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":7,"docs":{"11":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.4142135623730951},"26":{"tf":1.0},"33":{"tf":1.0},"48":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":7,"docs":{"11":{"tf":1.0},"117":{"tf":1.0},"138":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"92":{"tf":1.0}}}}},"d":{"df":7,"docs":{"112":{"tf":1.0},"117":{"tf":1.4142135623730951},"126":{"tf":1.0},"16":{"tf":1.0},"27":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":15,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"127":{"tf":1.0},"132":{"tf":1.0},"141":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"49":{"tf":1.0},"57":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"81":{"tf":1.4142135623730951},"87":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":9,"docs":{"101":{"tf":1.0},"11":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"128":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.0},"55":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":20,"docs":{"131":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0},"37":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"95":{"tf":1.0}}}}}}},"df":7,"docs":{"122":{"tf":1.0},"14":{"tf":1.0},"32":{"tf":1.0},"35":{"tf":1.4142135623730951},"57":{"tf":1.0},"67":{"tf":1.0},"87":{"tf":1.0}},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"10":{"tf":1.0},"16":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"49":{"tf":1.0}}}}},"j":{"a":{"c":{"df":2,"docs":{"134":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":7,"docs":{"140":{"tf":1.0},"34":{"tf":1.7320508075688772},"49":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"132":{"tf":1.0},"17":{"tf":1.0},"37":{"tf":1.0},"88":{"tf":1.0}}}}},"v":{"a":{"df":0,"docs":{},"n":{"c":{"df":5,"docs":{"120":{"tf":1.0},"121":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"g":{"df":9,"docs":{"105":{"tf":1.0},"113":{"tf":1.0},"12":{"tf":1.0},"134":{"tf":1.0},"18":{"tf":1.0},"28":{"tf":1.0},"38":{"tf":1.0},"5":{"tf":1.0},"92":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"20":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"106":{"tf":1.0}}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}},"df":0,"docs":{}}}},"g":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"107":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.0},"88":{"tf":1.0}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"123":{"tf":1.0},"134":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"​":{"a":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"]":{"[":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"]":{"=":{"[":{"df":0,"docs":{},"−":{"a":{"df":0,"docs":{},"g":{"0":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"−":{"a":{"df":0,"docs":{},"g":{".":{"(":{"5":{".":{"2":{".":{"1":{"df":1,"docs":{"33":{"tf":1.0}}},"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":{},"j":{"df":1,"docs":{"92":{"tf":1.0}}}},"d":{"df":2,"docs":{"14":{"tf":1.0},"5":{"tf":1.0}}},"df":1,"docs":{"92":{"tf":1.0}},"m":{"df":5,"docs":{"18":{"tf":1.0},"4":{"tf":1.4142135623730951},"47":{"tf":1.0},"70":{"tf":1.0},"89":{"tf":1.0}}},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"≈":{"b":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"a":{"b":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"b":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"a":{"b":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{".":{"(":{"1":{"7":{".":{"1":{".":{"1":{"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":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"j":{"df":1,"docs":{"134":{"tf":1.4142135623730951}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":5,"docs":{"22":{"tf":1.0},"27":{"tf":1.0},"48":{"tf":1.0},"67":{"tf":1.0},"79":{"tf":1.0}}}}},"l":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}}}},"df":11,"docs":{"114":{"tf":1.0},"120":{"tf":1.0},"134":{"tf":1.0},"142":{"tf":3.0},"41":{"tf":1.0},"5":{"tf":1.0},"58":{"tf":1.0},"76":{"tf":1.4142135623730951},"79":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}},"g":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"r":{"a":{"df":3,"docs":{"25":{"tf":1.0},"29":{"tf":1.0},"4":{"tf":1.0}}},"df":0,"docs":{}}},"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":13,"docs":{"0":{"tf":1.0},"11":{"tf":1.4142135623730951},"120":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":2.0},"22":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"5":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.449489742783178},"59":{"tf":2.23606797749979},"75":{"tf":1.4142135623730951}}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":9,"docs":{"108":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":2.6457513110645907},"40":{"tf":1.0},"43":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.4142135623730951}}}}},"l":{"df":0,"docs":{},"o":{"c":{"df":2,"docs":{"26":{"tf":1.0},"29":{"tf":1.0}}},"df":0,"docs":{},"w":{"df":27,"docs":{"101":{"tf":1.0},"107":{"tf":1.0},"113":{"tf":1.0},"137":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.7320508075688772},"51":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"5":{"tf":1.0},"50":{"tf":1.0}},"g":{"df":11,"docs":{"120":{"tf":1.0},"121":{"tf":1.0},"15":{"tf":1.0},"25":{"tf":1.0},"38":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"85":{"tf":1.0},"95":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"h":{"a":{",":{"\\":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"\\":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{}},"^":{"c":{"_":{"df":0,"docs":{},"{":{"df":0,"docs":{},"j":{"df":0,"docs":{},"k":{"df":1,"docs":{"53":{"tf":2.23606797749979}}}}}},"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"_":{"c":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":10,"docs":{"120":{"tf":2.0},"21":{"tf":3.0},"28":{"tf":2.23606797749979},"32":{"tf":1.4142135623730951},"45":{"tf":1.0},"53":{"tf":2.8284271247461903},"54":{"tf":3.1622776601683795},"62":{"tf":1.7320508075688772},"67":{"tf":1.0},"87":{"tf":2.23606797749979}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"d":{"df":0,"docs":{},"i":{"df":9,"docs":{"114":{"tf":1.0},"22":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"59":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"10":{"tf":1.0},"131":{"tf":1.0},"53":{"tf":1.4142135623730951},"74":{"tf":1.0},"80":{"tf":1.0}},"n":{"df":6,"docs":{"29":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":5,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"120":{"tf":1.0},"37":{"tf":1.0},"53":{"tf":1.4142135623730951}}}}}}}},"w":{"a":{"df":0,"docs":{},"y":{"df":7,"docs":{"134":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":2.0},"22":{"tf":1.0},"53":{"tf":1.4142135623730951},"7":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"120":{"tf":1.0},"74":{"tf":1.0},"90":{"tf":1.0}}}}}},"p":{"df":1,"docs":{"142":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}},"n":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"2":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"−":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":0,"docs":{},"−":{"1":{"(":{"df":0,"docs":{},"x":{")":{"+":{"df":0,"docs":{},"h":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"df":0,"docs":{},"−":{"1":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"96":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":9,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"107":{"tf":1.0},"119":{"tf":1.0},"130":{"tf":1.0},"27":{"tf":1.0},"59":{"tf":1.0},"7":{"tf":1.0},"95":{"tf":1.0}}}},"y":{"df":0,"docs":{},"s":{"df":1,"docs":{"92":{"tf":1.0}},"i":{"df":2,"docs":{"4":{"tf":1.0},"92":{"tf":1.0}}}},"t":{"df":5,"docs":{"115":{"tf":1.0},"134":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.4142135623730951},"95":{"tf":1.0}}},"z":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"d":{"/":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"74":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":2,"docs":{"63":{"tf":1.0},"82":{"tf":1.0}}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"7":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"74":{"tf":1.4142135623730951},"80":{"tf":1.0}}}}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"105":{"tf":1.0},"137":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"5":{"tf":1.0},"75":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"4":{"tf":1.0}}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.0},"29":{"tf":1.0}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"10":{"tf":1.0}}},"r":{"df":3,"docs":{"4":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"c":{"df":16,"docs":{"11":{"tf":1.0},"138":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"75":{"tf":1.0},"83":{"tf":1.0},"93":{"tf":1.0}}},"df":43,"docs":{"107":{"tf":1.0},"11":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.4142135623730951},"34":{"tf":1.0},"38":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.7320508075688772},"47":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"6":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"68":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"96":{"tf":1.4142135623730951},"97":{"tf":1.0}}}},"r":{"df":0,"docs":{},"o":{"a":{"c":{"df":0,"docs":{},"h":{"df":45,"docs":{"101":{"tf":1.4142135623730951},"102":{"tf":1.0},"11":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"132":{"tf":1.0},"136":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":2.449489742783178},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.7320508075688772},"4":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"5":{"tf":2.449489742783178},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.4142135623730951},"69":{"tf":1.0},"7":{"tf":1.4142135623730951},"73":{"tf":1.0},"76":{"tf":1.0},"79":{"tf":1.0},"84":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"51":{"tf":1.0},"66":{"tf":1.0},"95":{"tf":1.0}}}}},"x":{"df":1,"docs":{"11":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"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":{"115":{"tf":1.0}}}}}}}}}}}}},"df":33,"docs":{"100":{"tf":1.0},"101":{"tf":1.7320508075688772},"103":{"tf":1.0},"105":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772},"114":{"tf":2.0},"115":{"tf":1.7320508075688772},"122":{"tf":1.0},"123":{"tf":3.0},"127":{"tf":1.4142135623730951},"129":{"tf":1.0},"134":{"tf":2.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":2.6457513110645907},"32":{"tf":1.0},"45":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"5":{"tf":1.0},"53":{"tf":2.0},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.4142135623730951},"60":{"tf":1.0},"69":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951},"95":{"tf":2.23606797749979},"96":{"tf":1.0},"97":{"tf":1.0}}}}}}}}},"q":{"_":{"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"p":{"df":2,"docs":{"76":{"tf":1.4142135623730951},"79":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}}}},"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":16,"docs":{"101":{"tf":1.0},"105":{"tf":1.7320508075688772},"129":{"tf":1.0},"28":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"61":{"tf":1.0},"64":{"tf":1.0},"82":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"101":{"tf":1.0},"49":{"tf":1.0},"59":{"tf":1.0},"76":{"tf":1.0},"87":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"a":{"df":12,"docs":{"102":{"tf":1.4142135623730951},"106":{"tf":1.0},"119":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"5":{"tf":1.0},"54":{"tf":1.7320508075688772},"71":{"tf":1.0},"87":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.0}}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"15":{"tf":1.0},"40":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"90":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"80":{"tf":1.0},"81":{"tf":1.0}}}}}}},"x":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"(":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"+":{"df":0,"docs":{},"h":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"m":{"2":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"h":{"2":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"β":{"df":0,"docs":{},"t":{"df":0,"docs":{},"v":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"β":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"≤":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"k":{"df":1,"docs":{"57":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"s":{"df":8,"docs":{"100":{"tf":1.0},"18":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"56":{"tf":1.0},"91":{"tf":1.0}}}},"m":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"'":{"df":1,"docs":{"15":{"tf":1.0}}},"df":2,"docs":{"14":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"101":{"tf":1.0},"113":{"tf":1.0},"134":{"tf":1.0},"4":{"tf":1.0},"53":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"85":{"tf":1.0}}}},"y":{"df":5,"docs":{"136":{"tf":1.0},"16":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"35":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":2,"docs":{"91":{"tf":1.0},"97":{"tf":1.0}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"52":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"52":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"71":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"50":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"71":{"tf":1.0}}}}}}},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"k":{"df":2,"docs":{"29":{"tf":1.0},"34":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":7,"docs":{"127":{"tf":1.0},"18":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"38":{"tf":1.0},"44":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"119":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"16":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":5,"docs":{"136":{"tf":1.0},"34":{"tf":1.0},"67":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}},"o":{"c":{"df":0,"docs":{},"i":{"df":7,"docs":{"22":{"tf":1.0},"26":{"tf":1.0},"34":{"tf":1.0},"71":{"tf":1.0},"82":{"tf":1.0},"90":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":17,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"120":{"tf":1.0},"130":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"47":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"66":{"tf":1.0},"69":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951}}}}},"r":{"df":2,"docs":{"20":{"tf":1.0},"21":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"48":{"tf":1.0},"57":{"tf":1.0}}}}}}}}},"t":{"b":{"=":{"0":{"df":1,"docs":{"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"69":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"27":{"tf":1.0},"50":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.0},"76":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"50":{"tf":1.0},"54":{"tf":1.0},"68":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"=":{"df":0,"docs":{},"{":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"3":{"tf":1.0}}}}}},"df":1,"docs":{"1":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}}}},"v":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":15,"docs":{"101":{"tf":1.0},"118":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0},"16":{"tf":1.0},"27":{"tf":1.0},"34":{"tf":1.0},"4":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"58":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}}}},"w":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"76":{"tf":1.0},"77":{"tf":1.0}}},"y":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}},"x":{"=":{"b":{",":{"(":{"5":{".":{"1":{".":{"1":{"df":1,"docs":{"32":{"tf":1.0}}},"df":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":{"38":{"tf":1.0}},"i":{"df":6,"docs":{"32":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":2.6457513110645907},"40":{"tf":1.0},"43":{"tf":1.0},"75":{"tf":1.0}},"s":{"=":{"0":{"df":2,"docs":{"117":{"tf":1.4142135623730951},"67":{"tf":1.0}}},"1":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"δ":{"df":0,"docs":{},"x":{"=":{"0":{".":{"(":{"5":{".":{"1":{".":{"2":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"n":{"df":0,"docs":{},"×":{"df":0,"docs":{},"n":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}},"b":{"(":{"d":{",":{"d":{"^":{")":{"=":{"df":0,"docs":{},"{":{"2":{"df":0,"docs":{},"κ":{"df":0,"docs":{},"​":{"d":{"^":{"(":{"d":{"^":{"d":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"1":{")":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"d":{"^":{"d":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"d":{"<":{"d":{"^":{"d":{"df":0,"docs":{},"≥":{"d":{"^":{",":{"df":0,"docs":{},"​":{"(":{"1":{"8":{".":{"3":{".":{"2":{"df":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{",":{"d":{"^":{"2":{")":{"=":{"df":0,"docs":{},"{":{"8":{"df":0,"docs":{},"κ":{"df":0,"docs":{},"​":{"d":{"^":{"(":{"d":{"^":{"2":{"d":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"1":{")":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"d":{"^":{"2":{"d":{"2":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"d":{"<":{"d":{"^":{"d":{"df":0,"docs":{},"≥":{"d":{"^":{",":{"df":0,"docs":{},"​":{"(":{"2":{"1":{".":{"3":{".":{"1":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"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":{},"j":{"df":1,"docs":{"49":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"=":{"[":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"−":{"1":{"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":{}},"[":{"0":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"\\":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"15":{"tf":1.0}}}}},"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"(":{"df":1,"docs":{"86":{"tf":1.0}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":1,"docs":{"86":{"tf":2.0}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"86":{"tf":2.23606797749979}}}}}}}},"a":{"c":{"df":0,"docs":{},"k":{"df":6,"docs":{"134":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"52":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"21":{"tf":1.4142135623730951},"23":{"tf":1.0},"53":{"tf":1.7320508075688772},"58":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":8,"docs":{"104":{"tf":1.0},"11":{"tf":2.23606797749979},"12":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.4142135623730951},"58":{"tf":1.0},"96":{"tf":1.4142135623730951},"97":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"n":{"c":{"df":5,"docs":{"16":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":2,"docs":{"45":{"tf":1.7320508075688772},"90":{"tf":1.0}}}},"r":{"b":{"df":0,"docs":{},"i":{"c":{"df":2,"docs":{"142":{"tf":1.7320508075688772},"81":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":1,"docs":{"87":{"tf":1.0}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":28,"docs":{"101":{"tf":4.242640687119285},"113":{"tf":1.0},"114":{"tf":2.0},"119":{"tf":3.1622776601683795},"121":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"134":{"tf":2.449489742783178},"139":{"tf":1.0},"141":{"tf":1.0},"142":{"tf":1.0},"16":{"tf":1.7320508075688772},"44":{"tf":1.7320508075688772},"45":{"tf":1.0},"46":{"tf":2.0},"47":{"tf":1.4142135623730951},"48":{"tf":3.3166247903554},"49":{"tf":1.7320508075688772},"50":{"tf":2.6457513110645907},"52":{"tf":1.0},"54":{"tf":2.23606797749979},"55":{"tf":1.0},"62":{"tf":1.7320508075688772},"66":{"tf":1.0},"67":{"tf":2.23606797749979},"68":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"_":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"m":{"b":{"d":{"a":{"(":{"df":0,"docs":{},"x":{"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":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"54":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"i":{"df":7,"docs":{"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"125":{"tf":1.0},"54":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":2.0}}}}},"df":0,"docs":{}}}}}}}}}}},"y":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":4,"docs":{"124":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.0},"140":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":41,"docs":{"0":{"tf":1.0},"101":{"tf":1.7320508075688772},"102":{"tf":1.0},"105":{"tf":1.4142135623730951},"108":{"tf":1.0},"116":{"tf":1.0},"119":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.0},"134":{"tf":1.0},"141":{"tf":1.4142135623730951},"22":{"tf":2.0},"24":{"tf":1.0},"3":{"tf":1.0},"35":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":2.0},"51":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.4142135623730951},"57":{"tf":1.0},"61":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"76":{"tf":1.0},"81":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"92":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0}}},"i":{"c":{"df":2,"docs":{"30":{"tf":1.0},"8":{"tf":1.0}}},"df":9,"docs":{"141":{"tf":1.0},"37":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"57":{"tf":1.0},"58":{"tf":1.0},"85":{"tf":1.0},"95":{"tf":1.4142135623730951}}}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"120":{"tf":2.0}}}}},"c":{"df":9,"docs":{"15":{"tf":1.4142135623730951},"32":{"tf":2.23606797749979},"33":{"tf":2.23606797749979},"34":{"tf":3.0},"42":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979},"66":{"tf":3.1622776601683795},"67":{"tf":1.4142135623730951},"68":{"tf":2.0}}},"df":19,"docs":{"101":{"tf":1.4142135623730951},"106":{"tf":2.0},"113":{"tf":1.4142135623730951},"114":{"tf":2.0},"119":{"tf":1.0},"125":{"tf":1.4142135623730951},"131":{"tf":3.0},"15":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.0},"70":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":2.8284271247461903},"95":{"tf":1.4142135623730951}},"e":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"[":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"[":{"0":{"df":1,"docs":{"117":{"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":{},"r":{"df":1,"docs":{"38":{"tf":1.0}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":21,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.4142135623730951},"123":{"tf":1.0},"126":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"90":{"tf":1.0}}}}},"df":16,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"79":{"tf":1.4142135623730951},"82":{"tf":1.0},"95":{"tf":1.0}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":11,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"121":{"tf":1.0},"141":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"4":{"tf":1.0},"55":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":1.0},"82":{"tf":1.0}}}}},"g":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"127":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":16,"docs":{"117":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.0},"127":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.0},"94":{"tf":1.0}},"{":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"59":{"tf":2.0}}}}},"p":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}},"h":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"18":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":10,"docs":{"27":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"73":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":1.0}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":9,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0},"66":{"tf":1.4142135623730951},"7":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"11":{"tf":1.0}}}}}}},"t":{"a":{"df":1,"docs":{"45":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.0}}}}},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":42,"docs":{"101":{"tf":2.23606797749979},"102":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"120":{"tf":1.0},"123":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"133":{"tf":1.0},"134":{"tf":1.4142135623730951},"16":{"tf":2.449489742783178},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"27":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"47":{"tf":1.0},"49":{"tf":1.4142135623730951},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":2.23606797749979},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.4142135623730951},"69":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"76":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.0}}}}}}},"y":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":5,"docs":{"105":{"tf":1.0},"29":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"3":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"j":{"df":1,"docs":{"82":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"100":{"tf":2.0}}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"45":{"tf":1.4142135623730951},"55":{"tf":1.0}}}},"df":0,"docs":{}}}}},"​":{"=":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"​":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"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":{}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}}},"df":6,"docs":{"32":{"tf":1.0},"33":{"tf":1.7320508075688772},"37":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":2.6457513110645907},"82":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"e":{"df":4,"docs":{"114":{"tf":1.4142135623730951},"45":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0}}}}},"o":{"d":{"df":0,"docs":{},"i":{"df":9,"docs":{"106":{"tf":1.0},"14":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"91":{"tf":1.0},"94":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"74":{"tf":1.0}}}},"o":{"df":0,"docs":{},"k":{"/":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":8,"docs":{"116":{"tf":1.0},"122":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":11,"docs":{"0":{"tf":1.0},"1":{"tf":1.7320508075688772},"104":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"12":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"7":{"tf":1.0}},"{":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"2":{"0":{"2":{"4":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"134":{"tf":1.0}}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":33,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"103":{"tf":1.0},"106":{"tf":1.0},"113":{"tf":1.4142135623730951},"12":{"tf":1.0},"124":{"tf":1.4142135623730951},"127":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.0},"25":{"tf":1.4142135623730951},"34":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"80":{"tf":1.0},"88":{"tf":1.7320508075688772},"89":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"94":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":5,"docs":{"114":{"tf":1.0},"117":{"tf":1.7320508075688772},"120":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"87":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"c":{"df":3,"docs":{"50":{"tf":1.0},"52":{"tf":1.0},"62":{"tf":1.0}}},"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":54,"docs":{"100":{"tf":3.3166247903554},"101":{"tf":2.8284271247461903},"102":{"tf":1.0},"103":{"tf":2.23606797749979},"105":{"tf":2.8284271247461903},"109":{"tf":2.6457513110645907},"110":{"tf":2.0},"111":{"tf":2.449489742783178},"112":{"tf":3.872983346207417},"113":{"tf":2.8284271247461903},"114":{"tf":3.0},"115":{"tf":1.7320508075688772},"117":{"tf":3.1622776601683795},"121":{"tf":1.0},"123":{"tf":2.449489742783178},"133":{"tf":1.0},"15":{"tf":2.23606797749979},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"31":{"tf":2.449489742783178},"32":{"tf":4.0},"33":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"35":{"tf":1.7320508075688772},"36":{"tf":1.4142135623730951},"37":{"tf":2.0},"38":{"tf":1.4142135623730951},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":2.23606797749979},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":2.0},"55":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":2.0},"66":{"tf":1.0},"67":{"tf":1.7320508075688772},"68":{"tf":1.4142135623730951},"71":{"tf":1.0},"75":{"tf":1.0},"87":{"tf":1.0},"91":{"tf":1.7320508075688772},"92":{"tf":1.7320508075688772},"96":{"tf":1.0},"97":{"tf":1.4142135623730951},"98":{"tf":2.449489742783178},"99":{"tf":5.0990195135927845}}}}},"df":13,"docs":{"120":{"tf":2.23606797749979},"121":{"tf":1.7320508075688772},"135":{"tf":1.0},"136":{"tf":1.4142135623730951},"137":{"tf":1.7320508075688772},"14":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"53":{"tf":2.0},"54":{"tf":1.7320508075688772},"57":{"tf":1.4142135623730951},"82":{"tf":1.0}}},"df":0,"docs":{}}},"x":{"df":5,"docs":{"120":{"tf":1.7320508075688772},"121":{"tf":1.4142135623730951},"136":{"tf":1.4142135623730951},"45":{"tf":1.0},"5":{"tf":1.4142135623730951}}}},"p":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"a":{"d":{"d":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"[":{"0":{"df":1,"docs":{"117":{"tf":1.0}}},"1":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"117":{"tf":1.0}}}}}},"df":3,"docs":{"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"125":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":6,"docs":{"102":{"tf":1.0},"105":{"tf":1.0},"120":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0}}},"n":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"142":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"g":{"df":7,"docs":{"10":{"tf":1.0},"120":{"tf":1.0},"131":{"tf":1.0},"16":{"tf":1.0},"62":{"tf":1.0},"87":{"tf":1.4142135623730951},"95":{"tf":1.0}}}}},"o":{"a":{"d":{"df":3,"docs":{"137":{"tf":1.0},"139":{"tf":1.7320508075688772},"141":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"37":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":3,"docs":{"1":{"tf":1.0},"42":{"tf":1.0},"54":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"h":{"df":5,"docs":{"121":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.7320508075688772},"139":{"tf":1.0},"141":{"tf":1.0}}}},"}":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"ϵ":{"0":{"df":2,"docs":{"90":{"tf":1.4142135623730951},"91":{"tf":2.0}},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"j":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"d":{"df":0,"docs":{},"x":{"=":{"df":0,"docs":{},"∫":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"d":{"df":0,"docs":{},"x":{"df":1,"docs":{"90":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"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":2,"docs":{"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"t":{"df":1,"docs":{"90":{"tf":1.4142135623730951}},"​":{"df":0,"docs":{},"​":{"d":{"df":0,"docs":{},"x":{"=":{"df":0,"docs":{},"∫":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"j":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"d":{"df":0,"docs":{},"x":{"df":1,"docs":{"90":{"tf":1.0}}}},"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":{"0":{"df":3,"docs":{"108":{"tf":1.0},"134":{"tf":1.0},"141":{"tf":1.0}}},"1":{"df":5,"docs":{"118":{"tf":1.0},"121":{"tf":1.0},"134":{"tf":1.4142135623730951},"141":{"tf":1.0},"55":{"tf":1.0}}},"=":{"0":{".":{"6":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"1":{",":{"df":0,"docs":{},"j":{",":{"df":0,"docs":{},"k":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"α":{"df":0,"docs":{},"j":{"df":0,"docs":{},"k":{"c":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"_":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"16":{"tf":2.6457513110645907}}}},"df":1,"docs":{"16":{"tf":1.0}}},"l":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"l":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":41,"docs":{"106":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"112":{"tf":1.4142135623730951},"114":{"tf":1.0},"118":{"tf":2.23606797749979},"12":{"tf":1.0},"120":{"tf":2.449489742783178},"123":{"tf":1.0},"124":{"tf":2.0},"125":{"tf":2.0},"127":{"tf":1.4142135623730951},"130":{"tf":1.0},"138":{"tf":1.0},"140":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":2.0},"5":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"6":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"79":{"tf":1.0},"8":{"tf":1.0},"80":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.4142135623730951},"88":{"tf":1.7320508075688772},"9":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"df":1,"docs":{"74":{"tf":1.0}}}},"df":0,"docs":{}},"l":{"df":9,"docs":{"117":{"tf":1.0},"125":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.4142135623730951},"29":{"tf":1.0},"58":{"tf":1.0},"76":{"tf":1.7320508075688772},"8":{"tf":1.0},"82":{"tf":1.0}}}},"m":{"df":0,"docs":{},"e":{"df":1,"docs":{"18":{"tf":1.0}}}},"n":{"d":{"df":0,"docs":{},"i":{"d":{"df":3,"docs":{"135":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"p":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"16":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":1.0}}}},"c":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"17":{"tf":1.0},"31":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"16":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"29":{"tf":1.0},"82":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"12":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"71":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"e":{"df":54,"docs":{"101":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.0},"116":{"tf":2.0},"117":{"tf":1.4142135623730951},"118":{"tf":1.7320508075688772},"119":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.7320508075688772},"134":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":2.0},"36":{"tf":1.0},"37":{"tf":1.0},"43":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":2.23606797749979},"57":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":2.0},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"67":{"tf":1.7320508075688772},"68":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.4142135623730951},"73":{"tf":1.0},"81":{"tf":1.0},"84":{"tf":1.7320508075688772},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"91":{"tf":1.0}}}}}}},"u":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"79":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"s":{"df":4,"docs":{"101":{"tf":1.0},"126":{"tf":1.0},"58":{"tf":1.0},"65":{"tf":1.0}}}}},"c":{"d":{".":{"b":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"120":{"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":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"_":{"c":{"c":{"d":{"(":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"120":{"tf":1.0}}}}},"df":0,"docs":{}}},"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":{},"i":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}}}},"df":10,"docs":{"120":{"tf":1.0},"121":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"141":{"tf":1.0},"51":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.0},"55":{"tf":1.0},"62":{"tf":1.0}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"59":{"tf":1.0}}}}},"df":10,"docs":{"100":{"tf":1.7320508075688772},"101":{"tf":1.0},"119":{"tf":1.7320508075688772},"126":{"tf":1.7320508075688772},"131":{"tf":3.605551275463989},"27":{"tf":2.449489742783178},"62":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772},"67":{"tf":1.7320508075688772},"87":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":5,"docs":{"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"126":{"tf":1.4142135623730951},"67":{"tf":3.605551275463989},"87":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"'":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"136":{"tf":2.0},"29":{"tf":1.0},"85":{"tf":1.0}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"45":{"tf":1.4142135623730951},"5":{"tf":1.0},"52":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":16,"docs":{"115":{"tf":1.0},"124":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"49":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"79":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"j":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"2":{"tf":1.0}}}}},"df":0,"docs":{}}}},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"h":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":9,"docs":{"107":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.0},"48":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.7320508075688772},"88":{"tf":1.0}}}},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":14,"docs":{"11":{"tf":1.0},"114":{"tf":1.0},"16":{"tf":1.4142135623730951},"29":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.7320508075688772},"41":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"6":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951}}}}}}},"n":{"df":0,"docs":{},"g":{"df":22,"docs":{"106":{"tf":1.4142135623730951},"12":{"tf":1.4142135623730951},"120":{"tf":1.0},"124":{"tf":1.0},"130":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.7320508075688772},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.4142135623730951}}}},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"101":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"2":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"4":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"96":{"tf":1.4142135623730951},"97":{"tf":1.0},"98":{"tf":1.0}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"20":{"tf":1.4142135623730951},"32":{"tf":1.0},"5":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":1.0}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":1.0},"16":{"tf":1.0},"45":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"k":{"df":11,"docs":{"118":{"tf":1.0},"120":{"tf":1.7320508075688772},"121":{"tf":1.0},"131":{"tf":1.0},"134":{"tf":1.0},"136":{"tf":1.0},"139":{"tf":1.0},"29":{"tf":1.0},"67":{"tf":2.23606797749979},"75":{"tf":1.0},"87":{"tf":2.0}}}},"df":0,"docs":{},"n":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"41":{"tf":1.0}},"f":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":4,"docs":{"1":{"tf":1.0},"142":{"tf":2.23606797749979},"2":{"tf":1.0},"3":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"i":{"c":{"df":7,"docs":{"113":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"16":{"tf":1.0},"28":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"s":{"df":6,"docs":{"113":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.0},"27":{"tf":1.0},"5":{"tf":1.0},"67":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"15":{"tf":1.0},"9":{"tf":1.0},"95":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"c":{"df":0,"docs":{},"l":{"df":2,"docs":{"101":{"tf":1.0},"5":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"74":{"tf":1.0},"82":{"tf":1.0}}}},"v":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"142":{"tf":3.4641016151377544}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"ϵ":{"df":0,"docs":{},"≥":{"0":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}},"≥":{"df":0,"docs":{},"ϵ":{".":{"df":0,"docs":{},"​":{"(":{"2":{".":{"3":{".":{"1":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"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":{},"i":{"df":0,"docs":{},"m":{"df":2,"docs":{"81":{"tf":1.4142135623730951},"92":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"16":{"tf":1.0}},"i":{"c":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"4":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"23":{"tf":1.0},"42":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"114":{"tf":1.0},"52":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"21":{"tf":1.0}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"126":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":15,"docs":{"10":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":1.0},"121":{"tf":1.0},"22":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"59":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0},"91":{"tf":1.0}},"r":{"df":4,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"49":{"tf":1.0},"95":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":14,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"125":{"tf":1.7320508075688772},"127":{"tf":1.0},"134":{"tf":1.0},"140":{"tf":1.0},"22":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"df":7,"docs":{"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"45":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{},"u":{"df":1,"docs":{"2":{"tf":1.0}}}},"o":{"/":{"b":{"c":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":7,"docs":{"116":{"tf":1.0},"125":{"tf":2.0},"131":{"tf":1.0},"142":{"tf":1.0},"25":{"tf":1.0},"82":{"tf":2.0},"85":{"tf":1.0}},"{":{"1":{"df":1,"docs":{"87":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"w":{")":{"=":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"v":{")":{"df":0,"docs":{},"−":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"w":{"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":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"45":{"tf":2.449489742783178}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"101":{"tf":1.0},"118":{"tf":1.0},"142":{"tf":1.0},"66":{"tf":1.0}}}}}}}}}}},"df":3,"docs":{"1":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":14,"docs":{"101":{"tf":1.4142135623730951},"102":{"tf":1.0},"117":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.0},"131":{"tf":1.4142135623730951},"134":{"tf":1.4142135623730951},"17":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":2.0},"87":{"tf":2.0}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"86":{"tf":5.0990195135927845}},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}}},"l":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":1,"docs":{"71":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"117":{"tf":2.23606797749979},"65":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"d":{"df":7,"docs":{"101":{"tf":1.4142135623730951},"114":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"16":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":16,"docs":{"113":{"tf":1.0},"120":{"tf":1.7320508075688772},"135":{"tf":2.23606797749979},"136":{"tf":1.4142135623730951},"137":{"tf":1.7320508075688772},"138":{"tf":1.7320508075688772},"139":{"tf":2.23606797749979},"16":{"tf":1.4142135623730951},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"n":{"df":7,"docs":{"26":{"tf":1.7320508075688772},"32":{"tf":1.0},"34":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"6":{"tf":1.0},"91":{"tf":1.0}}}}}},"m":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}}}}},"df":10,"docs":{"103":{"tf":1.0},"122":{"tf":1.0},"134":{"tf":1.0},"16":{"tf":1.4142135623730951},"5":{"tf":1.0},"54":{"tf":1.0},"6":{"tf":1.0},"80":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":6,"docs":{"112":{"tf":1.0},"123":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"81":{"tf":1.0}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"113":{"tf":1.0},"128":{"tf":1.0},"14":{"tf":1.4142135623730951},"32":{"tf":1.0},"79":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":7,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.4142135623730951},"79":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":2,"docs":{"1":{"tf":1.0},"2":{"tf":1.0}}},"t":{"df":1,"docs":{"80":{"tf":1.0}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":5,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"62":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0}}},"t":{"df":1,"docs":{"56":{"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":{"a":{"df":0,"docs":{},"r":{"df":3,"docs":{"16":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951},"50":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":3,"docs":{"103":{"tf":1.0},"114":{"tf":1.0},"24":{"tf":1.0}}},"x":{"<":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"131":{"tf":3.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":20,"docs":{"100":{"tf":1.0},"112":{"tf":1.0},"14":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"22":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"37":{"tf":1.0},"4":{"tf":1.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"5":{"tf":2.0},"6":{"tf":1.0},"69":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"92":{"tf":1.4142135623730951}}}},"i":{"c":{"df":4,"docs":{"101":{"tf":1.0},"11":{"tf":1.0},"118":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"n":{"df":11,"docs":{"120":{"tf":1.0},"123":{"tf":1.0},"132":{"tf":1.0},"26":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"6":{"tf":1.4142135623730951},"63":{"tf":1.0},"70":{"tf":1.0},"82":{"tf":1.0},"92":{"tf":1.0}}},"s":{"df":1,"docs":{"22":{"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":2,"docs":{"4":{"tf":1.0},"5":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":14,"docs":{"117":{"tf":1.0},"120":{"tf":1.0},"126":{"tf":2.0},"28":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":2.8284271247461903},"68":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.4142135623730951},"83":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"15":{"tf":1.0},"30":{"tf":1.0},"56":{"tf":1.0},"75":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"114":{"tf":1.0},"135":{"tf":1.0},"15":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.0}}}}}}},"df":59,"docs":{"101":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"109":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.7320508075688772},"12":{"tf":1.4142135623730951},"120":{"tf":2.23606797749979},"121":{"tf":1.4142135623730951},"123":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"131":{"tf":2.23606797749979},"139":{"tf":1.7320508075688772},"141":{"tf":1.7320508075688772},"142":{"tf":1.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"30":{"tf":1.4142135623730951},"35":{"tf":1.0},"41":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"5":{"tf":1.7320508075688772},"50":{"tf":2.0},"53":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772},"67":{"tf":2.0},"7":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":2.449489742783178},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":2.6457513110645907},"80":{"tf":2.449489742783178},"81":{"tf":1.0},"82":{"tf":3.1622776601683795},"83":{"tf":1.7320508075688772},"84":{"tf":1.0},"86":{"tf":2.6457513110645907},"88":{"tf":1.0},"92":{"tf":1.7320508075688772}},"e":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"_":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"m":{"b":{"d":{"a":{"(":{"df":0,"docs":{},"x":{"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":{}}}}}},"n":{"c":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"t":{"df":16,"docs":{"116":{"tf":1.0},"127":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.0},"27":{"tf":1.0},"31":{"tf":1.0},"4":{"tf":1.4142135623730951},"41":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.4142135623730951},"51":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"78":{"tf":1.0},"83":{"tf":1.0}},"u":{"df":3,"docs":{"75":{"tf":1.0},"79":{"tf":1.0},"95":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"n":{"df":2,"docs":{"34":{"tf":1.0},"41":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":4,"docs":{"45":{"tf":1.0},"6":{"tf":1.0},"74":{"tf":1.0},"98":{"tf":1.0}}}},"l":{"df":0,"docs":{},"u":{"d":{"df":3,"docs":{"23":{"tf":1.0},"54":{"tf":1.0},"75":{"tf":1.0}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":52,"docs":{"100":{"tf":2.23606797749979},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.7320508075688772},"105":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.0},"110":{"tf":1.7320508075688772},"111":{"tf":1.4142135623730951},"112":{"tf":2.0},"115":{"tf":1.4142135623730951},"12":{"tf":1.0},"123":{"tf":1.0},"15":{"tf":2.6457513110645907},"16":{"tf":2.8284271247461903},"18":{"tf":1.4142135623730951},"29":{"tf":1.0},"31":{"tf":2.449489742783178},"32":{"tf":4.58257569495584},"33":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"35":{"tf":1.7320508075688772},"36":{"tf":1.4142135623730951},"37":{"tf":2.0},"38":{"tf":1.4142135623730951},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"48":{"tf":1.0},"49":{"tf":2.449489742783178},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.0},"67":{"tf":1.7320508075688772},"68":{"tf":1.4142135623730951},"7":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"79":{"tf":1.0},"87":{"tf":1.0},"92":{"tf":1.4142135623730951},"96":{"tf":1.0},"97":{"tf":1.4142135623730951},"98":{"tf":2.0},"99":{"tf":3.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"10":{"tf":1.0},"12":{"tf":1.0}}}}}}},"u":{"c":{"df":1,"docs":{"5":{"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":15,"docs":{"113":{"tf":1.0},"120":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":2.23606797749979},"54":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"72":{"tf":1.4142135623730951},"82":{"tf":1.0}}}}},"n":{"df":2,"docs":{"10":{"tf":1.0},"95":{"tf":1.0}}},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"14":{"tf":1.0},"80":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"s":{"df":2,"docs":{"58":{"tf":1.0},"74":{"tf":1.0}}}}},"j":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":14,"docs":{"103":{"tf":1.0},"105":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"12":{"tf":1.0},"25":{"tf":1.4142135623730951},"30":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":3.3166247903554},"53":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":10,"docs":{"132":{"tf":1.0},"140":{"tf":1.0},"22":{"tf":1.0},"33":{"tf":1.0},"38":{"tf":1.0},"48":{"tf":1.0},"55":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"9":{"tf":1.0}}}},"r":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"92":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":18,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"103":{"tf":1.0},"113":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"14":{"tf":2.0},"18":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.0},"89":{"tf":2.6457513110645907},"90":{"tf":2.6457513110645907},"91":{"tf":2.449489742783178},"92":{"tf":1.4142135623730951},"93":{"tf":2.0},"94":{"tf":1.4142135623730951},"97":{"tf":1.0},"99":{"tf":1.0}}}}},"i":{"d":{"df":30,"docs":{"101":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.4142135623730951},"114":{"tf":1.0},"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"131":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"38":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"6":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"9":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"27":{"tf":1.0},"29":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":20,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.0},"115":{"tf":1.0},"119":{"tf":1.7320508075688772},"125":{"tf":1.0},"130":{"tf":1.0},"14":{"tf":1.0},"142":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.0},"37":{"tf":1.0},"57":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.7320508075688772},"77":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":18,"docs":{"10":{"tf":1.0},"107":{"tf":1.4142135623730951},"112":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"131":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"58":{"tf":1.7320508075688772},"63":{"tf":2.0},"7":{"tf":1.0},"70":{"tf":1.0},"82":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":7,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"51":{"tf":1.0},"79":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.0},"94":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":13,"docs":{"111":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0}},"t":{"df":27,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"111":{"tf":1.0},"15":{"tf":2.23606797749979},"16":{"tf":3.1622776601683795},"18":{"tf":2.23606797749979},"30":{"tf":1.0},"32":{"tf":2.6457513110645907},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.7320508075688772},"40":{"tf":1.4142135623730951},"41":{"tf":2.23606797749979},"42":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":1.7320508075688772},"55":{"tf":1.0},"57":{"tf":1.0},"65":{"tf":1.4142135623730951},"99":{"tf":1.0}}}}}},"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":9,"docs":{"25":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.7320508075688772},"49":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"a":{"c":{"df":0,"docs":{},"t":{"_":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"[":{"df":0,"docs":{},"i":{"df":4,"docs":{"54":{"tf":1.7320508075688772},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"67":{"tf":1.7320508075688772}}},"x":{"df":0,"docs":{},"i":{"df":2,"docs":{"119":{"tf":1.7320508075688772},"125":{"tf":1.0}}}}},"df":4,"docs":{"54":{"tf":2.23606797749979},"62":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":62,"docs":{"1":{"tf":1.0},"100":{"tf":2.8284271247461903},"101":{"tf":4.123105625617661},"102":{"tf":2.0},"103":{"tf":1.7320508075688772},"109":{"tf":1.4142135623730951},"113":{"tf":3.0},"114":{"tf":3.0},"115":{"tf":2.23606797749979},"116":{"tf":2.449489742783178},"117":{"tf":2.23606797749979},"118":{"tf":2.0},"119":{"tf":2.23606797749979},"120":{"tf":2.6457513110645907},"121":{"tf":1.7320508075688772},"122":{"tf":2.449489742783178},"123":{"tf":3.1622776601683795},"124":{"tf":1.4142135623730951},"125":{"tf":2.0},"126":{"tf":2.6457513110645907},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":2.449489742783178},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":2.0},"141":{"tf":1.7320508075688772},"142":{"tf":1.7320508075688772},"16":{"tf":4.123105625617661},"17":{"tf":1.0},"18":{"tf":2.0},"30":{"tf":1.0},"31":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.7320508075688772},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":3.4641016151377544},"49":{"tf":1.7320508075688772},"50":{"tf":1.7320508075688772},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.449489742783178},"55":{"tf":1.4142135623730951},"56":{"tf":2.0},"57":{"tf":3.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"61":{"tf":1.7320508075688772},"62":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":2.0},"99":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"106":{"tf":1.0},"114":{"tf":1.0},"124":{"tf":1.0},"32":{"tf":1.4142135623730951},"42":{"tf":1.0},"5":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"x":{"df":0,"docs":{},"t":{"df":9,"docs":{"104":{"tf":1.0},"109":{"tf":1.0},"138":{"tf":1.0},"16":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"83":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"11":{"tf":1.0}}},"u":{"df":34,"docs":{"103":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":1.4142135623730951},"108":{"tf":1.0},"109":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.4142135623730951},"118":{"tf":1.0},"120":{"tf":1.7320508075688772},"121":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":2.23606797749979},"135":{"tf":1.0},"138":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":2.0},"51":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"55":{"tf":1.7320508075688772},"6":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"89":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.7320508075688772},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":6,"docs":{"142":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"5":{"tf":1.0},"69":{"tf":2.449489742783178},"70":{"tf":2.6457513110645907},"72":{"tf":1.4142135623730951}}}}}}},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"105":{"tf":1.0},"11":{"tf":1.0},"5":{"tf":1.0},"90":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":2.0}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"1":{"tf":1.0},"2":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":12,"docs":{"103":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"5":{"tf":1.0},"50":{"tf":1.0},"67":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":12,"docs":{"119":{"tf":1.0},"121":{"tf":1.0},"126":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"40":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"75":{"tf":1.0},"91":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0}}},"t":{"df":3,"docs":{"16":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":22,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"105":{"tf":1.0},"11":{"tf":1.7320508075688772},"120":{"tf":1.0},"122":{"tf":1.0},"142":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.7320508075688772},"20":{"tf":2.8284271247461903},"21":{"tf":1.0},"22":{"tf":2.0},"23":{"tf":1.7320508075688772},"29":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":2.23606797749979},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"68":{"tf":1.0}}},"s":{"df":5,"docs":{"12":{"tf":1.0},"20":{"tf":1.0},"34":{"tf":1.0},"66":{"tf":1.0},"71":{"tf":1.0}}},"t":{"df":2,"docs":{"51":{"tf":1.0},"9":{"tf":1.0}}}},"x":{"df":5,"docs":{"114":{"tf":1.0},"20":{"tf":2.23606797749979},"21":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951}}}}}},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":19,"docs":{"105":{"tf":2.0},"108":{"tf":1.0},"111":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.4142135623730951},"140":{"tf":1.0},"15":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.4142135623730951},"5":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"78":{"tf":1.4142135623730951},"85":{"tf":1.0},"88":{"tf":1.0},"91":{"tf":1.0}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":4,"docs":{"117":{"tf":1.0},"120":{"tf":1.4142135623730951},"142":{"tf":3.4641016151377544},"28":{"tf":1.0}}},"y":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"136":{"tf":1.0},"4":{"tf":1.0}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"131":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"76":{"tf":1.7320508075688772},"77":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"48":{"tf":1.0},"51":{"tf":1.0}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":17,"docs":{"106":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"119":{"tf":1.0},"14":{"tf":1.4142135623730951},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"34":{"tf":1.0},"42":{"tf":1.4142135623730951},"5":{"tf":1.0},"74":{"tf":1.0},"77":{"tf":1.0},"82":{"tf":1.4142135623730951},"89":{"tf":1.0},"99":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"15":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}}}},"s":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"]":{")":{"*":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{".":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"v":{"]":{")":{"*":{"df":0,"docs":{},"v":{"df":0,"docs":{},"v":{".":{"df":0,"docs":{},"v":{"df":0,"docs":{},"v":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"t":{"df":6,"docs":{"113":{"tf":1.0},"121":{"tf":1.0},"21":{"tf":1.0},"26":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"b":{"df":5,"docs":{"102":{"tf":1.0},"17":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.4142135623730951},"60":{"tf":1.0}}},"df":0,"docs":{}}}},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"101":{"tf":1.0},"114":{"tf":1.7320508075688772},"123":{"tf":1.0},"7":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"126":{"tf":1.4142135623730951}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":4,"docs":{"140":{"tf":1.0},"69":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"103":{"tf":1.0},"114":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"109":{"tf":1.0},"115":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.0},"23":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}}}},"p":{"[":{"df":0,"docs":{},"k":{"1":{"_":{",":{"df":0,"docs":{},"k":{"2":{"_":{",":{"df":0,"docs":{},"k":{"3":{"_":{"]":{"=":{"df":0,"docs":{},"{":{"df":0,"docs":{},"{":{"0":{"df":1,"docs":{"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":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"82":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"142":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":7,"docs":{"105":{"tf":1.0},"11":{"tf":1.0},"117":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"30":{"tf":1.0},"5":{"tf":1.0}}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":3,"docs":{"22":{"tf":1.4142135623730951},"29":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"23":{"tf":1.0},"29":{"tf":1.0}}}}}}},"i":{"c":{"a":{"df":0,"docs":{},"l":{"_":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":1,"docs":{"87":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":10,"docs":{"131":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"21":{"tf":1.0},"30":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.4142135623730951},"78":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}}}},"u":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":21,"docs":{"11":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"31":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"65":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"79":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"g":{"df":1,"docs":{"5":{"tf":1.0}}},"r":{"df":1,"docs":{"28":{"tf":1.0}}}},"u":{"b":{"df":0,"docs":{},"i":{"c":{"df":3,"docs":{"120":{"tf":1.0},"131":{"tf":2.0},"132":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"4":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":20,"docs":{"10":{"tf":1.0},"11":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":1.4142135623730951},"124":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"27":{"tf":1.0},"43":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"87":{"tf":1.0},"9":{"tf":1.7320508075688772}}}}}},"v":{"df":1,"docs":{"123":{"tf":1.0}}}}},"y":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"​":{"df":0,"docs":{},"​":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"e":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"e":{"df":0,"docs":{},"−":{"df":0,"docs":{},"i":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":0,"docs":{},"​":{"b":{"(":{"d":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"df":0,"docs":{},"e":{")":{",":{"d":{"^":{")":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"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":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"μ":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"f":{"0":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"h":{"^":{"df":0,"docs":{},"∥":{")":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"123":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"q":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"101":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{"3":{"df":2,"docs":{"45":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}}}},"d":{"(":{"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"df":0,"docs":{},"o":{"df":1,"docs":{"45":{"tf":1.0}}},"x":{"df":3,"docs":{"45":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"54":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"df":0,"docs":{},"o":{")":{",":{"df":0,"docs":{},"∇":{"d":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"n":{",":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"∇":{"2":{"d":{"(":{"df":0,"docs":{},"x":{")":{"=":{"0":{".":{"(":{"1":{"0":{".":{"1":{".":{"1":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"7":{".":{"1":{".":{"1":{"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":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"y":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"y":{"0":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"∇":{"d":{"(":{"df":0,"docs":{},"x":{")":{"=":{"[":{"0":{"1":{"df":0,"docs":{},"​":{"]":{",":{"df":0,"docs":{},"∇":{"2":{"d":{"(":{"df":0,"docs":{},"x":{")":{"=":{"0":{".":{"(":{"8":{".":{"3":{".":{"1":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"x":{"df":0,"docs":{},"−":{"df":0,"docs":{},"o":{")":{",":{"df":0,"docs":{},"∇":{"d":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"o":{")":{"=":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"−":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"]":{",":{"df":0,"docs":{},"∇":{"2":{"d":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"o":{")":{"=":{"0":{"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":0,"docs":{}}},"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":{},"​":{",":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"2":{"df":0,"docs":{},"f":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"x":{"2":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"f":{"2":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"2":{"(":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"x":{"2":{"(":{"d":{"df":0,"docs":{},"p":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"2":{"_":{"0":{"0":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"1":{"1":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"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":{},"f":{"df":1,"docs":{"124":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"=":{"0":{"df":1,"docs":{"54":{"tf":1.0}}},"2":{"df":3,"docs":{"70":{"tf":1.0},"72":{"tf":1.0},"91":{"tf":1.0}}},"3":{"df":1,"docs":{"91":{"tf":1.0}}},"df":0,"docs":{}},"^":{"/":{"df":0,"docs":{},"r":{"df":0,"docs":{},"→":{"0":{"df":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}}}},"2":{"df":1,"docs":{"125":{"tf":1.4142135623730951}}},"a":{"_":{"df":0,"docs":{},"{":{"df":0,"docs":{},"j":{"df":0,"docs":{},"k":{"df":0,"docs":{},"}":{"(":{"\\":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":1,"docs":{"53":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"​":{")":{"2":{"df":0,"docs":{},"∂":{"2":{"b":{"df":0,"docs":{},"​":{"(":{"d":{"^":{"2":{",":{"d":{"^":{"2":{")":{"=":{"df":0,"docs":{},"κ":{"d":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"v":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"126":{"tf":1.0}}},"j":{"df":1,"docs":{"126":{"tf":1.0}}}}},"df":1,"docs":{"126":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":2,"docs":{"119":{"tf":4.123105625617661},"125":{"tf":2.23606797749979}}}}},"{":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":2,"docs":{"47":{"tf":1.4142135623730951},"49":{"tf":1.0}},"}":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"k":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"53":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.7320508075688772}}}}},"t":{"a":{"df":8,"docs":{"135":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}}},"b":{"c":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":2,"docs":{"117":{"tf":1.0},"67":{"tf":1.0}}}}}}},"s":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":2.23606797749979}},"e":{"d":{"[":{"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"67":{"tf":2.0}}}}}}},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":0,"docs":{},"x":{"_":{"df":0,"docs":{},"n":{"[":{"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"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":{}}}}}},"df":0,"docs":{}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.7320508075688772}}}},"df":1,"docs":{"67":{"tf":2.449489742783178}}}}}}},"df":0,"docs":{}},"v":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":2,"docs":{"117":{"tf":1.0},"67":{"tf":1.0}}}},"df":12,"docs":{"117":{"tf":1.0},"32":{"tf":1.0},"35":{"tf":2.23606797749979},"36":{"tf":2.449489742783178},"37":{"tf":2.0},"38":{"tf":3.3166247903554},"40":{"tf":2.0},"41":{"tf":1.0},"42":{"tf":3.0},"43":{"tf":2.23606797749979},"67":{"tf":4.47213595499958},"68":{"tf":1.0}}},"df":0,"docs":{}},"df":22,"docs":{"100":{"tf":1.0},"101":{"tf":2.449489742783178},"114":{"tf":1.4142135623730951},"119":{"tf":1.0},"125":{"tf":1.7320508075688772},"131":{"tf":1.7320508075688772},"139":{"tf":1.0},"15":{"tf":1.0},"26":{"tf":2.449489742783178},"32":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":3.4641016151377544},"57":{"tf":1.0},"62":{"tf":3.4641016151377544},"63":{"tf":2.0},"67":{"tf":3.872983346207417},"95":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.0}},"e":{"0":{"df":1,"docs":{"120":{"tf":3.0}}},"1":{"df":1,"docs":{"120":{"tf":3.0}}},"a":{"df":0,"docs":{},"l":{"df":7,"docs":{"106":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"76":{"tf":1.0},"90":{"tf":1.0}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":1,"docs":{"75":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":8,"docs":{"27":{"tf":1.0},"41":{"tf":2.0},"43":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":2.6457513110645907},"76":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":2,"docs":{"30":{"tf":1.0},"42":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":9,"docs":{"134":{"tf":1.0},"141":{"tf":1.0},"21":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"57":{"tf":1.0},"71":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":1,"docs":{"142":{"tf":1.0}},"e":{"df":0,"docs":{},"p":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"120":{"tf":1.0}}},"y":{"(":{"_":{"d":{"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"120":{"tf":1.0}}},"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"120":{"tf":1.0}}},"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"29":{"tf":1.0},"4":{"tf":1.0},"44":{"tf":1.0},"79":{"tf":1.0}}}}}},"f":{"df":16,"docs":{"117":{"tf":1.0},"118":{"tf":2.6457513110645907},"120":{"tf":1.4142135623730951},"125":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.7320508075688772},"27":{"tf":2.0},"28":{"tf":2.23606797749979},"29":{"tf":1.4142135623730951},"35":{"tf":2.23606797749979},"54":{"tf":2.0},"62":{"tf":2.0},"63":{"tf":2.8284271247461903},"67":{"tf":1.7320508075688772},"86":{"tf":3.605551275463989},"87":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":38,"docs":{"101":{"tf":1.7320508075688772},"102":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"129":{"tf":1.0},"134":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"25":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":2.23606797749979},"48":{"tf":1.4142135623730951},"5":{"tf":2.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":2.0},"6":{"tf":1.0},"62":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.4142135623730951},"73":{"tf":1.0},"76":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"82":{"tf":2.0},"83":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.7320508075688772},"95":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"t":{"df":33,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.0},"115":{"tf":1.0},"134":{"tf":1.4142135623730951},"14":{"tf":1.0},"140":{"tf":1.7320508075688772},"16":{"tf":1.0},"20":{"tf":2.0},"21":{"tf":1.0},"22":{"tf":1.7320508075688772},"23":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":2.0},"59":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":2.449489742783178},"75":{"tf":1.0},"76":{"tf":1.0},"79":{"tf":1.4142135623730951},"89":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.7320508075688772}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"/":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"70":{"tf":1.0}}}}}}},"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"86":{"tf":2.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":31,"docs":{"100":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.0},"14":{"tf":1.0},"142":{"tf":1.7320508075688772},"20":{"tf":1.0},"29":{"tf":1.0},"4":{"tf":1.4142135623730951},"5":{"tf":2.0},"50":{"tf":1.0},"6":{"tf":2.0},"65":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":2.449489742783178},"71":{"tf":4.58257569495584},"72":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951},"74":{"tf":2.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":2.0},"78":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"90":{"tf":1.0}}}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}},"df":5,"docs":{"120":{"tf":1.0},"131":{"tf":1.0},"82":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"e":{"df":19,"docs":{"101":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"14":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"82":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"12":{"tf":1.0}}}},"t":{"a":{"0":{"(":{"b":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"131":{"tf":3.0}}},"1":{"(":{"2":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"df":11,"docs":{"10":{"tf":1.0},"11":{"tf":2.0},"14":{"tf":1.0},"32":{"tf":1.7320508075688772},"33":{"tf":1.4142135623730951},"34":{"tf":3.0},"38":{"tf":1.0},"41":{"tf":1.7320508075688772},"45":{"tf":1.7320508075688772},"7":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"v":{"df":11,"docs":{"132":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"5":{"tf":1.0},"69":{"tf":1.0},"88":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"16":{"tf":1.0},"92":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":18,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"120":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"17":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"5":{"tf":1.4142135623730951},"51":{"tf":1.0},"65":{"tf":1.0},"7":{"tf":1.0},"74":{"tf":1.0},"80":{"tf":1.0},"83":{"tf":1.0}}}}}}}},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"58":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951}}}}},"t":{"df":24,"docs":{"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"114":{"tf":1.0},"119":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"129":{"tf":1.0},"130":{"tf":1.0},"27":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.4142135623730951},"75":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.4142135623730951},"85":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.0},"94":{"tf":1.0}}}},"s":{"df":2,"docs":{"41":{"tf":1.4142135623730951},"47":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":23,"docs":{"101":{"tf":2.0},"106":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.4142135623730951},"117":{"tf":1.0},"119":{"tf":1.0},"130":{"tf":1.0},"134":{"tf":1.0},"141":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.7320508075688772},"5":{"tf":2.0},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":3.1622776601683795},"75":{"tf":1.7320508075688772},"76":{"tf":2.23606797749979},"77":{"tf":2.0},"79":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":15,"docs":{"1":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.4142135623730951},"114":{"tf":1.0},"121":{"tf":1.0},"124":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"61":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"87":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}},"i":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"25":{"tf":1.0},"5":{"tf":1.4142135623730951},"67":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"78":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":55,"docs":{"10":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"105":{"tf":1.4142135623730951},"107":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"115":{"tf":1.7320508075688772},"116":{"tf":1.0},"118":{"tf":2.0},"119":{"tf":2.449489742783178},"12":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":2.0},"127":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"14":{"tf":1.0},"142":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.0},"33":{"tf":1.0},"4":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.0},"58":{"tf":1.4142135623730951},"7":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"78":{"tf":2.23606797749979},"79":{"tf":2.23606797749979},"80":{"tf":2.23606797749979},"81":{"tf":1.7320508075688772},"82":{"tf":2.449489742783178},"83":{"tf":1.7320508075688772},"85":{"tf":2.449489742783178},"86":{"tf":1.7320508075688772},"88":{"tf":1.0},"89":{"tf":2.23606797749979},"9":{"tf":1.0},"92":{"tf":2.0},"93":{"tf":1.7320508075688772},"94":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}},"s":{"c":{"df":1,"docs":{"87":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"16":{"tf":1.7320508075688772},"21":{"tf":2.0},"22":{"tf":1.4142135623730951},"34":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":13,"docs":{"101":{"tf":1.0},"11":{"tf":1.0},"22":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.0},"5":{"tf":1.7320508075688772},"70":{"tf":1.7320508075688772},"71":{"tf":1.4142135623730951},"82":{"tf":1.0},"88":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.4142135623730951}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":2,"docs":{"69":{"tf":1.0},"72":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":16,"docs":{"11":{"tf":1.0},"113":{"tf":1.0},"142":{"tf":1.0},"16":{"tf":1.0},"26":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0}}}},"r":{"df":3,"docs":{"18":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"12":{"tf":1.0}}}}},"v":{"<":{"0":{"df":1,"docs":{"87":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"(":{"[":{"df":0,"docs":{},"p":{"2":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"p":{"3":{"1":{"df":1,"docs":{"87":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"x":{"2":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"3":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"4":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"]":{")":{"df":0,"docs":{},"≡":{"(":{"df":0,"docs":{},"x":{"2":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"df":0,"docs":{},"×":{"df":0,"docs":{},"x":{"3":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"x":{"4":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"=":{"0":{"(":{"2":{"3":{".":{"3":{".":{"1":{"df":1,"docs":{"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":{}}}}}},"df":0,"docs":{}},"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":{"2":{"1":{",":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"3":{"1":{",":{"2":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"2":{"1":{",":{"2":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"3":{"1":{",":{"1":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"=":{"0":{"(":{"1":{"5":{".":{"3":{".":{"2":{"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":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{"3":{"1":{"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":{},"f":{")":{">":{"0":{"df":2,"docs":{"76":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"≤":{"0":{"df":1,"docs":{"76":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":1,"docs":{"76":{"tf":1.0}}},"u":{")":{"=":{"1":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"−":{"1":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"v":{")":{"=":{"1":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"−":{"1":{"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":{},"x":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"∣":{"=":{"df":0,"docs":{},"∣":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"[":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{"]":{")":{"df":0,"docs":{},"∣":{"=":{"2":{"a":{"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":{}}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"126":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":15,"docs":{"104":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"123":{"tf":1.0},"130":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"55":{"tf":1.0},"70":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":13,"docs":{"120":{"tf":1.7320508075688772},"135":{"tf":2.23606797749979},"136":{"tf":1.0},"137":{"tf":1.7320508075688772},"138":{"tf":1.7320508075688772},"139":{"tf":2.0},"5":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"62":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":17,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"11":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.0},"139":{"tf":1.0},"16":{"tf":1.0},"26":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"60":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"87":{"tf":1.7320508075688772}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":6,"docs":{"116":{"tf":1.0},"121":{"tf":1.0},"35":{"tf":1.0},"4":{"tf":1.0},"43":{"tf":1.0},"84":{"tf":1.0}}}}}},"i":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"16":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":1,"docs":{"18":{"tf":1.0}}}}}},"f":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"x":{"^":{"df":0,"docs":{},"t":{"df":1,"docs":{"86":{"tf":1.0}}}},"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"s":{"0":{"=":{"d":{"df":0,"docs":{},"f":{"d":{"df":0,"docs":{},"s":{"/":{".":{"df":0,"docs":{},"{":{"df":0,"docs":{},"u":{"1":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"=":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"[":{"d":{"df":0,"docs":{},"f":{"d":{"df":0,"docs":{},"s":{"0":{",":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"=":{"d":{"[":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"[":{"df":0,"docs":{},"f":{"]":{",":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"82":{"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":{}},"h":{"a":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":2,"docs":{"119":{"tf":3.605551275463989},"125":{"tf":2.0}}}}}},"df":6,"docs":{"119":{"tf":3.0},"125":{"tf":1.7320508075688772},"54":{"tf":3.4641016151377544},"62":{"tf":3.4641016151377544},"63":{"tf":2.0},"67":{"tf":3.3166247903554}}}},"df":0,"docs":{}},"i":{"a":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{")":{")":{"=":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{")":{"df":0,"docs":{},"i":{"df":1,"docs":{"81":{"tf":1.0}}}},"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":{"a":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"​":{"df":0,"docs":{},"f":{"df":1,"docs":{"81":{"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":{},"n":{"df":15,"docs":{"106":{"tf":1.0},"25":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"41":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"6":{"tf":1.0},"66":{"tf":1.4142135623730951},"75":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"81":{"tf":2.6457513110645907},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"95":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"115":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"86":{"tf":2.0}},"f":{"df":0,"docs":{},"f":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":3,"docs":{"26":{"tf":1.0},"27":{"tf":1.7320508075688772},"67":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":4,"docs":{"26":{"tf":1.0},"27":{"tf":2.23606797749979},"29":{"tf":1.0},"67":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":19,"docs":{"118":{"tf":1.0},"12":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.0},"140":{"tf":1.0},"18":{"tf":1.0},"26":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.7320508075688772},"53":{"tf":1.0},"58":{"tf":1.7320508075688772},"63":{"tf":1.0},"64":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.4142135623730951},"9":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":12,"docs":{"101":{"tf":1.0},"118":{"tf":1.4142135623730951},"121":{"tf":1.0},"124":{"tf":1.0},"4":{"tf":1.0},"7":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"92":{"tf":1.0}}}}}}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":2,"docs":{"16":{"tf":1.0},"92":{"tf":1.0}},"i":{"df":2,"docs":{"16":{"tf":1.4142135623730951},"82":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}}},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∗":{")":{"df":0,"docs":{},"≥":{"0":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":12,"docs":{"104":{"tf":1.0},"132":{"tf":1.0},"29":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0},"6":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.4142135623730951},"87":{"tf":1.0},"95":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":9,"docs":{"104":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"26":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":39,"docs":{"102":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":2.23606797749979},"121":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.0},"16":{"tf":1.7320508075688772},"21":{"tf":2.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"28":{"tf":1.4142135623730951},"30":{"tf":1.0},"32":{"tf":1.7320508075688772},"34":{"tf":2.0},"35":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":2.0},"63":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":2.0},"77":{"tf":1.0},"8":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"i":{"df":31,"docs":{"1":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"133":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0},"5":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.7320508075688772}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"29":{"tf":1.0}}}}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":24,"docs":{"100":{"tf":2.23606797749979},"103":{"tf":1.4142135623730951},"109":{"tf":1.0},"111":{"tf":2.0},"117":{"tf":1.7320508075688772},"15":{"tf":2.0},"31":{"tf":2.0},"32":{"tf":2.23606797749979},"33":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"35":{"tf":2.449489742783178},"36":{"tf":1.4142135623730951},"37":{"tf":2.0},"38":{"tf":1.4142135623730951},"39":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"49":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":2.0},"98":{"tf":1.0},"99":{"tf":3.3166247903554}}}}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":5,"docs":{"101":{"tf":1.4142135623730951},"114":{"tf":1.0},"48":{"tf":1.0},"57":{"tf":1.0},"92":{"tf":1.0}}}}}}},"v":{"df":1,"docs":{"22":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"23":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":52,"docs":{"10":{"tf":1.4142135623730951},"101":{"tf":1.0},"103":{"tf":1.4142135623730951},"104":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"11":{"tf":1.0},"112":{"tf":2.0},"113":{"tf":1.7320508075688772},"114":{"tf":2.23606797749979},"115":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":3.3166247903554},"124":{"tf":1.4142135623730951},"127":{"tf":1.7320508075688772},"128":{"tf":1.4142135623730951},"132":{"tf":1.0},"134":{"tf":1.4142135623730951},"25":{"tf":2.0},"4":{"tf":2.23606797749979},"5":{"tf":2.23606797749979},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"58":{"tf":2.6457513110645907},"6":{"tf":1.7320508075688772},"60":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.4142135623730951},"7":{"tf":1.7320508075688772},"71":{"tf":1.0},"73":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":1.0},"8":{"tf":1.0},"84":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"tf":2.0},"9":{"tf":1.7320508075688772},"90":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"93":{"tf":1.7320508075688772},"94":{"tf":2.23606797749979},"95":{"tf":2.8284271247461903},"96":{"tf":2.449489742783178},"97":{"tf":2.6457513110645907},"99":{"tf":1.7320508075688772}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":30,"docs":{"101":{"tf":1.0},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.4142135623730951},"114":{"tf":1.0},"115":{"tf":1.0},"125":{"tf":1.0},"138":{"tf":1.0},"141":{"tf":1.0},"18":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"4":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"55":{"tf":1.0},"69":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.4142135623730951},"82":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.4142135623730951},"97":{"tf":1.0},"99":{"tf":1.0}}}}}},"df":0,"docs":{},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"104":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":13,"docs":{"100":{"tf":1.0},"105":{"tf":2.0},"108":{"tf":1.0},"111":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"6":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"99":{"tf":1.7320508075688772}}},"df":0,"docs":{},"y":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":3,"docs":{"102":{"tf":1.0},"17":{"tf":1.0},"57":{"tf":1.0}}}}},"t":{"2":{"_":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"120":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"n":{"c":{"df":35,"docs":{"101":{"tf":3.3166247903554},"113":{"tf":1.0},"114":{"tf":2.23606797749979},"118":{"tf":4.0},"119":{"tf":1.7320508075688772},"120":{"tf":2.449489742783178},"121":{"tf":1.4142135623730951},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":4.0},"138":{"tf":1.0},"139":{"tf":1.4142135623730951},"141":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"22":{"tf":1.0},"27":{"tf":1.0},"44":{"tf":1.7320508075688772},"45":{"tf":4.898979485566356},"46":{"tf":2.0},"47":{"tf":2.0},"48":{"tf":3.0},"49":{"tf":1.4142135623730951},"5":{"tf":1.0},"50":{"tf":2.23606797749979},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"55":{"tf":2.0},"57":{"tf":1.0},"62":{"tf":2.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"120":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"118":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"10":{"tf":1.0},"12":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":8,"docs":{"106":{"tf":1.0},"112":{"tf":1.0},"130":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.0}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":6,"docs":{"101":{"tf":1.0},"11":{"tf":1.0},"20":{"tf":1.0},"91":{"tf":1.7320508075688772},"92":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951}}}}},"i":{"d":{"df":6,"docs":{"119":{"tf":1.7320508075688772},"125":{"tf":1.0},"5":{"tf":1.0},"62":{"tf":1.0},"85":{"tf":1.0},"96":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"58":{"tf":1.0},"82":{"tf":1.7320508075688772}}}}}},"j":{"df":1,"docs":{"86":{"tf":2.0}},"k":{"df":0,"docs":{},"​":{"(":{"(":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"β":{")":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"+":{"df":0,"docs":{},"β":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"+":{"1":{")":{">":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"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":{},"α":{"df":0,"docs":{},"p":{")":{">":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"+":{"df":0,"docs":{},"β":{"df":0,"docs":{},"p":{")":{"df":0,"docs":{},"≥":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"k":{"df":1,"docs":{"126":{"tf":1.0}},"​":{"df":0,"docs":{},"∂":{"b":{"df":0,"docs":{},"​":{"<":{"0":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"n":{"df":5,"docs":{"15":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"41":{"tf":1.7320508075688772},"6":{"tf":1.0}},"×":{"d":{"df":0,"docs":{},"n":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":1,"docs":{"67":{"tf":1.0}},"f":{"df":25,"docs":{"101":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.7320508075688772},"34":{"tf":3.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":2.0},"41":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":3.1622776601683795},"68":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.7320508075688772}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":24,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":2.6457513110645907},"106":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.4142135623730951},"128":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"20":{"tf":1.0},"5":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.7320508075688772},"76":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"85":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"n":{"'":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":4,"docs":{"14":{"tf":1.0},"27":{"tf":1.0},"67":{"tf":1.0},"81":{"tf":1.0}}}},"t":{"df":5,"docs":{"5":{"tf":1.0},"63":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"95":{"tf":1.0}}},"u":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"123":{"tf":1.0},"131":{"tf":2.449489742783178},"66":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"n":{"df":7,"docs":{"120":{"tf":1.4142135623730951},"16":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0},"62":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"26":{"tf":1.0}}}},"df":0,"docs":{}}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"p":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"f":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"86":{"tf":1.0}}}}},"df":1,"docs":{"86":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"f":{"=":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"y":{"[":{"d":{"df":0,"docs":{},"p":{"d":{"df":0,"docs":{},"s":{"1":{".":{"d":{"df":0,"docs":{},"s":{"d":{"df":0,"docs":{},"f":{"0":{"df":1,"docs":{"82":{"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":{}},"s":{"0":{"=":{"d":{"df":0,"docs":{},"p":{"d":{"df":0,"docs":{},"s":{"/":{".":{"df":0,"docs":{},"{":{"df":0,"docs":{},"u":{"1":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"=":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"[":{"d":{"df":0,"docs":{},"p":{"d":{"df":0,"docs":{},"s":{"0":{",":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"=":{"d":{"[":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"[":{"df":0,"docs":{},"p":{"]":{",":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"82":{"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":{"120":{"tf":2.8284271247461903}},"e":{"(":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"a":{"^":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"e":{")":{"<":{"d":{"df":1,"docs":{"124":{"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":{},"x":{")":{",":{"df":1,"docs":{"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"o":{"(":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"df":0,"docs":{},"o":{")":{"=":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"o":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"113":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":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":{"113":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":1,"docs":{"86":{"tf":1.0}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"(":{"df":1,"docs":{"86":{"tf":1.0}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"x":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"_":{"0":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"x":{"_":{"2":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}},"4":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":1,"docs":{"134":{"tf":1.0}}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"34":{"tf":1.0}}},"w":{"b":{"a":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"29":{"tf":1.0},"62":{"tf":1.0},"85":{"tf":1.4142135623730951}},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"28":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"p":{"df":8,"docs":{"120":{"tf":1.0},"126":{"tf":1.0},"54":{"tf":2.6457513110645907},"61":{"tf":1.4142135623730951},"62":{"tf":1.7320508075688772},"63":{"tf":1.0},"67":{"tf":1.4142135623730951},"87":{"tf":1.0}}}}},"s":{"d":{"df":0,"docs":{},"f":{"0":{"=":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"[":{"d":{"df":0,"docs":{},"f":{"d":{"df":0,"docs":{},"s":{"1":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"p":{",":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"118":{"tf":1.0}},"​":{")":{"=":{"df":0,"docs":{},"⎩":{"df":0,"docs":{},"⎨":{"df":0,"docs":{},"⎧":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"p":{"df":0,"docs":{},"−":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"2":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"118":{"tf":1.0}}}}},"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":{"a":{"^":{"df":0,"docs":{},"​":{",":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"t":{"d":{"df":0,"docs":{},"x":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"d":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"v":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"v":{",":{"=":{"df":0,"docs":{},"f":{".":{"df":0,"docs":{},"​":{"(":{"1":{".":{"2":{".":{"1":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":2.23606797749979},"49":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":19,"docs":{"101":{"tf":1.0},"106":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"12":{"tf":1.0},"135":{"tf":1.0},"14":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"87":{"tf":1.0},"92":{"tf":1.0}}},"r":{"df":0,"docs":{},"e":{"df":20,"docs":{"100":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"41":{"tf":1.0},"58":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"71":{"tf":1.0},"76":{"tf":1.0},"87":{"tf":1.4142135623730951},"92":{"tf":1.0}}}}},"x":{".":{"df":0,"docs":{},"​":{"(":{"1":{"9":{".":{"3":{".":{"1":{"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":{}}},"=":{"df":0,"docs":{},"e":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"a":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ψ":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"i":{"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":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"a":{"^":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{")":{"df":0,"docs":{},"i":{"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":{}}},"df":0,"docs":{}},"∂":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ψ":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"i":{"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":{}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":21,"docs":{"122":{"tf":1.0},"127":{"tf":1.0},"142":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"31":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"57":{"tf":1.7320508075688772},"6":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.4142135623730951},"76":{"tf":1.0},"83":{"tf":1.0},"91":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{}}},"}":{"(":{"d":{"_":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"×":{"d":{"df":3,"docs":{"42":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"≥":{"d":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{")":{"=":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"+":{"df":0,"docs":{},"h":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"m":{"2":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"h":{"2":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{")":{".":{"(":{"4":{".":{"1":{".":{"1":{"df":1,"docs":{"25":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"j":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"e":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"j":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"df":0,"docs":{},"j":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{},"​":{"=":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"x":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{")":{"=":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"~":{"df":0,"docs":{},"n":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"m":{"2":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"2":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{")":{".":{"df":0,"docs":{},"​":{"(":{"2":{".":{"1":{".":{"1":{"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":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"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":{},"t":{"df":0,"docs":{},"λ":{"=":{"0":{"a":{"df":0,"docs":{},"x":{"=":{"b":{"df":0,"docs":{},"​":{"(":{"2":{".":{"2":{".":{"2":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"−":{"df":0,"docs":{},"k":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"0":{",":{"a":{"df":0,"docs":{},"x":{"=":{"b":{",":{"df":0,"docs":{},"∀":{"df":0,"docs":{},"k":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"t":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"21":{"tf":3.3166247903554},"22":{"tf":2.6457513110645907}}}},"df":4,"docs":{"14":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.0},"59":{"tf":1.0}},"′":{")":{"+":{"df":0,"docs":{},"h":{"2":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"d":{"^":{"df":0,"docs":{},"∂":{"d":{"df":0,"docs":{},"∂":{"b":{"df":0,"docs":{},"​":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"′":{")":{")":{"df":0,"docs":{},"∇":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"′":{")":{"=":{"0":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"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":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"′":{")":{")":{"=":{"0":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"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":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"′":{")":{"=":{"0":{",":{"(":{"7":{".":{"3":{".":{"2":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"j":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"′":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"′":{")":{"=":{"0":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"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":{},"j":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∗":{")":{"=":{"0":{",":{"df":0,"docs":{},"∀":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{"2":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"v":{"1":{"df":1,"docs":{"82":{"tf":2.0}}},"2":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"[":{"(":{"df":0,"docs":{},"i":{"df":2,"docs":{"25":{"tf":1.0},"85":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":2,"docs":{"25":{"tf":1.7320508075688772},"85":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"g":{"df":6,"docs":{"120":{"tf":1.4142135623730951},"131":{"tf":1.0},"136":{"tf":1.0},"14":{"tf":1.0},"54":{"tf":1.0},"87":{"tf":1.0}}}},"0":{"[":{"0":{"df":1,"docs":{"118":{"tf":2.23606797749979}}},"1":{"df":1,"docs":{"118":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":6,"docs":{"106":{"tf":1.0},"118":{"tf":3.605551275463989},"120":{"tf":2.8284271247461903},"124":{"tf":1.0},"125":{"tf":2.23606797749979},"130":{"tf":1.0}},"​":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"∩":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"n":{"df":1,"docs":{"112":{"tf":1.0}}}}}}},"1":{"[":{"0":{"df":1,"docs":{"118":{"tf":2.23606797749979}}},"1":{"df":1,"docs":{"118":{"tf":2.23606797749979}}},"df":0,"docs":{}},"df":5,"docs":{"118":{"tf":3.3166247903554},"120":{"tf":2.8284271247461903},"124":{"tf":1.0},"125":{"tf":2.0},"134":{"tf":1.7320508075688772}},"​":{"'":{"df":1,"docs":{"134":{"tf":1.0}}},",":{"df":1,"docs":{"134":{"tf":1.0}}},"<":{"df":1,"docs":{"134":{"tf":1.0}}},"df":0,"docs":{},"−":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"⋅":{"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"−":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{")":{"<":{"0":{",":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"p":{"df":0,"docs":{},"−":{"df":0,"docs":{},"e":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"2":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"118":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"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":1,"docs":{"118":{"tf":1.0}}},"1":{"df":1,"docs":{"118":{"tf":1.0}}},"df":0,"docs":{},"i":{"]":{"[":{"(":{"df":0,"docs":{},"j":{"df":1,"docs":{"117":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"27":{"tf":1.0}}},"j":{"df":1,"docs":{"27":{"tf":1.0}}}},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"86":{"tf":1.0}}},"j":{"df":1,"docs":{"86":{"tf":1.0}}}}},"df":0,"docs":{}},"df":1,"docs":{"86":{"tf":1.7320508075688772}}}},"_":{"df":0,"docs":{},"i":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"26":{"tf":1.7320508075688772}}}},"df":1,"docs":{"22":{"tf":1.0}}},"j":{"df":1,"docs":{"22":{"tf":1.0}}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"28":{"tf":1.7320508075688772},"54":{"tf":1.0},"67":{"tf":1.0}}}}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"h":{"df":67,"docs":{"10":{"tf":1.0},"100":{"tf":1.0},"101":{"tf":1.0},"105":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.4142135623730951},"112":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":2.0},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"130":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"136":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"29":{"tf":2.6457513110645907},"30":{"tf":1.0},"32":{"tf":2.449489742783178},"4":{"tf":1.0},"42":{"tf":1.4142135623730951},"45":{"tf":1.0},"48":{"tf":1.4142135623730951},"5":{"tf":2.449489742783178},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"57":{"tf":1.0},"59":{"tf":1.0},"6":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"64":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":2.23606797749979},"67":{"tf":2.23606797749979},"69":{"tf":1.0},"7":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.7320508075688772},"75":{"tf":1.0},"76":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.4142135623730951},"85":{"tf":2.0},"88":{"tf":2.0},"90":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":1,"docs":{"15":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"4":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"107":{"tf":1.0},"120":{"tf":1.0},"52":{"tf":1.0},"63":{"tf":1.0},"76":{"tf":1.0},"82":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"'":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"i":{"df":4,"docs":{"106":{"tf":1.0},"5":{"tf":1.0},"76":{"tf":1.0},"82":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"74":{"tf":1.0},"77":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.0},"41":{"tf":1.0}}}}}}},"d":{"df":0,"docs":{},"g":{"df":27,"docs":{"108":{"tf":1.0},"112":{"tf":2.23606797749979},"113":{"tf":1.4142135623730951},"114":{"tf":3.0},"117":{"tf":2.8284271247461903},"118":{"tf":3.0},"119":{"tf":2.449489742783178},"120":{"tf":3.605551275463989},"121":{"tf":2.0},"123":{"tf":2.23606797749979},"124":{"tf":2.449489742783178},"125":{"tf":2.449489742783178},"126":{"tf":1.0},"127":{"tf":1.7320508075688772},"133":{"tf":2.23606797749979},"134":{"tf":4.123105625617661},"138":{"tf":1.4142135623730951},"140":{"tf":1.4142135623730951},"141":{"tf":2.23606797749979},"25":{"tf":2.449489742783178},"27":{"tf":2.8284271247461903},"29":{"tf":1.7320508075688772},"5":{"tf":2.0},"56":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"71":{"tf":1.0},"85":{"tf":1.7320508075688772}},"e":{"'":{"df":1,"docs":{"121":{"tf":1.0}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{".":{"a":{"d":{"d":{"(":{"(":{"df":0,"docs":{},"e":{"[":{"df":0,"docs":{},"i":{"]":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"117":{"tf":1.0}}}},"df":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":{"117":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":23,"docs":{"106":{"tf":2.0},"107":{"tf":1.7320508075688772},"112":{"tf":1.7320508075688772},"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"117":{"tf":1.7320508075688772},"118":{"tf":3.3166247903554},"123":{"tf":1.0},"125":{"tf":1.4142135623730951},"130":{"tf":1.7320508075688772},"25":{"tf":1.4142135623730951},"27":{"tf":2.0},"28":{"tf":3.872983346207417},"29":{"tf":2.0},"35":{"tf":2.6457513110645907},"54":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.7320508075688772},"74":{"tf":1.0},"82":{"tf":2.0},"85":{"tf":2.23606797749979},"86":{"tf":1.7320508075688772},"87":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":26,"docs":{"10":{"tf":1.0},"111":{"tf":1.0},"137":{"tf":1.0},"14":{"tf":1.4142135623730951},"16":{"tf":2.23606797749979},"17":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.7320508075688772},"5":{"tf":1.7320508075688772},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"55":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.7320508075688772},"74":{"tf":1.0},"85":{"tf":1.0},"93":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"c":{"df":0,"docs":{},"i":{"df":25,"docs":{"121":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.7320508075688772},"23":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.0},"36":{"tf":1.4142135623730951},"38":{"tf":1.0},"41":{"tf":1.7320508075688772},"42":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.7320508075688772},"50":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"6":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"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":{"4":{"tf":1.0}}}}}}}}}}}},"t":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"i":{"0":{"df":1,"docs":{"126":{"tf":2.0}}},"1":{"df":1,"docs":{"126":{"tf":2.0}}},"[":{"0":{"df":4,"docs":{"117":{"tf":1.0},"119":{"tf":2.0},"120":{"tf":1.0},"125":{"tf":1.4142135623730951}}},"1":{"df":4,"docs":{"117":{"tf":1.4142135623730951},"119":{"tf":2.0},"120":{"tf":1.0},"125":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":5,"docs":{"117":{"tf":1.0},"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"125":{"tf":1.0},"29":{"tf":1.0}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"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":{"22":{"tf":2.449489742783178}}}}}}}}}},"df":0,"docs":{}}},"df":1,"docs":{"27":{"tf":1.0}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":3,"docs":{"22":{"tf":1.7320508075688772},"23":{"tf":1.0},"27":{"tf":1.7320508075688772}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"92":{"tf":1.0}}}}}}}}},"l":{"a":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"101":{"tf":1.0},"24":{"tf":1.0},"4":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":47,"docs":{"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":3.0},"108":{"tf":1.7320508075688772},"116":{"tf":1.4142135623730951},"119":{"tf":2.0},"125":{"tf":1.0},"128":{"tf":1.0},"131":{"tf":2.0},"132":{"tf":1.0},"14":{"tf":2.8284271247461903},"142":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.7320508075688772},"22":{"tf":1.0},"27":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"48":{"tf":1.7320508075688772},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.7320508075688772},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":2.6457513110645907},"68":{"tf":1.4142135623730951},"69":{"tf":2.0},"71":{"tf":1.7320508075688772},"72":{"tf":1.4142135623730951},"73":{"tf":2.0},"74":{"tf":4.123105625617661},"75":{"tf":1.7320508075688772},"76":{"tf":2.8284271247461903},"77":{"tf":3.0},"78":{"tf":1.0},"79":{"tf":2.0},"81":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":2.449489742783178},"85":{"tf":1.0},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"88":{"tf":1.4142135623730951},"91":{"tf":1.0},"96":{"tf":1.0}},"o":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":10,"docs":{"116":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.7320508075688772},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"24":{"tf":1.0},"29":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"105":{"tf":1.0}}},"df":36,"docs":{"103":{"tf":1.0},"104":{"tf":2.449489742783178},"105":{"tf":3.0},"106":{"tf":1.7320508075688772},"107":{"tf":1.4142135623730951},"108":{"tf":1.7320508075688772},"109":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.4142135623730951},"116":{"tf":1.0},"117":{"tf":2.449489742783178},"12":{"tf":1.0},"128":{"tf":1.4142135623730951},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":2.0},"142":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"20":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"4":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":2.0},"67":{"tf":1.0},"78":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":2.8284271247461903},"88":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"f":{"df":2,"docs":{"118":{"tf":1.4142135623730951},"125":{"tf":1.0}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":17,"docs":{"136":{"tf":1.0},"23":{"tf":1.0},"33":{"tf":1.7320508075688772},"34":{"tf":2.449489742783178},"35":{"tf":1.4142135623730951},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":2.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"68":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"45":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"29":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}},"u":{"c":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"m":{"b":{"df":0,"docs":{},"e":{"d":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":3,"docs":{"29":{"tf":1.0},"5":{"tf":1.0},"74":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"7":{"tf":1.0}},"i":{"df":1,"docs":{"5":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"y":{"df":15,"docs":{"139":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"55":{"tf":1.0},"79":{"tf":1.0},"85":{"tf":1.0},"9":{"tf":1.0}}}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":9,"docs":{"101":{"tf":1.0},"14":{"tf":1.0},"141":{"tf":1.0},"20":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"30":{"tf":1.4142135623730951},"45":{"tf":1.0}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"28":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0}}}}}}},"d":{"df":7,"docs":{"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"134":{"tf":1.4142135623730951},"35":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.0},"84":{"tf":1.0}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.4142135623730951}}}}}}},"{":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"59":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"59":{"tf":2.0}}}}},"p":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"142":{"tf":1.0},"35":{"tf":1.0}}}},"i":{"df":59,"docs":{"10":{"tf":1.0},"101":{"tf":1.7320508075688772},"106":{"tf":1.0},"107":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":3.0},"121":{"tf":1.4142135623730951},"122":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":2.6457513110645907},"128":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"134":{"tf":1.4142135623730951},"139":{"tf":1.0},"14":{"tf":2.6457513110645907},"141":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"20":{"tf":2.6457513110645907},"21":{"tf":3.1622776601683795},"22":{"tf":2.449489742783178},"23":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"27":{"tf":3.3166247903554},"29":{"tf":1.0},"30":{"tf":1.4142135623730951},"35":{"tf":1.7320508075688772},"48":{"tf":2.0},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":2.23606797749979},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"67":{"tf":2.8284271247461903},"68":{"tf":1.7320508075688772},"72":{"tf":1.0},"73":{"tf":2.6457513110645907},"74":{"tf":3.605551275463989},"75":{"tf":2.0},"76":{"tf":3.3166247903554},"77":{"tf":2.449489742783178},"78":{"tf":1.4142135623730951},"79":{"tf":2.0},"80":{"tf":1.0},"83":{"tf":1.0},"86":{"tf":3.0},"88":{"tf":1.0},"99":{"tf":1.0}}}}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"c":{"df":14,"docs":{"100":{"tf":1.7320508075688772},"101":{"tf":1.0},"103":{"tf":1.0},"111":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":2.23606797749979},"55":{"tf":1.0},"67":{"tf":1.0},"77":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}}},"g":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"29":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"69":{"tf":1.0},"79":{"tf":1.0}}}}},"h":{"a":{"df":0,"docs":{},"n":{"c":{"df":11,"docs":{"132":{"tf":1.0},"17":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"34":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0},"60":{"tf":1.0},"67":{"tf":1.0},"77":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":4,"docs":{"5":{"tf":1.0},"52":{"tf":1.0},"67":{"tf":1.0},"92":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"30":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":35,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.7320508075688772},"11":{"tf":1.0},"131":{"tf":1.4142135623730951},"134":{"tf":1.0},"136":{"tf":1.0},"16":{"tf":2.0},"18":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"36":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"88":{"tf":1.4142135623730951},"99":{"tf":1.0}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":2,"docs":{"132":{"tf":1.0},"34":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"67":{"tf":1.0}}}},"i":{"df":0,"docs":{},"r":{"df":11,"docs":{"105":{"tf":1.0},"123":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.0},"86":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"69":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":10,"docs":{"106":{"tf":1.0},"108":{"tf":1.0},"130":{"tf":1.0},"26":{"tf":2.0},"33":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"42":{"tf":1.0},"66":{"tf":1.0},"79":{"tf":1.0},"81":{"tf":1.4142135623730951}}}}}},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":3,"docs":{"16":{"tf":2.23606797749979},"48":{"tf":1.0},"87":{"tf":1.0}}}}}},"v":{"df":2,"docs":{"126":{"tf":2.0},"63":{"tf":4.123105625617661}},"h":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":18,"docs":{"103":{"tf":1.0},"15":{"tf":2.23606797749979},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"21":{"tf":1.0},"27":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":2.23606797749979},"36":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.0},"71":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.0}}},"t":{"df":62,"docs":{"101":{"tf":2.23606797749979},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":2.0},"107":{"tf":1.7320508075688772},"11":{"tf":2.0},"113":{"tf":2.0},"115":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.0},"123":{"tf":1.4142135623730951},"124":{"tf":1.0},"131":{"tf":3.0},"132":{"tf":1.0},"134":{"tf":2.0},"14":{"tf":2.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"20":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951},"27":{"tf":1.0},"32":{"tf":2.23606797749979},"33":{"tf":2.8284271247461903},"34":{"tf":1.7320508075688772},"4":{"tf":1.0},"40":{"tf":1.4142135623730951},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":2.449489742783178},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":2.0},"58":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951},"63":{"tf":2.449489742783178},"67":{"tf":1.4142135623730951},"69":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.7320508075688772},"74":{"tf":2.449489742783178},"75":{"tf":1.4142135623730951},"80":{"tf":1.7320508075688772},"81":{"tf":1.0},"82":{"tf":1.0},"85":{"tf":1.4142135623730951},"87":{"tf":3.1622776601683795},"88":{"tf":1.7320508075688772},"89":{"tf":2.8284271247461903},"9":{"tf":1.4142135623730951},"90":{"tf":1.4142135623730951},"91":{"tf":2.23606797749979},"92":{"tf":2.23606797749979},"93":{"tf":1.4142135623730951},"94":{"tf":2.0},"95":{"tf":3.0},"96":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":2.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"—":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"93":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"89":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"63":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"v":{"a":{"df":0,"docs":{},"l":{"df":10,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"131":{"tf":1.0},"40":{"tf":1.0},"49":{"tf":1.0},"57":{"tf":1.0},"87":{"tf":1.4142135623730951},"89":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}}}},"df":1,"docs":{"59":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":12,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"103":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"49":{"tf":1.0},"57":{"tf":1.0},"66":{"tf":1.0},"87":{"tf":1.0}}}}}},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":9,"docs":{"120":{"tf":1.0},"133":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":19,"docs":{"100":{"tf":1.0},"139":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"56":{"tf":1.0},"59":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"83":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"93":{"tf":1.0}}}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":12,"docs":{"117":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"5":{"tf":2.0},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"91":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":8,"docs":{"11":{"tf":1.7320508075688772},"120":{"tf":2.0},"121":{"tf":1.0},"22":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.0},"73":{"tf":1.0},"9":{"tf":1.0}}}}}},"t":{"a":{"df":1,"docs":{"120":{"tf":1.7320508075688772}}},"c":{"df":3,"docs":{"14":{"tf":1.0},"58":{"tf":1.0},"76":{"tf":1.0}}},"df":11,"docs":{"114":{"tf":1.0},"120":{"tf":1.0},"134":{"tf":1.0},"142":{"tf":3.0},"41":{"tf":1.0},"5":{"tf":1.0},"58":{"tf":1.0},"76":{"tf":1.4142135623730951},"79":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.7320508075688772}}},"u":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"10":{"tf":3.1622776601683795},"104":{"tf":1.0},"11":{"tf":2.23606797749979},"12":{"tf":1.7320508075688772},"14":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":2.23606797749979},"35":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951},"9":{"tf":2.23606797749979},"96":{"tf":1.4142135623730951},"97":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"90":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":13,"docs":{"112":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"20":{"tf":1.0},"28":{"tf":1.4142135623730951},"30":{"tf":1.0},"53":{"tf":1.0},"66":{"tf":1.0},"95":{"tf":1.7320508075688772},"96":{"tf":1.0},"99":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":16,"docs":{"102":{"tf":1.0},"11":{"tf":1.4142135623730951},"112":{"tf":1.0},"114":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"57":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":6,"docs":{"106":{"tf":1.0},"112":{"tf":1.0},"130":{"tf":1.0},"29":{"tf":1.0},"4":{"tf":1.0},"54":{"tf":1.0}}}},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"p":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"df":2,"docs":{"29":{"tf":1.0},"5":{"tf":1.0}},"u":{"df":3,"docs":{"10":{"tf":1.0},"29":{"tf":1.0},"9":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"y":{"d":{"a":{"df":0,"docs":{},"y":{"df":2,"docs":{"5":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"103":{"tf":1.0}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"105":{"tf":1.4142135623730951},"114":{"tf":1.0},"118":{"tf":1.0},"121":{"tf":1.0},"134":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"63":{"tf":1.0}}}}}}}}},"i":{"d":{"df":2,"docs":{"40":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}},"v":{"df":3,"docs":{"69":{"tf":1.0},"7":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"53":{"tf":1.0},"54":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":9,"docs":{"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"113":{"tf":1.0},"126":{"tf":1.0},"32":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"87":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":10,"docs":{"109":{"tf":1.0},"112":{"tf":1.0},"127":{"tf":1.0},"136":{"tf":1.0},"23":{"tf":1.0},"37":{"tf":1.0},"51":{"tf":1.0},"7":{"tf":1.0},"73":{"tf":1.0},"93":{"tf":1.0}}}},"p":{"df":0,"docs":{},"l":{"df":37,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"120":{"tf":1.0},"126":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.4142135623730951},"32":{"tf":2.449489742783178},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"38":{"tf":1.7320508075688772},"41":{"tf":1.0},"42":{"tf":1.7320508075688772},"45":{"tf":2.0},"5":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.7320508075688772},"53":{"tf":2.23606797749979},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"74":{"tf":1.4142135623730951},"76":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.4142135623730951},"85":{"tf":1.0},"87":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"e":{"df":1,"docs":{"20":{"tf":1.0}},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"34":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"l":{"df":2,"docs":{"12":{"tf":1.0},"5":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"t":{"df":5,"docs":{"123":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"63":{"tf":1.0},"76":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"u":{"d":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":3,"docs":{"16":{"tf":1.0},"27":{"tf":1.0},"75":{"tf":1.0}}}}},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"24":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":8,"docs":{"10":{"tf":1.0},"116":{"tf":1.0},"122":{"tf":1.0},"125":{"tf":1.0},"16":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":1.0},"5":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":8,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"27":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.0},"74":{"tf":1.0},"83":{"tf":1.0},"91":{"tf":1.4142135623730951}}}}},"h":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"41":{"tf":1.0},"74":{"tf":1.0}}}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":12,"docs":{"104":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"21":{"tf":1.7320508075688772},"29":{"tf":1.0},"30":{"tf":1.0},"48":{"tf":1.0},"67":{"tf":1.0},"77":{"tf":1.0},"91":{"tf":1.4142135623730951}}}}},"p":{"a":{"df":0,"docs":{},"n":{"d":{"df":3,"docs":{"131":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"16":{"tf":1.0},"18":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":6,"docs":{"114":{"tf":1.0},"121":{"tf":1.0},"22":{"tf":1.0},"50":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"105":{"tf":1.0},"29":{"tf":1.0},"74":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}}}}}},"l":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"106":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0}}}},"n":{"df":2,"docs":{"34":{"tf":1.0},"88":{"tf":1.0}}}},"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":7,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"58":{"tf":1.4142135623730951},"78":{"tf":1.0},"8":{"tf":2.449489742783178},"9":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"115":{"tf":1.0},"124":{"tf":1.0},"58":{"tf":1.0}}}}}}},"df":0,"docs":{}},"o":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"40":{"tf":1.0}}}},"r":{"df":22,"docs":{"104":{"tf":1.0},"108":{"tf":1.0},"12":{"tf":1.0},"127":{"tf":1.0},"132":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"4":{"tf":1.7320508075688772},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"89":{"tf":1.0}}},"s":{"df":1,"docs":{"29":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"114":{"tf":1.0}}},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.4142135623730951}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":33,"docs":{"105":{"tf":2.0},"113":{"tf":1.0},"118":{"tf":3.0},"121":{"tf":1.4142135623730951},"123":{"tf":1.0},"125":{"tf":1.7320508075688772},"129":{"tf":1.0},"134":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"22":{"tf":1.0},"27":{"tf":1.4142135623730951},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"38":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"49":{"tf":1.0},"58":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.7320508075688772},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"79":{"tf":1.0},"82":{"tf":2.0},"85":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.7320508075688772},"91":{"tf":1.4142135623730951},"95":{"tf":1.4142135623730951}}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":12,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"105":{"tf":1.4142135623730951},"118":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.0},"45":{"tf":1.4142135623730951},"5":{"tf":1.7320508075688772},"6":{"tf":1.0},"61":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":2,"docs":{"132":{"tf":1.0},"61":{"tf":1.0}}},"t":{"df":3,"docs":{"49":{"tf":1.0},"5":{"tf":1.0},"71":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"n":{"df":6,"docs":{"106":{"tf":1.0},"14":{"tf":1.0},"52":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}}}}},"r":{"a":{"df":4,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"122":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":2,"docs":{"66":{"tf":1.4142135623730951},"67":{"tf":1.0}}}},"u":{"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}}},"}":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"∈":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"a":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"df":0,"docs":{},"ψ":{"df":1,"docs":{"107":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"f":{"\"":{"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":{},"{":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"}":{".":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"j":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"(":{"df":0,"docs":{},"x":{")":{":":{"df":0,"docs":{},"ω":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"91":{"tf":1.0}}},"df":0,"docs":{}}}}},"=":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"+":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"20":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"x":{")":{"d":{"df":0,"docs":{},"x":{"=":{"0":{"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":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"95":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ϕ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"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":{}},"df":0,"docs":{},"n":{"df":1,"docs":{"107":{"tf":1.0}}}}},"^":{"df":0,"docs":{},"i":{"df":2,"docs":{"11":{"tf":1.4142135623730951},"59":{"tf":1.0}}},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"11":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":8,"docs":{"14":{"tf":2.0},"20":{"tf":1.0},"59":{"tf":1.0},"85":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"96":{"tf":1.0}}},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"f":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"∥":{")":{"=":{"1":{"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"∈":{"[":{"0":{",":{"1":{"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{")":{"=":{"1":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"∈":{"[":{"0":{",":{"1":{"df":1,"docs":{"57":{"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":{},"ω":{"0":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"×":{"d":{"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":{},"r":{"d":{"df":0,"docs":{},"×":{"d":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"df":1,"docs":{"73":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"=":{"0":{"df":1,"docs":{"74":{"tf":1.0}}},"4":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"−":{"df":0,"docs":{},"i":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"f":{"2":{"df":0,"docs":{},"​":{"+":{"2":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"j":{"df":0,"docs":{},"−":{"1":{")":{"2":{".":{"(":{"1":{"3":{".":{"1":{".":{"1":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":1,"docs":{"74":{"tf":1.0}}}},"r":{"df":0,"docs":{},"f":{"df":2,"docs":{"74":{"tf":1.0},"80":{"tf":1.0}}}}},"^":{"(":{"df":0,"docs":{},"σ":{")":{"=":{"4":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"i":{"=":{"1":{"df":0,"docs":{},"∑":{"d":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"1":{")":{"2":{"+":{"2":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"i":{"=":{"1":{"df":0,"docs":{},"∏":{"d":{"df":0,"docs":{},"​":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"1":{")":{"2":{"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":{},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"f":{"\"":{"df":0,"docs":{},"f":{"df":1,"docs":{"29":{"tf":1.4142135623730951}}},"v":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"/":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":1,"docs":{"131":{"tf":1.0}}}}},"0":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"126":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"h":{"df":1,"docs":{"63":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"′":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"y":{")":{"=":{"df":0,"docs":{},"f":{"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"y":{"/":{"df":0,"docs":{},"h":{"df":1,"docs":{"58":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"1":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{")":{"=":{"df":0,"docs":{},"​":{"1":{"df":0,"docs":{},"∗":{"df":0,"docs":{},"∗":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∗":{"0":{"df":0,"docs":{},"∗":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∗":{"df":0,"docs":{},"∗":{"0":{"df":1,"docs":{"81":{"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":{},"v":{"_":{"df":0,"docs":{},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"126":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"126":{"tf":1.0},"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":1,"docs":{"58":{"tf":1.4142135623730951}},"​":{"(":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{")":{"/":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"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":{},"v":{"df":0,"docs":{},"​":{")":{"=":{"0":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{")":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"−":{"df":0,"docs":{},"f":{"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{")":{")":{"/":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"2":{"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":{}}}},"3":{"(":{"df":0,"docs":{},"k":{"df":0,"docs":{},"−":{"1":{")":{"+":{"df":0,"docs":{},"l":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"p":{"3":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"−":{"1":{")":{"+":{"df":0,"docs":{},"j":{"df":1,"docs":{"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":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"=":{"[":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{"]":{"[":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"−":{"1":{".":{"(":{"1":{"5":{".":{"1":{".":{"1":{"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":{},"r":{"df":1,"docs":{"74":{"tf":1.0}}},"u":{".":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"[":{"df":0,"docs":{},"v":{"df":1,"docs":{"82":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"[":{"df":0,"docs":{},"v":{"df":1,"docs":{"82":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"σ":{"df":0,"docs":{},"v":{"df":2,"docs":{"77":{"tf":1.0},"80":{"tf":1.0}},"t":{"df":1,"docs":{"75":{"tf":1.0}}}}}},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":1,"docs":{"107":{"tf":1.0}}}}}}},"^":{"df":0,"docs":{},"n":{"df":2,"docs":{"7":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"126":{"tf":1.0},"63":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"m":{"df":1,"docs":{"59":{"tf":1.7320508075688772}}},"u":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":1,"docs":{"59":{"tf":1.4142135623730951}}}},"a":{"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"40":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0}},"t":{"df":1,"docs":{"16":{"tf":1.0}}}},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"16":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"88":{"tf":1.0}}}}}},"t":{"df":5,"docs":{"53":{"tf":1.0},"58":{"tf":1.0},"81":{"tf":1.0},"87":{"tf":1.0},"95":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"41":{"tf":1.0},"66":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"117":{"tf":1.4142135623730951},"51":{"tf":1.0},"66":{"tf":1.0}}},"s":{"df":4,"docs":{"120":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"67":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"r":{"df":3,"docs":{"11":{"tf":1.0},"18":{"tf":1.0},"66":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"117":{"tf":1.0},"50":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"120":{"tf":1.0},"139":{"tf":1.0},"22":{"tf":1.0}}}}}}},"df":31,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":1.0},"123":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"14":{"tf":1.7320508075688772},"29":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"71":{"tf":2.449489742783178},"72":{"tf":1.0},"73":{"tf":2.23606797749979},"74":{"tf":3.0},"75":{"tf":2.6457513110645907},"76":{"tf":2.449489742783178},"77":{"tf":2.23606797749979},"78":{"tf":1.4142135623730951},"79":{"tf":2.6457513110645907},"80":{"tf":1.7320508075688772},"81":{"tf":1.7320508075688772},"82":{"tf":2.23606797749979},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":2.0},"86":{"tf":2.6457513110645907},"88":{"tf":1.0},"9":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":8,"docs":{"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"36":{"tf":1.0},"43":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.4142135623730951},"83":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":4,"docs":{"16":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.4142135623730951},"77":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"w":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"15":{"tf":1.0}}}},"m":{"df":14,"docs":{"103":{"tf":1.0},"105":{"tf":2.0},"107":{"tf":1.4142135623730951},"111":{"tf":1.0},"12":{"tf":1.7320508075688772},"121":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":2.8284271247461903},"90":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}}},"n":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"o":{"df":1,"docs":{"142":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"w":{"df":1,"docs":{"23":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"113":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":15,"docs":{"105":{"tf":2.0},"107":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.4142135623730951},"48":{"tf":1.0},"5":{"tf":1.4142135623730951},"55":{"tf":1.0},"6":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"88":{"tf":1.0},"91":{"tf":1.7320508075688772},"92":{"tf":1.7320508075688772},"94":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":30,"docs":{"10":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"120":{"tf":1.4142135623730951},"126":{"tf":1.7320508075688772},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"20":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"45":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"5":{"tf":2.8284271247461903},"52":{"tf":1.4142135623730951},"53":{"tf":2.449489742783178},"54":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951},"63":{"tf":2.23606797749979},"66":{"tf":1.0},"67":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"9":{"tf":1.0},"95":{"tf":1.4142135623730951}}}}},"j":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ϕ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"=":{"1":{",":{"df":0,"docs":{},"…":{",":{"d":{"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":{}}},"l":{"df":0,"docs":{},"e":{"df":2,"docs":{"29":{"tf":1.4142135623730951},"30":{"tf":1.0}},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"df":1,"docs":{"29":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"113":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.0},"120":{"tf":1.7320508075688772},"121":{"tf":1.4142135623730951},"132":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":2.23606797749979},"52":{"tf":1.4142135623730951},"53":{"tf":2.23606797749979},"54":{"tf":2.23606797749979},"55":{"tf":1.4142135623730951},"76":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":2.8284271247461903}}}}}},"n":{"a":{"df":0,"docs":{},"l":{"df":18,"docs":{"101":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.4142135623730951},"127":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.4142135623730951},"42":{"tf":1.0},"52":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0},"81":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.0},"96":{"tf":1.0}}}},"d":{"_":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"(":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":9,"docs":{"11":{"tf":1.4142135623730951},"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"136":{"tf":1.0},"21":{"tf":1.4142135623730951},"43":{"tf":1.0},"53":{"tf":1.7320508075688772},"59":{"tf":1.4142135623730951},"84":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"116":{"tf":1.0}}}},"t":{"df":25,"docs":{"103":{"tf":1.0},"104":{"tf":2.23606797749979},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.7320508075688772},"109":{"tf":1.0},"111":{"tf":1.0},"116":{"tf":1.0},"12":{"tf":1.4142135623730951},"142":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.4142135623730951},"67":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"96":{"tf":1.0},"97":{"tf":1.0}}}},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}}}},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":42,"docs":{"107":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.4142135623730951},"120":{"tf":2.23606797749979},"124":{"tf":1.0},"131":{"tf":1.0},"139":{"tf":1.0},"142":{"tf":1.0},"22":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"4":{"tf":1.0},"42":{"tf":2.449489742783178},"49":{"tf":1.0},"5":{"tf":1.4142135623730951},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":1.0},"74":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":2.0},"80":{"tf":1.4142135623730951},"81":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.4142135623730951},"97":{"tf":1.0},"99":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.0}}}}}}},"t":{"df":2,"docs":{"104":{"tf":1.0},"17":{"tf":1.0}}},"x":{"df":16,"docs":{"122":{"tf":1.0},"124":{"tf":1.0},"15":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":3.605551275463989},"60":{"tf":1.4142135623730951},"66":{"tf":1.0},"7":{"tf":1.0},"76":{"tf":1.0}}}},"k":{"df":1,"docs":{"57":{"tf":1.4142135623730951}},"l":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"82":{"tf":1.0}}}}}}}},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"t":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}}}},"−":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"t":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{")":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{")":{",":{"(":{"9":{".":{"1":{".":{"2":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"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":{},"w":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"142":{"tf":1.0},"69":{"tf":1.0}}}},"x":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"29":{"tf":1.0}}}},"o":{"a":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"[":{"0":{"]":{")":{":":{".":{"6":{"df":0,"docs":{},"f":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"]":{")":{":":{".":{"6":{"df":0,"docs":{},"f":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":2,"docs":{"54":{"tf":1.0},"66":{"tf":1.0}}}},"df":0,"docs":{},"w":{"df":3,"docs":{"70":{"tf":1.0},"72":{"tf":1.4142135623730951},"90":{"tf":1.0}}}}},"n":{"=":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"t":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":2,"docs":{"76":{"tf":1.4142135623730951},"77":{"tf":1.0}}},"o":{"c":{"df":0,"docs":{},"u":{"df":9,"docs":{"104":{"tf":1.0},"122":{"tf":1.0},"16":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"50":{"tf":1.0},"67":{"tf":1.0}},"s":{"df":8,"docs":{"109":{"tf":1.0},"12":{"tf":1.0},"139":{"tf":1.0},"36":{"tf":1.0},"70":{"tf":1.4142135623730951},"77":{"tf":1.0},"8":{"tf":1.0},"94":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"116":{"tf":1.0},"122":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":39,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.0},"11":{"tf":1.4142135623730951},"115":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"120":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.4142135623730951},"36":{"tf":1.0},"40":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.4142135623730951},"85":{"tf":1.7320508075688772},"86":{"tf":1.4142135623730951},"91":{"tf":1.0}}}}}},"r":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"49":{"tf":1.0}}}},"c":{"df":56,"docs":{"100":{"tf":2.6457513110645907},"101":{"tf":3.0},"102":{"tf":2.23606797749979},"103":{"tf":2.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.7320508075688772},"112":{"tf":1.7320508075688772},"113":{"tf":1.0},"114":{"tf":1.7320508075688772},"115":{"tf":1.7320508075688772},"117":{"tf":1.0},"118":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":2.449489742783178},"124":{"tf":1.0},"127":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"14":{"tf":3.7416573867739413},"16":{"tf":2.23606797749979},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"27":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":2.449489742783178},"49":{"tf":1.7320508075688772},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":2.0},"57":{"tf":2.6457513110645907},"58":{"tf":3.4641016151377544},"6":{"tf":1.4142135623730951},"60":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"84":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":3.3166247903554},"92":{"tf":1.4142135623730951},"94":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":2.0}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"​":{"(":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":1,"docs":{"91":{"tf":1.0}},"​":{")":{"=":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"∂":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{")":{")":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"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":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}}}},"g":{"df":0,"docs":{},"o":{"df":1,"docs":{"29":{"tf":1.0}}}}},"m":{"'":{"df":1,"docs":{"92":{"tf":1.0}}},"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"41":{"tf":1.0}}}},"df":45,"docs":{"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"103":{"tf":1.7320508075688772},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"11":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.7320508075688772},"114":{"tf":1.4142135623730951},"115":{"tf":1.7320508075688772},"116":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.4142135623730951},"126":{"tf":1.0},"128":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"4":{"tf":1.0},"42":{"tf":1.0},"5":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":3.0},"9":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":4.0},"93":{"tf":2.449489742783178},"94":{"tf":2.23606797749979},"95":{"tf":3.0},"96":{"tf":1.4142135623730951},"97":{"tf":2.23606797749979},"98":{"tf":1.0},"99":{"tf":2.8284271247461903}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":5,"docs":{"58":{"tf":1.0},"8":{"tf":1.0},"82":{"tf":2.23606797749979},"85":{"tf":1.0},"96":{"tf":1.0}}},"df":19,"docs":{"103":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"27":{"tf":1.7320508075688772},"32":{"tf":2.0},"4":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"5":{"tf":1.0},"58":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.4142135623730951},"89":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}}}},"—":{"a":{"df":1,"docs":{"94":{"tf":1.0}}},"df":0,"docs":{}},"→":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"115":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"115":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":1,"docs":{"115":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"h":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"30":{"tf":1.0}}}}},"df":1,"docs":{"29":{"tf":1.0}}},"u":{"df":0,"docs":{},"n":{"df":6,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"114":{"tf":1.0},"118":{"tf":1.0},"22":{"tf":1.0},"42":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":7,"docs":{"10":{"tf":1.4142135623730951},"12":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.0},"43":{"tf":1.0},"8":{"tf":1.0},"9":{"tf":2.449489742783178}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"t":{"df":3,"docs":{"5":{"tf":1.0},"7":{"tf":1.0},"88":{"tf":1.0}}}},"df":10,"docs":{"116":{"tf":1.0},"122":{"tf":1.0},"131":{"tf":1.7320508075688772},"24":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"r":{"df":1,"docs":{"16":{"tf":1.0}}}}},"r":{")":{"=":{"df":0,"docs":{},"ψ":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"21":{"tf":1.0},"82":{"tf":1.4142135623730951}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.7320508075688772}}}}},"{":{"1":{"df":0,"docs":{},"}":{"df":0,"docs":{},"{":{"2":{"df":1,"docs":{"14":{"tf":1.4142135623730951}},"}":{"\\":{"df":0,"docs":{},"|":{"df":0,"docs":{},"x":{"df":1,"docs":{"26":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"d":{"df":2,"docs":{"7":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"14":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"v":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"x":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":7,"docs":{"117":{"tf":1.0},"29":{"tf":1.7320508075688772},"35":{"tf":1.0},"54":{"tf":1.0},"59":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.7320508075688772}},"r":{"df":1,"docs":{"35":{"tf":1.0}}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":17,"docs":{"103":{"tf":1.0},"122":{"tf":1.0},"13":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"24":{"tf":1.0},"30":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0},"79":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":17,"docs":{"101":{"tf":1.0},"114":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"43":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.0},"54":{"tf":1.0},"60":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"82":{"tf":1.0},"94":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0}}}}},"df":20,"docs":{"0":{"tf":1.0},"100":{"tf":1.0},"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"116":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"132":{"tf":1.0},"142":{"tf":1.0},"18":{"tf":1.0},"51":{"tf":1.4142135623730951},"53":{"tf":2.449489742783178},"71":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":2.0},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.7320508075688772}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":47,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":3.1622776601683795},"103":{"tf":1.7320508075688772},"109":{"tf":1.4142135623730951},"115":{"tf":1.7320508075688772},"116":{"tf":1.4142135623730951},"117":{"tf":1.0},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"122":{"tf":3.0},"123":{"tf":3.7416573867739413},"124":{"tf":2.23606797749979},"125":{"tf":2.0},"126":{"tf":3.605551275463989},"127":{"tf":2.8284271247461903},"128":{"tf":1.0},"132":{"tf":1.0},"133":{"tf":1.7320508075688772},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":2.449489742783178},"141":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":4.358898943540674},"18":{"tf":1.4142135623730951},"30":{"tf":1.0},"31":{"tf":1.0},"43":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":2.449489742783178},"57":{"tf":3.1622776601683795},"58":{"tf":4.123105625617661},"59":{"tf":2.449489742783178},"60":{"tf":2.8284271247461903},"61":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":3.872983346207417},"64":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951},"97":{"tf":1.0},"98":{"tf":2.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"126":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"116":{"tf":1.0},"121":{"tf":1.0},"62":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"t":{"=":{"df":0,"docs":{},"f":{"df":0,"docs":{},"−":{"1":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"j":{"df":0,"docs":{},"≡":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{")":{"=":{"1":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":1,"docs":{"74":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{},"x":{"df":1,"docs":{"58":{"tf":1.0}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"114":{"tf":1.0},"122":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"82":{"tf":1.0}}}}},"n":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"16":{"tf":1.0}}},"df":58,"docs":{"100":{"tf":1.0},"101":{"tf":2.6457513110645907},"102":{"tf":1.0},"104":{"tf":1.0},"105":{"tf":2.6457513110645907},"107":{"tf":1.4142135623730951},"108":{"tf":1.7320508075688772},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":2.23606797749979},"117":{"tf":1.4142135623730951},"118":{"tf":1.7320508075688772},"119":{"tf":2.0},"121":{"tf":1.7320508075688772},"123":{"tf":1.4142135623730951},"124":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951},"129":{"tf":2.0},"134":{"tf":2.23606797749979},"141":{"tf":1.7320508075688772},"16":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":2.0},"26":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":2.449489742783178},"47":{"tf":1.0},"48":{"tf":2.0},"49":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"71":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":3.3166247903554},"75":{"tf":1.7320508075688772},"76":{"tf":2.23606797749979},"77":{"tf":2.23606797749979},"78":{"tf":1.0},"79":{"tf":2.0},"82":{"tf":1.0},"83":{"tf":1.0},"87":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"92":{"tf":2.0},"93":{"tf":1.4142135623730951},"95":{"tf":4.242640687119285},"97":{"tf":2.23606797749979}}}}}}},"d":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"7":{"tf":1.0},"78":{"tf":1.0},"89":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":13,"docs":{"122":{"tf":1.0},"134":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.0},"34":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"77":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"7":{"tf":1.0},"80":{"tf":1.0}}}}}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"1":{"tf":1.0},"29":{"tf":1.0},"55":{"tf":1.0},"67":{"tf":1.0},"95":{"tf":1.0}}}}}},"∂":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"81":{"tf":1.0}}}},"df":0,"docs":{}}}}},"p":{"df":4,"docs":{"79":{"tf":1.7320508075688772},"82":{"tf":1.7320508075688772},"83":{"tf":1.0},"86":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"f":{")":{")":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":0,"docs":{},"​":{"=":{"(":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{")":{")":{"df":0,"docs":{},"k":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"​":{"df":0,"docs":{},"v":{"df":0,"docs":{},"s":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"v":{"df":0,"docs":{},"j":{"df":0,"docs":{},"l":{"df":1,"docs":{"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":{}},"σ":{")":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"s":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{")":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"∂":{"df":1,"docs":{"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":{},"f":{")":{"=":{"df":0,"docs":{},"μ":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"−":{"df":0,"docs":{},"f":{"df":0,"docs":{},"−":{"df":0,"docs":{},"t":{")":{"+":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"j":{")":{"df":0,"docs":{},"f":{"df":0,"docs":{},"−":{"df":0,"docs":{},"t":{"df":1,"docs":{"74":{"tf":1.0}}}}}},"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":{},"p":{"^":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"80":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"∈":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"×":{"d":{"df":3,"docs":{"72":{"tf":1.0},"74":{"tf":1.4142135623730951},"76":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"−":{"df":0,"docs":{},"f":{"df":0,"docs":{},"−":{"df":0,"docs":{},"t":{"=":{"0":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"⋅":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"f":{"d":{"df":0,"docs":{},"x":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"g":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"f":{"(":{"2":{")":{"+":{"df":0,"docs":{},"f":{"df":0,"docs":{},"′":{"(":{"2":{")":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"2":{")":{"+":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"f":{"df":0,"docs":{},"′":{"df":0,"docs":{},"′":{"(":{"2":{")":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"2":{")":{"2":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":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":{"20":{"tf":1.4142135623730951},"95":{"tf":1.0}}}},"[":{"0":{"df":1,"docs":{"118":{"tf":1.0}}},"1":{"df":1,"docs":{"118":{"tf":1.0}}},"2":{"df":1,"docs":{"118":{"tf":1.0}}},"3":{"df":1,"docs":{"118":{"tf":1.0}}},"4":{"df":1,"docs":{"118":{"tf":1.0}}},"5":{"df":1,"docs":{"118":{"tf":1.0}}},"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"[":{"df":0,"docs":{},"i":{"]":{"[":{"0":{"df":1,"docs":{"27":{"tf":1.0}}},"1":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{},"j":{"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"0":{"df":1,"docs":{"126":{"tf":1.0}}},"1":{"df":1,"docs":{"126":{"tf":1.0}}},"[":{"0":{"df":1,"docs":{"119":{"tf":1.0}}},"1":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"]":{"[":{"1":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":5,"docs":{"26":{"tf":1.0},"35":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0}}},"x":{"df":0,"docs":{},"i":{"df":2,"docs":{"119":{"tf":1.0},"126":{"tf":1.0}}}}},"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"27":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"a":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"j":{"df":1,"docs":{"86":{"tf":1.0}}}},"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"p":{"[":{"2":{":":{"4":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"118":{"tf":1.4142135623730951}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"v":{"df":1,"docs":{"126":{"tf":2.0}}}},"df":0,"docs":{}}}}},"a":{"df":1,"docs":{"69":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"17":{"tf":1.0},"29":{"tf":1.0},"63":{"tf":1.0}}}},"m":{"df":0,"docs":{},"m":{"a":{"_":{"df":0,"docs":{},"k":{"df":1,"docs":{"16":{"tf":2.6457513110645907}}},"{":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"49":{"tf":2.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"—":{"a":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"139":{"tf":1.0},"29":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"113":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":13,"docs":{"118":{"tf":1.4142135623730951},"14":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"86":{"tf":1.4142135623730951},"89":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"1":{".":{"0":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"25":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":31,"docs":{"101":{"tf":1.4142135623730951},"105":{"tf":1.0},"11":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":1.4142135623730951},"12":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"25":{"tf":2.23606797749979},"30":{"tf":1.0},"37":{"tf":1.4142135623730951},"40":{"tf":2.0},"41":{"tf":1.0},"42":{"tf":2.0},"43":{"tf":1.4142135623730951},"45":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"82":{"tf":1.0},"85":{"tf":1.4142135623730951},"92":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.0}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":1,"docs":{"101":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"y":{"df":1,"docs":{"142":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":3,"docs":{"104":{"tf":1.0},"14":{"tf":1.0},"5":{"tf":1.4142135623730951}},"i":{"df":9,"docs":{"12":{"tf":1.4142135623730951},"128":{"tf":1.0},"140":{"tf":1.0},"25":{"tf":1.4142135623730951},"45":{"tf":2.23606797749979},"5":{"tf":3.1622776601683795},"6":{"tf":1.0},"7":{"tf":1.0},"92":{"tf":1.4142135623730951}}}}}}}},"q":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951}}},"t":{"df":1,"docs":{"134":{"tf":1.0}},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"c":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"i":{"c":{"(":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"131":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"d":{"(":{"b":{"df":1,"docs":{"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":{}}}}},"i":{"df":1,"docs":{"42":{"tf":1.0}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":2,"docs":{"1":{"tf":1.0},"2":{"tf":1.0}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":11,"docs":{"106":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.0},"16":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.0},"82":{"tf":1.4142135623730951},"92":{"tf":1.0},"96":{"tf":1.0}},"n":{"df":23,"docs":{"10":{"tf":1.0},"103":{"tf":1.0},"11":{"tf":1.4142135623730951},"113":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"136":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"66":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"76":{"tf":1.0},"82":{"tf":1.4142135623730951},"9":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}}}}},"l":{"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"o":{"b":{"a":{"df":0,"docs":{},"l":{"df":11,"docs":{"113":{"tf":1.0},"115":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"27":{"tf":2.0},"30":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"o":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"32":{"tf":1.0},"4":{"tf":1.0}}}},"df":1,"docs":{"92":{"tf":1.0}},"e":{"df":2,"docs":{"142":{"tf":1.0},"76":{"tf":1.0}}},"n":{"df":0,"docs":{},"z":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"z":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}}},"df":0,"docs":{}}},"o":{"d":{"df":2,"docs":{"22":{"tf":1.0},"92":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":7,"docs":{"104":{"tf":1.0},"70":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.4142135623730951},"91":{"tf":1.0},"93":{"tf":1.0},"98":{"tf":1.0}}}}}}},"r":{"a":{"d":{"(":{"df":0,"docs":{},"p":{"0":{"df":1,"docs":{"118":{"tf":1.0}}},"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"v":{"df":1,"docs":{"63":{"tf":1.0}}},"x":{"df":7,"docs":{"26":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"86":{"tf":1.0}}}},"df":1,"docs":{"26":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":45,"docs":{"101":{"tf":1.0},"102":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"117":{"tf":1.0},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.7320508075688772},"131":{"tf":1.0},"132":{"tf":1.0},"134":{"tf":1.7320508075688772},"139":{"tf":1.0},"14":{"tf":1.0},"141":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":2.23606797749979},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"58":{"tf":2.23606797749979},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"71":{"tf":3.0},"72":{"tf":1.4142135623730951},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":2.449489742783178},"88":{"tf":1.4142135623730951}}}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"10":{"tf":1.0},"34":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"69":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"c":{"df":7,"docs":{"128":{"tf":1.0},"20":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"69":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"79":{"tf":1.0}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"p":{"df":1,"docs":{"4":{"tf":1.0}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"14":{"tf":1.7320508075688772},"35":{"tf":1.7320508075688772},"89":{"tf":1.0}},"i":{"df":8,"docs":{"14":{"tf":1.7320508075688772},"18":{"tf":1.0},"35":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0},"91":{"tf":1.0}}},"y":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"35":{"tf":1.0}}}},"v":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"5":{"tf":1.0}}}}},"i":{"d":{"df":7,"docs":{"105":{"tf":1.0},"12":{"tf":1.0},"136":{"tf":1.7320508075688772},"17":{"tf":1.0},"45":{"tf":2.8284271247461903},"5":{"tf":3.4641016151377544},"55":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"n":{"[":{"0":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"117":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951}}},"o":{"[":{"1":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":2,"docs":{"117":{"tf":1.0},"62":{"tf":1.0}}}},"df":12,"docs":{"117":{"tf":1.4142135623730951},"120":{"tf":2.0},"126":{"tf":1.4142135623730951},"15":{"tf":1.0},"47":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":2.6457513110645907},"61":{"tf":1.0},"62":{"tf":2.23606797749979},"67":{"tf":1.0},"7":{"tf":1.0},"87":{"tf":1.4142135623730951}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":2,"docs":{"37":{"tf":1.0},"6":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"w":{"df":2,"docs":{"120":{"tf":1.0},"9":{"tf":1.0}}}}},"u":{"a":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":19,"docs":{"11":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"131":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"23":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"59":{"tf":1.0}}}}},"i":{"d":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}}}},"h":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.0},"35":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"=":{"0":{".":{"0":{"1":{"df":2,"docs":{"52":{"tf":1.0},"54":{"tf":1.0}}},"2":{"df":2,"docs":{"29":{"tf":1.0},"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"[":{"df":0,"docs":{},"h":{"b":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"]":{",":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"=":{"[":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"]":{",":{"df":0,"docs":{},"g":{"=":{"[":{"df":0,"docs":{},"g":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"33":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":1,"docs":{"118":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"df":0,"docs":{},"}":{"_":{"0":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"^":{"2":{"df":1,"docs":{"49":{"tf":1.0}}},"=":{"df":0,"docs":{},"h":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{},"i":{"=":{"(":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"v":{"/":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"−":{"1":{"df":2,"docs":{"123":{"tf":1.0},"58":{"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":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"27":{"tf":2.0}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"a":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":3,"docs":{"14":{"tf":1.0},"45":{"tf":1.0},"69":{"tf":1.0}}}},"l":{"df":0,"docs":{},"f":{"df":5,"docs":{"117":{"tf":1.4142135623730951},"45":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"62":{"tf":1.0},"67":{"tf":1.0}}},"t":{"df":1,"docs":{"10":{"tf":1.0}}},"v":{"df":1,"docs":{"21":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"115":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"n":{"d":{"df":4,"docs":{"16":{"tf":1.0},"34":{"tf":1.0},"92":{"tf":2.0},"95":{"tf":1.0}},"l":{"df":16,"docs":{"101":{"tf":1.0},"117":{"tf":1.4142135623730951},"12":{"tf":1.0},"141":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.0},"36":{"tf":1.0},"5":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"6":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":2.449489742783178}}}},"o":{"df":1,"docs":{"142":{"tf":1.0}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"16":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"74":{"tf":1.0},"77":{"tf":1.0}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":5,"docs":{"121":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.7320508075688772},"139":{"tf":1.0},"141":{"tf":1.0}}}},"t":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"m":{"b":{"d":{"a":{"df":1,"docs":{"22":{"tf":1.0}},"}":{"_":{"df":0,"docs":{},"{":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"d":{"df":3,"docs":{"48":{"tf":2.0},"49":{"tf":2.0},"52":{"tf":1.0}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"e":{"df":6,"docs":{"28":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.0}}}},"​":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"]":{"[":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"]":{"=":{"[":{"df":0,"docs":{},"−":{"df":0,"docs":{},"g":{"0":{"df":0,"docs":{},"​":{"]":{".":{"(":{"5":{".":{"1":{".":{"3":{"df":1,"docs":{"32":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":15,"docs":{"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"14":{"tf":2.0},"26":{"tf":1.0},"28":{"tf":4.795831523312719},"29":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":2.8284271247461903},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"67":{"tf":3.0}},"e":{"a":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"78":{"tf":1.0},"87":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951}}}}}},"l":{"df":0,"docs":{},"p":{"df":7,"docs":{"104":{"tf":1.0},"135":{"tf":1.0},"18":{"tf":1.4142135623730951},"27":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"66":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"63":{"tf":1.0}}}}}},"n":{"c":{"df":2,"docs":{"22":{"tf":1.4142135623730951},"33":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"e":{"df":58,"docs":{"100":{"tf":1.0},"101":{"tf":1.7320508075688772},"102":{"tf":1.4142135623730951},"103":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":1.4142135623730951},"107":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"118":{"tf":1.0},"119":{"tf":2.23606797749979},"120":{"tf":1.0},"123":{"tf":2.0},"124":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"131":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.7320508075688772},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"35":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.0},"6":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"85":{"tf":1.4142135623730951},"87":{"tf":1.7320508075688772},"89":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"p":{"0":{"df":1,"docs":{"118":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":1,"docs":{"63":{"tf":1.0}}},"x":{"df":6,"docs":{"26":{"tf":1.0},"27":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"86":{"tf":1.0}}}},"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"v":{"[":{"df":0,"docs":{},"r":{"df":1,"docs":{"126":{"tf":1.0}}}},"df":1,"docs":{"126":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"26":{"tf":1.4142135623730951}},"i":{"a":{"df":0,"docs":{},"n":{"df":30,"docs":{"114":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.7320508075688772},"131":{"tf":1.4142135623730951},"139":{"tf":1.0},"22":{"tf":1.7320508075688772},"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.7320508075688772},"27":{"tf":2.23606797749979},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.0},"41":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.4142135623730951},"58":{"tf":2.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"67":{"tf":1.7320508075688772},"86":{"tf":2.449489742783178},"88":{"tf":1.0}}}},"df":0,"docs":{}}}}},"h":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"126":{"tf":1.4142135623730951},"63":{"tf":3.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":4,"docs":{"121":{"tf":1.0},"135":{"tf":1.0},"137":{"tf":1.7320508075688772},"141":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"g":{"df":0,"docs":{},"h":{"df":10,"docs":{"12":{"tf":1.0},"133":{"tf":1.0},"16":{"tf":1.0},"24":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"21":{"tf":1.0},"45":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"76":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"113":{"tf":1.0},"18":{"tf":1.0}},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"102":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"df":1,"docs":{"17":{"tf":1.0}}}},"t":{"df":2,"docs":{"52":{"tf":1.0},"53":{"tf":1.0}}}},"o":{"df":0,"docs":{},"l":{"d":{"df":9,"docs":{"119":{"tf":1.0},"134":{"tf":1.0},"21":{"tf":1.0},"34":{"tf":1.0},"49":{"tf":1.4142135623730951},"75":{"tf":1.0},"82":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"92":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"'":{"df":2,"docs":{"27":{"tf":1.0},"79":{"tf":1.0}}},"a":{"df":0,"docs":{},"n":{"df":12,"docs":{"142":{"tf":1.0},"20":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.4142135623730951},"86":{"tf":1.0},"88":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":5,"docs":{"25":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0}}}}}}}},"w":{"df":1,"docs":{"142":{"tf":1.0}}}},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{":":{"/":{"/":{"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":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":8,"docs":{"116":{"tf":1.0},"122":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"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":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"b":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"h":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"−":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"33":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"−":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{",":{"(":{"5":{".":{"2":{".":{"3":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{}},"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":{},"​":{"]":{"[":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"]":{"=":{"[":{"df":0,"docs":{},"−":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"​":{"0":{"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":{}}}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"68":{"tf":1.0},"79":{"tf":1.7320508075688772},"83":{"tf":1.0},"88":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}},"∈":{"[":{"0":{",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":1,"docs":{"53":{"tf":1.0}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"(":{"0":{"df":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{},"x":{"df":2,"docs":{"114":{"tf":1.0},"134":{"tf":1.0}}}},"+":{"1":{"df":1,"docs":{"29":{"tf":1.7320508075688772}}},"df":0,"docs":{}},",":{"df":0,"docs":{},"j":{"df":1,"docs":{"49":{"tf":1.4142135623730951}}}},".":{"df":4,"docs":{"107":{"tf":1.0},"139":{"tf":1.0},"74":{"tf":1.0},"96":{"tf":1.0}}},"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"j":{"2":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}}}}},"=":{"0":{",":{"1":{",":{"2":{",":{".":{".":{".":{",":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"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":{},"i":{"^":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"95":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"j":{"df":1,"docs":{"75":{"tf":1.0}}}},"\\":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"6":{"tf":1.0}}}}},"df":0,"docs":{}},"^":{"=":{"1":{",":{"2":{",":{"df":0,"docs":{},"…":{",":{"d":{"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":{}},"b":{"[":{"0":{"df":1,"docs":{"86":{"tf":3.4641016151377544}}},"1":{"df":1,"docs":{"86":{"tf":3.4641016151377544}}},"df":0,"docs":{},"i":{"df":2,"docs":{"85":{"tf":1.0},"86":{"tf":2.23606797749979}}}},"df":2,"docs":{"85":{"tf":1.0},"86":{"tf":2.449489742783178}}},"d":{"=":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"[":{"2":{"df":1,"docs":{"82":{"tf":1.0}}},"3":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"df":4,"docs":{"101":{"tf":1.0},"125":{"tf":1.0},"136":{"tf":1.0},"80":{"tf":1.0}},"l":{"df":1,"docs":{"65":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":7,"docs":{"32":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"80":{"tf":1.0}},"i":{"df":0,"docs":{},"f":{"df":1,"docs":{"16":{"tf":1.0}},"i":{"df":8,"docs":{"108":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"136":{"tf":1.0},"26":{"tf":1.0},"35":{"tf":1.0},"41":{"tf":1.0},"67":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"111":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"76":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}}}}}},"i":{"df":1,"docs":{"75":{"tf":1.4142135623730951}}},"j":{"=":{"1":{"1":{",":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"=":{"2":{"2":{",":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"=":{"3":{"3":{"df":1,"docs":{"81":{"tf":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":{"81":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"81":{"tf":1.0},"86":{"tf":1.0}},"v":{"[":{"0":{"]":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":2,"docs":{"62":{"tf":1.0},"63":{"tf":1.0}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":3,"docs":{"119":{"tf":1.0},"126":{"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":{},"i":{"df":2,"docs":{"26":{"tf":1.0},"54":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"86":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"28":{"tf":1.0}}},"1":{"]":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":2,"docs":{"62":{"tf":1.0},"63":{"tf":1.0}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"j":{"df":3,"docs":{"119":{"tf":1.0},"126":{"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":{},"i":{"df":2,"docs":{"26":{"tf":1.0},"54":{"tf":1.0}},"n":{"d":{"df":1,"docs":{"86":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"28":{"tf":1.0}}},"2":{"]":{"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"26":{"tf":1.0},"54":{"tf":1.4142135623730951}},"n":{"d":{"df":1,"docs":{"86":{"tf":1.0}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":5,"docs":{"119":{"tf":1.0},"126":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"28":{"tf":1.0}}}},"m":{"df":1,"docs":{"28":{"tf":1.4142135623730951}},"s":{"[":{"2":{"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":8,"docs":{"26":{"tf":1.7320508075688772},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"54":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951}}},"​":{"=":{"1":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{},"λ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∗":{")":{"=":{"0":{".":{"df":0,"docs":{},"​":{"(":{"7":{".":{"3":{".":{"1":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}}}},"k":{"df":1,"docs":{"81":{"tf":1.0}}},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":16,"docs":{"10":{"tf":1.4142135623730951},"114":{"tf":1.0},"20":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"57":{"tf":1.4142135623730951},"6":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0}}}}}}}},"m":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"5":{"tf":1.4142135623730951},"67":{"tf":1.0},"87":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"36":{"tf":1.0}}}}},"df":0,"docs":{},"v":{"df":1,"docs":{"15":{"tf":1.0}}}}},"p":{"a":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0},"41":{"tf":1.0},"52":{"tf":1.0}}}},"df":0,"docs":{}},"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":43,"docs":{"104":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.7320508075688772},"116":{"tf":1.7320508075688772},"117":{"tf":1.4142135623730951},"118":{"tf":2.23606797749979},"119":{"tf":2.23606797749979},"120":{"tf":2.449489742783178},"121":{"tf":1.7320508075688772},"122":{"tf":2.0},"123":{"tf":1.0},"125":{"tf":2.0},"126":{"tf":2.8284271247461903},"127":{"tf":1.4142135623730951},"131":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.7320508075688772},"26":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"28":{"tf":2.0},"29":{"tf":2.23606797749979},"30":{"tf":1.4142135623730951},"32":{"tf":1.0},"35":{"tf":2.449489742783178},"5":{"tf":1.0},"54":{"tf":2.23606797749979},"61":{"tf":1.4142135623730951},"62":{"tf":2.6457513110645907},"63":{"tf":2.6457513110645907},"64":{"tf":1.0},"67":{"tf":3.605551275463989},"79":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.7320508075688772},"86":{"tf":2.23606797749979},"87":{"tf":1.7320508075688772},"88":{"tf":1.0}}}}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":22,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":2.23606797749979},"12":{"tf":1.0},"122":{"tf":1.4142135623730951},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.4142135623730951},"141":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":2.23606797749979},"35":{"tf":1.4142135623730951},"58":{"tf":2.8284271247461903},"59":{"tf":1.7320508075688772},"60":{"tf":1.7320508075688772},"63":{"tf":2.0},"64":{"tf":1.4142135623730951},"79":{"tf":1.0},"83":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":9,"docs":{"10":{"tf":1.0},"129":{"tf":1.0},"20":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"9":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":23,"docs":{"11":{"tf":1.0},"118":{"tf":2.23606797749979},"120":{"tf":2.0},"123":{"tf":1.0},"127":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"27":{"tf":2.23606797749979},"28":{"tf":2.8284271247461903},"29":{"tf":2.449489742783178},"30":{"tf":1.0},"35":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.4142135623730951},"6":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"67":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.0},"86":{"tf":1.7320508075688772}}}},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"71":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"40":{"tf":1.0},"41":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"v":{"df":3,"docs":{"1":{"tf":1.0},"11":{"tf":1.0},"120":{"tf":1.0}}}}}}},"n":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"34":{"tf":1.0}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"52":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"105":{"tf":1.0}}}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":1,"docs":{"52":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"34":{"tf":1.0}}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}}}}}}}},"c":{"df":0,"docs":{},"i":{"d":{"df":12,"docs":{"106":{"tf":1.4142135623730951},"107":{"tf":1.0},"112":{"tf":2.0},"113":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.4142135623730951},"130":{"tf":1.0},"134":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"62":{"tf":1.0},"63":{"tf":1.0}}}},"u":{"d":{"df":14,"docs":{"100":{"tf":1.0},"106":{"tf":1.0},"118":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.4142135623730951},"31":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"58":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"99":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":1,"docs":{"27":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"74":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":11,"docs":{"123":{"tf":1.0},"127":{"tf":1.0},"132":{"tf":1.0},"27":{"tf":1.4142135623730951},"36":{"tf":1.0},"47":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"67":{"tf":1.0},"92":{"tf":1.0},"99":{"tf":1.7320508075688772}}}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":11,"docs":{"105":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"118":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"41":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"71":{"tf":1.0}}}},"d":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":30,"docs":{"14":{"tf":1.4142135623730951},"142":{"tf":1.7320508075688772},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"25":{"tf":1.0},"28":{"tf":1.7320508075688772},"30":{"tf":1.0},"32":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"35":{"tf":1.0},"36":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"55":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"91":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"21":{"tf":1.0}}}}},"d":{"df":1,"docs":{"86":{"tf":1.0}},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":4,"docs":{"112":{"tf":1.0},"41":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}}},"x":{"df":12,"docs":{"107":{"tf":1.0},"117":{"tf":1.7320508075688772},"119":{"tf":1.0},"121":{"tf":1.0},"126":{"tf":1.0},"26":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"71":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.4142135623730951}}}},"i":{"c":{"df":19,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"117":{"tf":1.4142135623730951},"124":{"tf":1.0},"136":{"tf":1.4142135623730951},"16":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.4142135623730951},"35":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.7320508075688772},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":2.23606797749979},"72":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"u":{"df":1,"docs":{"70":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"27":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}}}},"q":{"df":0,"docs":{},"u":{"df":5,"docs":{"16":{"tf":2.0},"18":{"tf":1.0},"30":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":6,"docs":{"128":{"tf":1.0},"14":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":2.8284271247461903},"29":{"tf":1.0},"66":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}},"y":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.0},"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"26":{"tf":1.0}}}},"v":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.0},"35":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"114":{"tf":1.0}}}}}},"f":{"df":2,"docs":{"28":{"tf":1.7320508075688772},"67":{"tf":1.7320508075688772}},"e":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"16":{"tf":1.0},"34":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"101":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.0},"76":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"42":{"tf":1.0},"95":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":6,"docs":{"101":{"tf":1.0},"113":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"77":{"tf":1.0},"93":{"tf":1.0}}}}}}}}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":3,"docs":{"14":{"tf":1.0},"17":{"tf":1.0},"29":{"tf":1.0}}},"df":0,"docs":{}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":7,"docs":{"124":{"tf":2.449489742783178},"125":{"tf":1.4142135623730951},"33":{"tf":1.0},"5":{"tf":1.4142135623730951},"67":{"tf":1.0},"85":{"tf":1.0},"98":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"53":{"tf":1.0},"54":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"4":{"tf":1.0},"50":{"tf":1.0},"90":{"tf":1.0},"93":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"df":3,"docs":{"54":{"tf":1.0},"62":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"29":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":29,"docs":{"11":{"tf":1.7320508075688772},"117":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":2.6457513110645907},"30":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"4":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"59":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":2.449489742783178},"7":{"tf":1.4142135623730951},"70":{"tf":1.7320508075688772},"71":{"tf":1.0},"72":{"tf":1.0},"75":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"64":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"126":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":4,"docs":{"114":{"tf":1.0},"124":{"tf":1.4142135623730951},"58":{"tf":1.0},"74":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":9,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"108":{"tf":1.0},"118":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.0},"91":{"tf":1.0}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":6,"docs":{"120":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0},"37":{"tf":1.0},"41":{"tf":1.0},"70":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":2,"docs":{"27":{"tf":1.0},"58":{"tf":1.0}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"12":{"tf":1.4142135623730951},"131":{"tf":1.0},"29":{"tf":1.0}}}},"df":0,"docs":{},"n":{"c":{"df":9,"docs":{"25":{"tf":1.0},"29":{"tf":1.0},"38":{"tf":1.0},"45":{"tf":1.0},"6":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"e":{"a":{"d":{"df":5,"docs":{"121":{"tf":1.0},"29":{"tf":1.0},"53":{"tf":1.4142135623730951},"84":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":2,"docs":{"53":{"tf":1.0},"55":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":71,"docs":{"10":{"tf":2.0},"100":{"tf":1.0},"101":{"tf":2.6457513110645907},"103":{"tf":1.0},"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":3.0},"111":{"tf":1.0},"112":{"tf":2.449489742783178},"113":{"tf":2.449489742783178},"114":{"tf":1.4142135623730951},"115":{"tf":2.449489742783178},"117":{"tf":1.0},"12":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":2.0},"124":{"tf":1.7320508075688772},"127":{"tf":1.0},"130":{"tf":1.0},"132":{"tf":1.0},"134":{"tf":1.4142135623730951},"14":{"tf":2.23606797749979},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":2.0},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":2.23606797749979},"29":{"tf":1.7320508075688772},"30":{"tf":1.0},"32":{"tf":1.4142135623730951},"35":{"tf":1.0},"36":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"5":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.4142135623730951},"56":{"tf":1.0},"58":{"tf":2.8284271247461903},"6":{"tf":1.0},"60":{"tf":2.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"7":{"tf":2.23606797749979},"73":{"tf":1.4142135623730951},"77":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":2.0},"83":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.4142135623730951},"90":{"tf":1.0},"91":{"tf":2.0},"92":{"tf":2.23606797749979},"93":{"tf":2.0},"95":{"tf":2.0},"96":{"tf":1.0},"97":{"tf":1.7320508075688772},"99":{"tf":1.4142135623730951}}}},"n":{"d":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"df":0,"docs":{},"s":{"df":4,"docs":{"12":{"tf":1.0},"135":{"tf":1.0},"15":{"tf":1.0},"79":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"71":{"tf":1.0}}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":7,"docs":{"117":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"12":{"tf":1.0},"25":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"1":{"tf":1.0},"115":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"105":{"tf":1.0}}}}}}}}}},"f":{"a":{"c":{"df":6,"docs":{"114":{"tf":1.0},"118":{"tf":1.0},"126":{"tf":1.0},"56":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"111":{"tf":1.0},"128":{"tf":1.0},"16":{"tf":1.7320508075688772},"45":{"tf":1.0},"5":{"tf":1.0},"54":{"tf":1.0}}}}},"m":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.0}}},"1":{"df":1,"docs":{"86":{"tf":1.0}}},"2":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"3":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"4":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"5":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"86":{"tf":2.8284271247461903}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":7,"docs":{"107":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"48":{"tf":1.0},"86":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":3,"docs":{"71":{"tf":1.0},"79":{"tf":1.0},"91":{"tf":1.4142135623730951}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":25,"docs":{"100":{"tf":2.23606797749979},"101":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":1.0},"127":{"tf":1.0},"133":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":1.7320508075688772},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.7320508075688772},"53":{"tf":2.0},"54":{"tf":1.4142135623730951},"56":{"tf":1.4142135623730951},"65":{"tf":1.7320508075688772},"67":{"tf":1.0},"68":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"87":{"tf":1.7320508075688772},"88":{"tf":1.4142135623730951}}}}}}},"o":{"df":0,"docs":{},"l":{"df":7,"docs":{"105":{"tf":1.7320508075688772},"108":{"tf":1.0},"21":{"tf":1.0},"45":{"tf":2.23606797749979},"55":{"tf":1.0},"95":{"tf":2.8284271247461903},"97":{"tf":1.7320508075688772}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"48":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":7,"docs":{"121":{"tf":1.0},"136":{"tf":1.4142135623730951},"142":{"tf":1.0},"34":{"tf":1.0},"44":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{}}},"v":{"df":3,"docs":{"11":{"tf":1.0},"7":{"tf":1.4142135623730951},"96":{"tf":1.0}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"41":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"c":{"a":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}},"df":4,"docs":{"16":{"tf":1.0},"31":{"tf":1.0},"45":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"16":{"tf":1.0}}}}},"o":{"d":{"df":0,"docs":{},"u":{"c":{"df":34,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"11":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"18":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"31":{"tf":1.0},"4":{"tf":1.4142135623730951},"48":{"tf":1.4142135623730951},"50":{"tf":1.0},"51":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"72":{"tf":1.0},"74":{"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.4142135623730951},"84":{"tf":1.0},"94":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.0}},"t":{"df":3,"docs":{"24":{"tf":1.0},"50":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":13,"docs":{"130":{"tf":1.0},"133":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"34":{"tf":1.0},"4":{"tf":1.0},"53":{"tf":1.4142135623730951},"66":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951},"77":{"tf":1.0}}}}}},"v":{"0":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}},"1":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}},"2":{"_":{"0":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}},"1":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"29":{"tf":1.0},"5":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"20":{"tf":1.4142135623730951},"74":{"tf":2.449489742783178},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":20,"docs":{"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"116":{"tf":1.4142135623730951},"117":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.4142135623730951},"132":{"tf":1.0},"142":{"tf":1.0},"68":{"tf":1.4142135623730951},"71":{"tf":1.7320508075688772},"76":{"tf":1.7320508075688772},"77":{"tf":1.4142135623730951},"83":{"tf":1.0},"84":{"tf":2.23606797749979},"85":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":3.0},"88":{"tf":2.0}}},"t":{"df":7,"docs":{"142":{"tf":1.4142135623730951},"22":{"tf":1.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.0},"76":{"tf":2.23606797749979},"77":{"tf":1.0},"82":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":29,"docs":{"107":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"132":{"tf":1.0},"135":{"tf":1.0},"140":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.7320508075688772},"22":{"tf":1.0},"23":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.4142135623730951},"41":{"tf":1.0},"5":{"tf":1.7320508075688772},"50":{"tf":1.0},"52":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"74":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}}}}}}},"p":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951}}}},"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"35":{"tf":1.0}}}},"df":1,"docs":{"28":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"x":{"df":4,"docs":{"28":{"tf":2.0},"35":{"tf":1.0},"54":{"tf":1.0},"67":{"tf":1.0}}}},"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}},"c":{"df":18,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"122":{"tf":1.0},"134":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"44":{"tf":1.4142135623730951},"45":{"tf":1.7320508075688772},"51":{"tf":1.7320508075688772},"52":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":2.0},"64":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}},"df":2,"docs":{"35":{"tf":1.4142135623730951},"53":{"tf":2.0}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"45":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"v":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"82":{"tf":1.0}}}},"s":{"_":{"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"35":{"tf":1.4142135623730951},"67":{"tf":1.0}},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":2,"docs":{"35":{"tf":1.0},"67":{"tf":1.0}}},"j":{"df":2,"docs":{"35":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":3,"docs":{"35":{"tf":2.0},"63":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"'":{"df":0,"docs":{},"t":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"55":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":7,"docs":{"74":{"tf":2.0},"75":{"tf":1.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"82":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"u":{"df":16,"docs":{"118":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.4142135623730951},"134":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":2.0},"21":{"tf":1.0},"23":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":2.23606797749979},"53":{"tf":2.449489742783178},"55":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0}}}}},"t":{"'":{"df":14,"docs":{"100":{"tf":1.0},"11":{"tf":1.7320508075688772},"116":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"37":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"6":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"78":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":19,"docs":{"11":{"tf":2.0},"120":{"tf":1.7320508075688772},"121":{"tf":1.0},"122":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"21":{"tf":1.7320508075688772},"28":{"tf":1.7320508075688772},"29":{"tf":1.0},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.8284271247461903},"54":{"tf":1.4142135623730951},"59":{"tf":3.1622776601683795},"60":{"tf":1.4142135623730951},"66":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":5,"docs":{"134":{"tf":1.0},"16":{"tf":1.0},"30":{"tf":1.0},"53":{"tf":1.0},"92":{"tf":1.0}}}}}}},"​":{"+":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"→":{"0":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}}}}},"=":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":2,"docs":{"75":{"tf":1.0},"77":{"tf":1.0}}}}}},"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"95":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"σ":{"df":0,"docs":{},"j":{"df":1,"docs":{"82":{"tf":1.0}}}},"​":{"+":{"df":0,"docs":{},"ψ":{"^":{",":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"→":{"0":{"df":1,"docs":{"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":{},"j":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"→":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"j":{"df":1,"docs":{"82":{"tf":1.0}}}}},"∂":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"2":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"−":{"a":{"df":0,"docs":{},"t":{"(":{"a":{"a":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"−":{"1":{"a":{")":{"df":0,"docs":{},"h":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"=":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"−":{"a":{"df":0,"docs":{},"t":{"(":{"a":{"a":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"−":{"1":{"a":{")":{"(":{"df":0,"docs":{},"−":{"df":0,"docs":{},"g":{")":{",":{"(":{"6":{".":{"2":{".":{"2":{"df":1,"docs":{"40":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":{},"h":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"=":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"−":{"a":{"df":0,"docs":{},"t":{"a":{")":{"(":{"df":0,"docs":{},"−":{"df":0,"docs":{},"g":{")":{".":{"(":{"5":{".":{"2":{".":{"2":{"df":1,"docs":{"33":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"j":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"=":{"1":{"df":2,"docs":{"89":{"tf":1.0},"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"t":{")":{"=":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"89":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"+":{"1":{"df":1,"docs":{"29":{"tf":1.7320508075688772}}},"df":0,"docs":{}},".":{"(":{"7":{".":{"2":{".":{"1":{"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":{}},"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"p":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"=":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{")":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ψ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"79":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"<":{"0":{"df":1,"docs":{"71":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"=":{"0":{"df":1,"docs":{"71":{"tf":1.0}}},"1":{"df":2,"docs":{"71":{"tf":1.4142135623730951},"74":{"tf":1.0}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"∏":{"df":0,"docs":{},"i":{"=":{"1":{"d":{"df":0,"docs":{},"​":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"σ":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"σ":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"…":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"σ":{"d":{"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":{}}}},">":{"1":{"df":1,"docs":{"71":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"df":0,"docs":{},"o":{"b":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":7,"docs":{"32":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"41":{"tf":1.0},"71":{"tf":1.7320508075688772},"72":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":1,"docs":{"56":{"tf":1.4142135623730951}}}},"df":11,"docs":{"117":{"tf":1.0},"134":{"tf":1.4142135623730951},"25":{"tf":3.7416573867739413},"29":{"tf":2.0},"35":{"tf":1.7320508075688772},"47":{"tf":1.0},"53":{"tf":1.7320508075688772},"67":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772},"85":{"tf":3.605551275463989},"86":{"tf":3.4641016151377544}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"j":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}}},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":5,"docs":{"1":{"tf":1.0},"142":{"tf":2.449489742783178},"2":{"tf":1.0},"3":{"tf":1.0},"5":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"20":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":1,"docs":{"142":{"tf":1.7320508075688772}}}}}}}},"k":{"1":{"df":1,"docs":{"82":{"tf":1.0}}},"2":{",":{"df":0,"docs":{},"k":{"1":{",":{"0":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"3":{",":{"df":0,"docs":{},"k":{"2":{"df":0,"docs":{},"}":{",":{"df":0,"docs":{},"{":{"df":0,"docs":{},"k":{"3":{",":{"0":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"=":{"1":{"df":0,"docs":{},"e":{"3":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}}},"2":{"df":0,"docs":{},"e":{"4":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"q":{"df":1,"docs":{"82":{"tf":1.0}}}}}},"∣":{"df":0,"docs":{},"r":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"r":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"θ":{"=":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"r":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"27":{"tf":1.7320508075688772}}}},"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"a":{"df":7,"docs":{"119":{"tf":1.7320508075688772},"125":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":2.0},"62":{"tf":2.0},"63":{"tf":1.0},"67":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":7,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"32":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"142":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}},"df":14,"docs":{"123":{"tf":1.0},"124":{"tf":1.0},"16":{"tf":1.7320508075688772},"27":{"tf":2.23606797749979},"28":{"tf":3.872983346207417},"29":{"tf":2.23606797749979},"35":{"tf":2.6457513110645907},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"57":{"tf":2.0},"63":{"tf":1.0},"66":{"tf":2.0},"67":{"tf":2.8284271247461903},"82":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":8,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"114":{"tf":1.0},"124":{"tf":1.0},"63":{"tf":1.4142135623730951},"76":{"tf":1.0},"85":{"tf":1.0},"98":{"tf":1.0}}}},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"26":{"tf":1.0}}}},"y":{"df":15,"docs":{"120":{"tf":1.0},"124":{"tf":1.0},"16":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"40":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.4142135623730951},"6":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"70":{"tf":1.0},"80":{"tf":1.0}}}},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"142":{"tf":1.0}}},"n":{"d":{"df":2,"docs":{"134":{"tf":1.0},"53":{"tf":1.0}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":8,"docs":{"107":{"tf":1.0},"129":{"tf":1.7320508075688772},"132":{"tf":1.0},"65":{"tf":1.0},"69":{"tf":1.7320508075688772},"70":{"tf":1.7320508075688772},"71":{"tf":1.0},"72":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":1,"docs":{"17":{"tf":1.0}}}}},"r":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":3,"docs":{"79":{"tf":2.449489742783178},"80":{"tf":1.0},"83":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":3,"docs":{"107":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"t":{"df":7,"docs":{"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"32":{"tf":1.4142135623730951},"40":{"tf":1.4142135623730951},"41":{"tf":1.0},"49":{"tf":1.7320508075688772},"50":{"tf":1.0}}}},"m":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}},"n":{"df":2,"docs":{"58":{"tf":1.0},"63":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"w":{"df":12,"docs":{"107":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":1.0},"21":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"49":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"81":{"tf":1.4142135623730951},"9":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"7":{"tf":1.0}}}},"df":0,"docs":{}}},"n":{"df":13,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"7":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0}}}}},"​":{"=":{"2":{"1":{"df":0,"docs":{},"​":{"a":{"a":{"^":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"−":{"df":0,"docs":{},"∂":{"d":{"df":0,"docs":{},"∂":{"b":{"(":{"d":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"e":{")":{",":{"d":{"df":1,"docs":{"123":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{},"h":{"df":0,"docs":{},"n":{"df":7,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"32":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0}}}}},"​":{"(":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"ϵ":{")":{"=":{"0":{".":{"df":0,"docs":{},"​":{"(":{"2":{".":{"3":{".":{"2":{"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"b":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"∥":{"df":0,"docs":{},"−":{"df":0,"docs":{},"w":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"∥":{"=":{"df":0,"docs":{},"−":{"df":0,"docs":{},"w":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"b":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}}}},"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":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}}}},"l":{"(":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"λ":{")":{"=":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"+":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"+":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":1,"docs":{"32":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"2":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"df":0,"docs":{}},"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":1,"docs":{"27":{"tf":2.23606797749979}}}},"df":7,"docs":{"27":{"tf":2.0},"28":{"tf":3.872983346207417},"29":{"tf":1.7320508075688772},"35":{"tf":2.6457513110645907},"54":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.4142135623730951}}},"a":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"27":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"p":{"df":2,"docs":{"28":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772}}},"x":{"[":{"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"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":{}}}}}},"c":{"df":0,"docs":{},"k":{"df":3,"docs":{"16":{"tf":1.0},"5":{"tf":1.0},"77":{"tf":1.0}}}},"df":2,"docs":{"27":{"tf":1.0},"28":{"tf":1.0}},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":4,"docs":{"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"32":{"tf":1.0},"40":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"n":{"df":5,"docs":{"115":{"tf":1.0},"32":{"tf":1.0},"70":{"tf":1.4142135623730951},"90":{"tf":1.4142135623730951},"93":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"m":{"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"27":{"tf":1.4142135623730951},"86":{"tf":1.7320508075688772}}}},"b":{"d":{"a":{"_":{"1":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}}},"n":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":9,"docs":{"125":{"tf":1.0},"15":{"tf":1.0},"22":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"27":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":4.47213595499958}},"e":{"df":3,"docs":{"74":{"tf":1.7320508075688772},"77":{"tf":1.0},"85":{"tf":1.4142135623730951}}}},"n":{"d":{"df":1,"docs":{"20":{"tf":1.0}}},"df":1,"docs":{"142":{"tf":1.0}},"g":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}},"u":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"4":{"tf":1.0}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"g":{"df":31,"docs":{"101":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.4142135623730951},"126":{"tf":1.0},"142":{"tf":1.4142135623730951},"17":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"26":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.4142135623730951},"43":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"76":{"tf":1.7320508075688772},"82":{"tf":1.0},"87":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"135":{"tf":1.0},"14":{"tf":1.0},"141":{"tf":1.0},"51":{"tf":1.0},"63":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"t":{"df":6,"docs":{"122":{"tf":1.0},"123":{"tf":2.0},"54":{"tf":1.0},"58":{"tf":1.0},"77":{"tf":1.0},"81":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"11":{"tf":1.0},"121":{"tf":1.0},"15":{"tf":1.0},"22":{"tf":1.0},"4":{"tf":1.4142135623730951},"89":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"82":{"tf":1.0}}}}}},"w":{"df":13,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.0},"27":{"tf":1.0},"6":{"tf":2.23606797749979},"69":{"tf":1.0},"7":{"tf":1.0},"79":{"tf":1.0},"89":{"tf":1.7320508075688772},"9":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.0}},"s":{"df":0,"docs":{},"—":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"89":{"tf":1.0}}}}}}}},"y":{"df":3,"docs":{"37":{"tf":1.0},"6":{"tf":1.0},"7":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"16":{"tf":1.0},"32":{"tf":1.0},"48":{"tf":2.0},"54":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"f":{")":{"=":{"df":0,"docs":{},"ψ":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"(":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":1,"docs":{"76":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"120":{"tf":2.0},"16":{"tf":1.0},"27":{"tf":1.4142135623730951},"53":{"tf":1.0}},"e":{"a":{"d":{"df":22,"docs":{"11":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.4142135623730951},"21":{"tf":1.0},"29":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.4142135623730951},"40":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.4142135623730951},"82":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":4,"docs":{"4":{"tf":1.0},"61":{"tf":1.0},"85":{"tf":1.0},"98":{"tf":1.0}}}}},"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":39,"docs":{"109":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.4142135623730951},"12":{"tf":1.0},"121":{"tf":1.4142135623730951},"122":{"tf":1.0},"13":{"tf":1.4142135623730951},"15":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"31":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"4":{"tf":1.7320508075688772},"44":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.7320508075688772},"83":{"tf":1.0},"84":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.4142135623730951},"93":{"tf":1.4142135623730951},"94":{"tf":1.4142135623730951},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":3,"docs":{"21":{"tf":1.4142135623730951},"53":{"tf":1.0},"59":{"tf":1.0}}}}}}},"df":15,"docs":{"10":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"29":{"tf":1.0},"33":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"45":{"tf":1.0},"5":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}}}},"i":{"df":1,"docs":{"142":{"tf":1.0}}},"n":{"(":{"d":{"b":{"c":{"df":1,"docs":{"67":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":6,"docs":{"117":{"tf":1.0},"27":{"tf":2.449489742783178},"29":{"tf":1.4142135623730951},"85":{"tf":2.23606797749979},"86":{"tf":2.449489742783178},"87":{"tf":1.0}},"l":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"u":{"_":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"m":{"b":{"d":{"a":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":1,"docs":{"126":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"v":{"df":1,"docs":{"63":{"tf":2.0}}},"x":{"df":11,"docs":{"117":{"tf":1.0},"26":{"tf":2.6457513110645907},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.7320508075688772},"35":{"tf":2.23606797749979},"54":{"tf":3.0},"62":{"tf":2.23606797749979},"63":{"tf":1.4142135623730951},"67":{"tf":2.8284271247461903},"86":{"tf":1.0}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":6,"docs":{"112":{"tf":2.0},"25":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"7":{"tf":1.0},"91":{"tf":1.0}}}}}},"q":{"df":3,"docs":{"32":{"tf":1.0},"45":{"tf":1.4142135623730951},"49":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":4,"docs":{"114":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0}}}},"t":{"'":{"df":11,"docs":{"101":{"tf":1.0},"112":{"tf":1.0},"125":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.4142135623730951},"82":{"tf":1.0},"92":{"tf":1.0}}},"df":1,"docs":{"89":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":4,"docs":{"18":{"tf":1.0},"24":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":1.7320508075688772}}},"r":{"a":{"df":0,"docs":{},"g":{"df":6,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0}}}},"df":0,"docs":{}}}},"w":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"25":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":9,"docs":{"1":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":1.0},"134":{"tf":1.0},"142":{"tf":2.6457513110645907},"2":{"tf":1.0},"42":{"tf":1.4142135623730951},"45":{"tf":1.0},"58":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"df":3,"docs":{"16":{"tf":1.4142135623730951},"45":{"tf":1.0},"5":{"tf":1.0}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":1,"docs":{"9":{"tf":1.0}}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"2":{"tf":1.0}}}}}},"df":0,"docs":{}},"t":{"df":14,"docs":{"10":{"tf":1.0},"101":{"tf":1.4142135623730951},"117":{"tf":1.0},"16":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"54":{"tf":1.0},"67":{"tf":1.4142135623730951},"82":{"tf":1.7320508075688772},"97":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"e":{"1":{"df":2,"docs":{"118":{"tf":1.4142135623730951},"125":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"a":{"df":0,"docs":{},"r":{"df":45,"docs":{"103":{"tf":1.0},"104":{"tf":2.0},"105":{"tf":3.1622776601683795},"106":{"tf":1.4142135623730951},"107":{"tf":2.23606797749979},"108":{"tf":2.449489742783178},"109":{"tf":2.23606797749979},"11":{"tf":1.7320508075688772},"110":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.7320508075688772},"115":{"tf":1.0},"116":{"tf":1.0},"119":{"tf":1.7320508075688772},"123":{"tf":1.0},"125":{"tf":1.0},"129":{"tf":1.7320508075688772},"131":{"tf":1.0},"134":{"tf":1.0},"15":{"tf":1.7320508075688772},"18":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":2.0},"34":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.4142135623730951},"40":{"tf":1.0},"41":{"tf":1.7320508075688772},"43":{"tf":1.0},"45":{"tf":1.0},"55":{"tf":1.0},"58":{"tf":1.0},"6":{"tf":1.0},"74":{"tf":2.8284271247461903},"75":{"tf":1.7320508075688772},"76":{"tf":2.0},"77":{"tf":2.0},"85":{"tf":2.23606797749979},"87":{"tf":1.0},"88":{"tf":1.0},"99":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"11":{"tf":1.0},"41":{"tf":1.0},"88":{"tf":1.0}}}}}},"df":40,"docs":{"113":{"tf":1.7320508075688772},"114":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":2.0},"118":{"tf":1.4142135623730951},"12":{"tf":1.0},"120":{"tf":1.7320508075688772},"121":{"tf":1.0},"125":{"tf":1.0},"132":{"tf":1.0},"134":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":3.3166247903554},"23":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"30":{"tf":1.0},"32":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"38":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"45":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":2.23606797749979},"52":{"tf":1.7320508075688772},"53":{"tf":3.7416573867739413},"54":{"tf":2.449489742783178},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.4142135623730951},"71":{"tf":1.0},"76":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":2.449489742783178},"88":{"tf":1.4142135623730951},"99":{"tf":1.0}}},"k":{"df":5,"docs":{"12":{"tf":1.0},"4":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"96":{"tf":1.0}}},"​":{"(":{"df":0,"docs":{},"f":{")":{"=":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"ϵ":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"f":{"2":{"df":0,"docs":{},"​":{"+":{"2":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"2":{"(":{"df":0,"docs":{},"ϵ":{")":{".":{"(":{"1":{"3":{".":{"1":{".":{"4":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":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":{"74":{"tf":1.0}}}},"df":0,"docs":{}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"69":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"t":{"(":{"b":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"117":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":2,"docs":{"1":{"tf":1.0},"26":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"​":{"=":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"×":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"86":{"tf":2.449489742783178}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"j":{"df":1,"docs":{"86":{"tf":2.0}}}},"o":{"a":{"d":{"df":1,"docs":{"139":{"tf":1.0}}},"df":0,"docs":{}},"c":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"[":{"0":{":":{"2":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"2":{":":{"4":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"4":{":":{"6":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"119":{"tf":1.0},"67":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":1,"docs":{"119":{"tf":1.0}}}},"r":{"df":3,"docs":{"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0}}},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"86":{"tf":1.0}}}}},"df":5,"docs":{"119":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0},"86":{"tf":1.0}}}}}}},"df":22,"docs":{"106":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":2.449489742783178},"27":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":2.449489742783178},"57":{"tf":1.7320508075688772},"67":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"73":{"tf":1.7320508075688772},"74":{"tf":1.4142135623730951},"77":{"tf":1.0},"92":{"tf":1.0}}},"t":{"df":10,"docs":{"105":{"tf":1.0},"134":{"tf":1.4142135623730951},"15":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"5":{"tf":1.0},"61":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"k":{"df":1,"docs":{"118":{"tf":1.0}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"85":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{}}}}}}}}}}}},"o":{"df":0,"docs":{},"k":{"df":3,"docs":{"113":{"tf":1.0},"125":{"tf":1.0},"76":{"tf":1.0}}},"p":{"df":6,"docs":{"136":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"112":{"tf":1.0},"113":{"tf":1.0}}}},"t":{"df":2,"docs":{"76":{"tf":1.0},"92":{"tf":1.0}}},"w":{"df":1,"docs":{"66":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":5,"docs":{"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"63":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":6,"docs":{"106":{"tf":2.0},"130":{"tf":1.0},"6":{"tf":1.4142135623730951},"95":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0}}}}},"y":{"df":1,"docs":{"62":{"tf":1.0}}}},"m":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"26":{"tf":1.0}},"n":{"+":{"1":{"df":0,"docs":{},"−":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"+":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{")":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"2":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"+":{"1":{")":{"=":{"0":{".":{"(":{"1":{".":{"5":{".":{"2":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"96":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":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":{"57":{"tf":1.0}}},"[":{"0":{"df":1,"docs":{"86":{"tf":2.0}}},"1":{"df":1,"docs":{"86":{"tf":2.0}}},"2":{"df":1,"docs":{"86":{"tf":2.0}}},"3":{"df":1,"docs":{"86":{"tf":2.0}}},"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":2,"docs":{"26":{"tf":1.7320508075688772},"35":{"tf":1.4142135623730951}}}},"\\":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"b":{"df":0,"docs":{},"{":{"df":0,"docs":{},"r":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"d":{"df":0,"docs":{},"n":{"\\":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"6":{"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":{},"q":{"df":1,"docs":{"15":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":2,"docs":{"15":{"tf":1.0},"32":{"tf":1.0}}}}}}},"_":{"1":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"a":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"e":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"t":{"(":{"a":{")":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"4":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"m":{"a":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"=":{"0":{"(":{"a":{"df":0,"docs":{},"":{"=":{"b":{"df":1,"docs":{"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":{}},"df":0,"docs":{}}},"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":{},"∈":{"df":0,"docs":{},"v":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"d":{"df":0,"docs":{},"x":{",":{"(":{"1":{"9":{".":{"2":{".":{"5":{"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":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}},"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"δ":{"a":{"b":{"df":0,"docs":{},"​":{"c":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"a":{"c":{"df":1,"docs":{"95":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"∑":{"c":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"a":{"c":{"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":{},"e":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"d":{"df":0,"docs":{},"x":{",":{"(":{"1":{"9":{".":{"2":{".":{"2":{"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":1,"docs":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"∫":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"n":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"d":{"df":0,"docs":{},"x":{"(":{"1":{"7":{".":{"1":{".":{"2":{"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":{}},".":{"(":{"1":{"9":{".":{"2":{".":{"1":{"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":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"101":{"tf":1.0},"56":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"d":{"df":0,"docs":{},"e":{"df":2,"docs":{"34":{"tf":1.0},"54":{"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":14,"docs":{"120":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.0},"16":{"tf":1.0},"22":{"tf":1.0},"57":{"tf":2.0},"58":{"tf":1.0},"60":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"141":{"tf":1.0},"4":{"tf":1.0},"66":{"tf":1.0}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":21,"docs":{"10":{"tf":1.0},"100":{"tf":1.0},"101":{"tf":1.0},"132":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"41":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0}}}}},"df":0,"docs":{}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"d":{"(":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"27":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":32,"docs":{"0":{"tf":1.0},"105":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.4142135623730951},"119":{"tf":1.0},"124":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":1.0},"135":{"tf":1.0},"16":{"tf":2.0},"18":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.4142135623730951},"4":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":1.7320508075688772},"66":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.4142135623730951},"87":{"tf":1.0},"92":{"tf":1.4142135623730951}}}},"n":{"a":{"df":0,"docs":{},"g":{"df":7,"docs":{"135":{"tf":1.0},"139":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":10,"docs":{"11":{"tf":1.0},"29":{"tf":1.0},"45":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"79":{"tf":1.0}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"31":{"tf":1.0},"33":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"15":{"tf":1.0},"29":{"tf":1.0},"45":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0}}}}}},"p":{"df":5,"docs":{"100":{"tf":1.0},"70":{"tf":3.0},"71":{"tf":2.23606797749979},"72":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951}},"l":{"df":1,"docs":{"79":{"tf":1.0}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"131":{"tf":1.0}}}}},"k":{"df":4,"docs":{"0":{"tf":1.0},"16":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"(":{"b":{"df":0,"docs":{},"ϵ":{"df":0,"docs":{},"t":{"df":1,"docs":{"90":{"tf":1.0}},"​":{")":{"=":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"(":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":1,"docs":{"90":{"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":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"89":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":34,"docs":{"10":{"tf":1.0},"106":{"tf":2.6457513110645907},"108":{"tf":1.4142135623730951},"11":{"tf":1.0},"130":{"tf":2.6457513110645907},"132":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":2.6457513110645907},"28":{"tf":1.0},"29":{"tf":3.1622776601683795},"30":{"tf":1.4142135623730951},"35":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":2.0},"6":{"tf":2.23606797749979},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"68":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"73":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.7320508075688772},"9":{"tf":1.4142135623730951},"90":{"tf":3.4641016151377544},"93":{"tf":1.4142135623730951},"95":{"tf":2.449489742783178},"96":{"tf":1.0},"97":{"tf":1.0}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}},"y":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.0},"35":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"27":{"tf":1.0}}}},"v":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.0},"35":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}}}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":5,"docs":{"101":{"tf":1.0},"14":{"tf":1.0},"48":{"tf":1.0},"57":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"'":{"df":1,"docs":{"80":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"—":{"df":0,"docs":{},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"69":{"tf":1.0}}}}}}}}}}},"df":27,"docs":{"101":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"12":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"142":{"tf":1.7320508075688772},"17":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.4142135623730951},"69":{"tf":1.7320508075688772},"70":{"tf":4.0},"71":{"tf":3.1622776601683795},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.7320508075688772},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":3.0},"80":{"tf":1.7320508075688772},"83":{"tf":1.4142135623730951},"88":{"tf":1.0},"90":{"tf":2.0},"91":{"tf":2.23606797749979},"92":{"tf":1.0},"93":{"tf":1.0}}}}},"h":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"(":{"df":6,"docs":{"119":{"tf":1.7320508075688772},"125":{"tf":1.0},"54":{"tf":1.4142135623730951},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":1.4142135623730951}},"j":{"df":1,"docs":{"86":{"tf":1.0}}},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"s":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":1,"docs":{"125":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"c":{"df":1,"docs":{"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"2":{"_":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"d":{"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"120":{"tf":1.0}}},"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":{"b":{"df":0,"docs":{},"{":{"df":0,"docs":{},"r":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"m":{"\\":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"15":{"tf":1.0}}}}}},"df":1,"docs":{"15":{"tf":1.4142135623730951}}},"n":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"a":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}},"c":{"df":2,"docs":{"45":{"tf":1.4142135623730951},"5":{"tf":1.0}}},"df":0,"docs":{},"f":{"df":1,"docs":{"6":{"tf":1.4142135623730951}}},"n":{"df":1,"docs":{"45":{"tf":1.0}}},"p":{"df":1,"docs":{"54":{"tf":1.4142135623730951}},"}":{"_":{"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"}":{"_":{"0":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}}},"x":{"df":3,"docs":{"45":{"tf":1.0},"47":{"tf":1.0},"54":{"tf":1.0}},"}":{"_":{"0":{"df":1,"docs":{"52":{"tf":1.7320508075688772}}},"df":0,"docs":{},"i":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}},"{":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":1,"docs":{"45":{"tf":1.0}}}},"df":0,"docs":{}},"j":{"df":0,"docs":{},"k":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}}},"z":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"df":4,"docs":{"120":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"86":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":10,"docs":{"14":{"tf":1.0},"34":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"69":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.0},"79":{"tf":1.0}},"i":{"c":{"a":{"df":2,"docs":{"79":{"tf":1.0},"82":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"i":{"c":{"df":9,"docs":{"131":{"tf":1.0},"22":{"tf":1.7320508075688772},"23":{"tf":1.0},"28":{"tf":1.4142135623730951},"32":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.7320508075688772},"75":{"tf":1.0},"82":{"tf":1.7320508075688772}},"i":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{},"x":{"df":31,"docs":{"10":{"tf":1.0},"106":{"tf":2.0},"108":{"tf":1.4142135623730951},"11":{"tf":1.0},"130":{"tf":2.449489742783178},"132":{"tf":1.0},"15":{"tf":1.7320508075688772},"20":{"tf":1.0},"22":{"tf":3.1622776601683795},"23":{"tf":1.0},"26":{"tf":1.4142135623730951},"27":{"tf":2.23606797749979},"32":{"tf":2.8284271247461903},"33":{"tf":2.0},"37":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":2.449489742783178},"42":{"tf":2.0},"6":{"tf":2.23606797749979},"63":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":2.6457513110645907},"72":{"tf":1.0},"74":{"tf":2.449489742783178},"75":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"82":{"tf":2.8284271247461903},"85":{"tf":1.4142135623730951},"9":{"tf":1.0},"95":{"tf":2.23606797749979}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"x":{"(":{"0":{"df":1,"docs":{"27":{"tf":1.0}}},"a":{"1":{"df":0,"docs":{},"​":{",":{"a":{"2":{"df":0,"docs":{},"​":{",":{".":{".":{".":{",":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"≈":{"(":{"a":{"1":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"+":{"a":{"2":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"…":{"+":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"p":{"1":{"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":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":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"_":{"df":1,"docs":{"120":{"tf":1.4142135623730951}},"p":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"120":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}},"df":4,"docs":{"114":{"tf":1.7320508075688772},"123":{"tf":1.0},"134":{"tf":1.4142135623730951},"32":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"df":3,"docs":{"102":{"tf":1.0},"17":{"tf":1.0},"57":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"22":{"tf":1.0},"54":{"tf":1.0}}}}}},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":1,"docs":{"32":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}},"d":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"1":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":1,"docs":{"17":{"tf":1.0}}}},"df":21,"docs":{"14":{"tf":1.4142135623730951},"142":{"tf":2.23606797749979},"15":{"tf":1.7320508075688772},"26":{"tf":2.0},"28":{"tf":3.872983346207417},"29":{"tf":1.7320508075688772},"32":{"tf":1.7320508075688772},"33":{"tf":1.4142135623730951},"35":{"tf":3.3166247903554},"40":{"tf":1.4142135623730951},"41":{"tf":1.7320508075688772},"52":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"6":{"tf":1.7320508075688772},"63":{"tf":1.0},"66":{"tf":3.1622776601683795},"67":{"tf":2.23606797749979},"86":{"tf":1.0},"9":{"tf":1.0},"95":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"n":{"df":18,"docs":{"106":{"tf":1.0},"122":{"tf":1.0},"134":{"tf":1.0},"140":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"70":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"77":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.7320508075688772},"87":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"119":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":12,"docs":{"119":{"tf":1.0},"16":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"5":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":2.0},"74":{"tf":1.4142135623730951},"79":{"tf":1.0},"90":{"tf":1.0},"94":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":13,"docs":{"111":{"tf":1.0},"115":{"tf":1.4142135623730951},"142":{"tf":1.0},"4":{"tf":1.4142135623730951},"44":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"69":{"tf":1.4142135623730951},"70":{"tf":1.7320508075688772},"74":{"tf":1.0},"83":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0}}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":3,"docs":{"34":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":3,"docs":{"26":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":4,"docs":{"38":{"tf":1.0},"42":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":2,"docs":{"55":{"tf":1.0},"71":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"df":20,"docs":{"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"128":{"tf":1.0},"133":{"tf":1.7320508075688772},"134":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"25":{"tf":2.8284271247461903},"27":{"tf":1.7320508075688772},"29":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"5":{"tf":3.3166247903554},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"85":{"tf":1.0},"86":{"tf":1.0},"92":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":3,"docs":{"15":{"tf":1.0},"36":{"tf":1.0},"66":{"tf":1.0}},"h":{"df":0,"docs":{},"o":{"d":{"'":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}},"df":62,"docs":{"10":{"tf":2.0},"103":{"tf":1.4142135623730951},"105":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":3.1622776601683795},"111":{"tf":1.0},"12":{"tf":2.449489742783178},"120":{"tf":1.4142135623730951},"121":{"tf":1.4142135623730951},"128":{"tf":1.0},"134":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.7320508075688772},"14":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"142":{"tf":1.7320508075688772},"15":{"tf":1.4142135623730951},"16":{"tf":3.872983346207417},"17":{"tf":1.7320508075688772},"18":{"tf":2.449489742783178},"20":{"tf":2.8284271247461903},"21":{"tf":2.8284271247461903},"22":{"tf":3.3166247903554},"23":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.7320508075688772},"33":{"tf":1.7320508075688772},"34":{"tf":2.23606797749979},"36":{"tf":1.4142135623730951},"37":{"tf":1.0},"38":{"tf":1.0},"4":{"tf":1.0},"40":{"tf":2.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"5":{"tf":3.7416573867739413},"50":{"tf":1.0},"51":{"tf":1.7320508075688772},"52":{"tf":1.7320508075688772},"53":{"tf":2.449489742783178},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"6":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":2.23606797749979},"67":{"tf":1.0},"68":{"tf":1.4142135623730951},"7":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":1.4142135623730951},"82":{"tf":1.0},"89":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772},"90":{"tf":2.0},"92":{"tf":1.0},"93":{"tf":1.0}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":4,"docs":{"115":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"79":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"i":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.0}}}}},"df":0,"docs":{}}}},"g":{"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"df":0,"docs":{},"z":{"df":1,"docs":{"14":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{},"h":{"df":1,"docs":{"14":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"56":{"tf":1.0},"69":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"d":{"d":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.0},"5":{"tf":1.4142135623730951},"52":{"tf":1.0},"63":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":1,"docs":{"42":{"tf":1.4142135623730951}},"n":{"(":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":4,"docs":{"54":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}}}}},"b":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"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":1,"docs":{"120":{"tf":1.0}},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"1":{"tf":1.0},"142":{"tf":2.0},"2":{"tf":1.0},"3":{"tf":1.0}}}}}},"df":3,"docs":{"101":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"32":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"a":{"df":1,"docs":{"51":{"tf":1.0}}},"df":15,"docs":{"101":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"47":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"55":{"tf":1.0},"59":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":15,"docs":{"101":{"tf":1.0},"120":{"tf":1.4142135623730951},"131":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"21":{"tf":1.0},"27":{"tf":1.0},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"74":{"tf":1.4142135623730951},"87":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"10":{"tf":1.0}}}},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{",":{"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":{},"e":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"e":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"+":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"20":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":4,"docs":{"16":{"tf":1.0},"7":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":2,"docs":{"51":{"tf":1.0},"55":{"tf":1.0}}}}},"​":{"=":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"×":{"[":{"0":{"df":0,"docs":{},"​":{"1":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"1":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"k":{"df":1,"docs":{"66":{"tf":1.0}}},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"106":{"tf":1.0}}}}}},"o":{"d":{"df":1,"docs":{"15":{"tf":1.0}},"e":{"df":2,"docs":{"74":{"tf":1.0},"77":{"tf":1.0}},"l":{"df":42,"docs":{"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"107":{"tf":1.0},"113":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":2.6457513110645907},"17":{"tf":3.0},"18":{"tf":2.23606797749979},"20":{"tf":1.4142135623730951},"27":{"tf":1.0},"31":{"tf":1.0},"4":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":2.23606797749979},"5":{"tf":1.7320508075688772},"51":{"tf":1.0},"54":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":2.23606797749979},"68":{"tf":1.0},"69":{"tf":1.7320508075688772},"7":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":3.0},"75":{"tf":1.0},"76":{"tf":2.449489742783178},"77":{"tf":2.23606797749979},"79":{"tf":2.0},"80":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":1.0},"84":{"tf":1.7320508075688772},"85":{"tf":1.0},"88":{"tf":1.0}}},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"5":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"f":{"df":5,"docs":{"16":{"tf":1.0},"27":{"tf":1.4142135623730951},"34":{"tf":1.0},"5":{"tf":1.4142135623730951},"53":{"tf":1.0}},"i":{"df":11,"docs":{"11":{"tf":1.0},"131":{"tf":1.0},"21":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.0},"42":{"tf":1.0},"62":{"tf":1.4142135623730951},"67":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":5,"docs":{"101":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.0}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":2,"docs":{"102":{"tf":1.0},"141":{"tf":1.0}},"i":{"df":3,"docs":{"134":{"tf":1.4142135623730951},"57":{"tf":1.0},"58":{"tf":1.4142135623730951}}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"12":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":12,"docs":{"103":{"tf":1.0},"106":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0},"63":{"tf":1.0},"89":{"tf":1.7320508075688772},"91":{"tf":2.449489742783178},"92":{"tf":2.0},"93":{"tf":1.7320508075688772},"94":{"tf":1.4142135623730951},"97":{"tf":1.0},"99":{"tf":1.0}},"—":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"93":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":2,"docs":{"5":{"tf":1.0},"93":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"120":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":38,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"11":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.0},"126":{"tf":1.0},"135":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"141":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"23":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"34":{"tf":1.4142135623730951},"37":{"tf":1.0},"4":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.7320508075688772},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"7":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.4142135623730951},"99":{"tf":1.0}},"o":{"df":0,"docs":{},"v":{"df":3,"docs":{"10":{"tf":1.0},"18":{"tf":1.0},"75":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":20,"docs":{"10":{"tf":1.4142135623730951},"15":{"tf":1.0},"17":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"38":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.449489742783178},"55":{"tf":1.4142135623730951},"56":{"tf":1.0},"58":{"tf":1.0},"6":{"tf":1.4142135623730951},"60":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":2.8284271247461903},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"91":{"tf":1.0}}}},"v":{"df":1,"docs":{"4":{"tf":1.0}}}}},"v":{"df":1,"docs":{"120":{"tf":2.0}},"e":{"df":21,"docs":{"120":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"18":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.0},"43":{"tf":1.0},"50":{"tf":1.4142135623730951},"57":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":2.23606797749979},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"68":{"tf":1.7320508075688772},"70":{"tf":1.7320508075688772},"71":{"tf":1.0},"87":{"tf":1.4142135623730951},"95":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":9,"docs":{"131":{"tf":1.0},"17":{"tf":1.4142135623730951},"29":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"45":{"tf":1.0},"6":{"tf":1.4142135623730951},"67":{"tf":1.0},"87":{"tf":1.0}}}}}}}}},"p":{"df":0,"docs":{},"m":{"df":5,"docs":{"12":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":2.23606797749979}}}},"u":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"86":{"tf":1.7320508075688772}}}},"_":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"m":{"b":{"d":{"a":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"63":{"tf":2.6457513110645907}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{".":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"[":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"125":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"126":{"tf":1.7320508075688772}}}},"df":1,"docs":{"125":{"tf":1.0}}}}}}},"df":2,"docs":{"63":{"tf":2.6457513110645907},"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"125":{"tf":1.4142135623730951},"126":{"tf":2.449489742783178},"85":{"tf":1.0}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"113":{"tf":1.0},"120":{"tf":1.0},"43":{"tf":1.0},"87":{"tf":1.0}}}},"d":{"df":1,"docs":{"69":{"tf":1.0}}},"df":4,"docs":{"117":{"tf":1.0},"125":{"tf":1.0},"63":{"tf":2.8284271247461903},"86":{"tf":4.58257569495584}},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"58":{"tf":1.0}},"p":{"df":0,"docs":{},"l":{"df":6,"docs":{"101":{"tf":1.0},"114":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.0},"69":{"tf":1.0}},"i":{"df":11,"docs":{"101":{"tf":1.0},"112":{"tf":1.0},"134":{"tf":1.0},"141":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"40":{"tf":1.0},"42":{"tf":1.7320508075688772},"74":{"tf":1.0}}}}}}}},"s":{"c":{"df":0,"docs":{},"l":{"df":2,"docs":{"69":{"tf":1.0},"74":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"95":{"tf":1.0},"97":{"tf":1.0}}}},"df":0,"docs":{}}}},"×":{"d":{"df":0,"docs":{},"n":{"df":1,"docs":{"42":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":1,"docs":{"42":{"tf":1.0}}}}},"n":{"(":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"134":{"tf":1.0}}},"df":0,"docs":{}},"x":{")":{"=":{"df":0,"docs":{},"{":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∥":{"<":{"df":0,"docs":{},"r":{"df":1,"docs":{"101":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},",":{"df":0,"docs":{},"t":{")":{"=":{"0":{".":{"df":0,"docs":{},"​":{"(":{"1":{"8":{".":{"4":{".":{"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":{}},"df":0,"docs":{}}},"df":1,"docs":{"103":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.0}}}},"df":5,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"91":{"tf":1.0}}}},"+":{"1":{"df":6,"docs":{"10":{"tf":1.0},"104":{"tf":1.0},"123":{"tf":1.0},"66":{"tf":1.0},"76":{"tf":1.0},"9":{"tf":1.4142135623730951}}},"df":0,"docs":{}},".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"i":{"df":3,"docs":{"62":{"tf":2.0},"63":{"tf":1.0},"67":{"tf":2.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"/":{"a":{"df":1,"docs":{"142":{"tf":3.4641016151377544}}},"df":0,"docs":{}},"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"95":{"tf":1.0}}},"β":{",":{"df":0,"docs":{},"γ":{")":{"+":{"df":0,"docs":{},"n":{"2":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"β":{",":{"df":0,"docs":{},"γ":{")":{"+":{"df":0,"docs":{},"n":{"3":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"β":{",":{"df":0,"docs":{},"γ":{")":{"=":{"1":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":0,"docs":{},"−":{"df":0,"docs":{},"β":{"df":0,"docs":{},"−":{"df":0,"docs":{},"γ":{",":{"df":0,"docs":{},"n":{"2":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"β":{",":{"df":0,"docs":{},"γ":{")":{"=":{"df":0,"docs":{},"β":{",":{"df":0,"docs":{},"n":{"3":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"2":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"95":{"tf":1.0}}}},"df":0,"docs":{}}},"3":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"95":{"tf":1.0}}}},"df":0,"docs":{}}},"=":{"(":{"0":{",":{"df":0,"docs":{},"−":{"1":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"0":{",":{"1":{",":{"2":{",":{"\\":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"10":{"tf":1.0},"7":{"tf":1.0}}}}},"df":0,"docs":{}},"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":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}}},"df":0,"docs":{}}},"\\":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":1.0}}}}},"df":0,"docs":{}},"^":{"=":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"−":{"df":0,"docs":{},"n":{"df":0,"docs":{},"x":{"df":1,"docs":{"62":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"+":{"1":{")":{"*":{"(":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"+":{"1":{"df":1,"docs":{"67":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"29":{"tf":2.449489742783178}}},"df":0,"docs":{}},"df":7,"docs":{"117":{"tf":2.0},"25":{"tf":4.58257569495584},"29":{"tf":3.1622776601683795},"35":{"tf":1.7320508075688772},"54":{"tf":1.0},"67":{"tf":1.7320508075688772},"85":{"tf":3.7416573867739413}}}}}},"a":{"b":{"df":0,"docs":{},"l":{"a":{"^":{"2":{"df":3,"docs":{"21":{"tf":2.0},"22":{"tf":2.8284271247461903},"26":{"tf":1.0}}},"df":0,"docs":{}},"df":7,"docs":{"11":{"tf":1.0},"14":{"tf":1.7320508075688772},"16":{"tf":1.0},"21":{"tf":2.449489742783178},"22":{"tf":1.0},"26":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{}}},"df":4,"docs":{"104":{"tf":1.0},"106":{"tf":1.4142135623730951},"112":{"tf":1.0},"113":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":3,"docs":{"115":{"tf":1.0},"21":{"tf":1.0},"75":{"tf":1.0}}}},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"_":{"c":{"c":{"d":{"(":{"_":{"df":0,"docs":{},"p":{"df":1,"docs":{"120":{"tf":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":{"120":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":5,"docs":{"1":{"tf":1.0},"27":{"tf":1.4142135623730951},"5":{"tf":1.0},"71":{"tf":1.0},"90":{"tf":1.4142135623730951}}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":1,"docs":{"37":{"tf":1.0}}}}},"​":{"(":{"df":0,"docs":{},"x":{")":{":":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"df":1,"docs":{"95":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"b":{"df":1,"docs":{"106":{"tf":1.4142135623730951}}},"d":{"df":3,"docs":{"104":{"tf":1.0},"95":{"tf":1.7320508075688772},"97":{"tf":1.4142135623730951}}},"df":28,"docs":{"100":{"tf":1.0},"102":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"11":{"tf":1.0},"117":{"tf":1.4142135623730951},"124":{"tf":2.0},"125":{"tf":2.6457513110645907},"126":{"tf":2.6457513110645907},"127":{"tf":1.0},"22":{"tf":1.7320508075688772},"25":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":2.8284271247461903},"63":{"tf":3.0},"67":{"tf":2.8284271247461903},"7":{"tf":1.7320508075688772},"70":{"tf":1.0},"87":{"tf":1.0},"9":{"tf":1.7320508075688772},"91":{"tf":1.7320508075688772},"94":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951},"99":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"i":{"df":5,"docs":{"136":{"tf":1.4142135623730951},"139":{"tf":1.4142135623730951},"23":{"tf":1.0},"53":{"tf":1.0},"71":{"tf":1.0}}}},"df":1,"docs":{"42":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"120":{"tf":1.0},"126":{"tf":1.0},"82":{"tf":1.7320508075688772}}}}}},"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"100":{"tf":1.0},"141":{"tf":1.0},"15":{"tf":1.0},"29":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"75":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":5,"docs":{"105":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"41":{"tf":1.0},"6":{"tf":1.0}}}}}}},"df":1,"docs":{"29":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":7,"docs":{"11":{"tf":1.0},"133":{"tf":1.0},"14":{"tf":1.0},"5":{"tf":1.0},"55":{"tf":1.0},"79":{"tf":1.0},"85":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"d":{"df":41,"docs":{"101":{"tf":1.4142135623730951},"105":{"tf":1.0},"106":{"tf":1.4142135623730951},"107":{"tf":1.4142135623730951},"111":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.7320508075688772},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.4142135623730951},"53":{"tf":1.0},"55":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"g":{"df":16,"docs":{"101":{"tf":1.0},"131":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"27":{"tf":1.7320508075688772},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"55":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.4142135623730951},"82":{"tf":1.0},"87":{"tf":1.0}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"101":{"tf":1.0},"113":{"tf":1.4142135623730951},"134":{"tf":1.0}}}}},"df":0,"docs":{}}}},"o":{"df":12,"docs":{"142":{"tf":1.0},"20":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0},"84":{"tf":1.4142135623730951},"86":{"tf":1.0},"88":{"tf":1.4142135623730951}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"86":{"tf":1.7320508075688772},"87":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}},"q":{"df":2,"docs":{"16":{"tf":1.0},"21":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"136":{"tf":1.0}}}},"t":{"df":1,"docs":{"91":{"tf":1.0}},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}}}}},"u":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":6,"docs":{"100":{"tf":1.7320508075688772},"103":{"tf":1.4142135623730951},"109":{"tf":1.0},"112":{"tf":2.8284271247461903},"113":{"tf":1.0},"99":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"r":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.0},"53":{"tf":1.0}}}}},"w":{"df":7,"docs":{"10":{"tf":1.0},"117":{"tf":1.4142135623730951},"21":{"tf":1.7320508075688772},"41":{"tf":1.7320508075688772},"53":{"tf":1.0},"66":{"tf":1.0},"87":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":15,"docs":{"10":{"tf":1.0},"11":{"tf":2.6457513110645907},"12":{"tf":1.0},"15":{"tf":1.0},"20":{"tf":2.8284271247461903},"21":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"27":{"tf":1.0},"6":{"tf":2.23606797749979},"69":{"tf":1.0},"7":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.0}}},"df":16,"docs":{"142":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.7320508075688772},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.7320508075688772},"23":{"tf":1.4142135623730951},"28":{"tf":1.4142135623730951},"32":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"55":{"tf":1.4142135623730951},"63":{"tf":1.0},"66":{"tf":2.0},"67":{"tf":1.0}}}}}},"x":{"df":0,"docs":{},"t":{"df":34,"docs":{"101":{"tf":1.4142135623730951},"103":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"118":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.4142135623730951},"127":{"tf":1.4142135623730951},"134":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"52":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"77":{"tf":1.0},"81":{"tf":1.0},"86":{"tf":1.0},"9":{"tf":1.4142135623730951},"93":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.4142135623730951}}}}},"h":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"f":{")":{"=":{"2":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{")":{"df":0,"docs":{},"−":{"d":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"j":{")":{"+":{"2":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"2":{"(":{"df":0,"docs":{},"j":{")":{".":{"(":{"1":{"3":{".":{"1":{".":{"2":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{},"h":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{")":{"=":{"2":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"i":{"=":{"1":{"df":0,"docs":{},"∑":{"d":{"df":0,"docs":{},"​":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"d":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"j":{")":{"+":{"2":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"2":{"(":{"df":0,"docs":{},"j":{"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":2,"docs":{"74":{"tf":1.0},"76":{"tf":1.0}}},"σ":{")":{"=":{"2":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"∑":{"d":{"df":0,"docs":{},"​":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"d":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"j":{")":{"+":{"2":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"2":{"(":{"df":0,"docs":{},"j":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"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":7,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"119":{"tf":1.0},"126":{"tf":1.0},"27":{"tf":1.4142135623730951},"42":{"tf":2.0},"67":{"tf":1.4142135623730951}},"t":{"df":1,"docs":{"42":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"′":{"df":0,"docs":{},"​":{")":{"=":{"0":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}},"=":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"=":{"1":{"[":{"1":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"​":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{",":{"(":{"6":{".":{"3":{".":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}}}}}}}}}},"df":0,"docs":{}}},"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":{},"​":{"=":{"0":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"95":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"j":{"df":4,"docs":{"119":{"tf":1.4142135623730951},"126":{"tf":1.0},"27":{"tf":1.7320508075688772},"67":{"tf":1.4142135623730951}}},"k":{"df":1,"docs":{"57":{"tf":1.4142135623730951}},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"57":{"tf":1.0}}}},"=":{"0":{",":{"(":{"9":{".":{"1":{".":{"1":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"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":1,"docs":{"123":{"tf":1.0}}},"o":{"d":{"a":{"df":0,"docs":{},"l":{"df":16,"docs":{"101":{"tf":1.0},"107":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"125":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"47":{"tf":1.0},"54":{"tf":1.0},"60":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":47,"docs":{"105":{"tf":1.4142135623730951},"106":{"tf":2.0},"107":{"tf":1.0},"111":{"tf":1.4142135623730951},"112":{"tf":2.0},"113":{"tf":1.4142135623730951},"117":{"tf":3.0},"118":{"tf":1.4142135623730951},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"130":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"134":{"tf":2.0},"15":{"tf":1.4142135623730951},"22":{"tf":2.0},"23":{"tf":1.0},"25":{"tf":2.0},"29":{"tf":2.8284271247461903},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":3.605551275463989},"33":{"tf":2.23606797749979},"34":{"tf":3.0},"35":{"tf":2.0},"36":{"tf":1.4142135623730951},"38":{"tf":2.0},"42":{"tf":3.0},"43":{"tf":1.0},"45":{"tf":1.7320508075688772},"47":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"5":{"tf":2.6457513110645907},"53":{"tf":1.7320508075688772},"54":{"tf":2.6457513110645907},"57":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":1.7320508075688772},"66":{"tf":3.1622776601683795},"67":{"tf":3.4641016151377544},"68":{"tf":1.7320508075688772},"7":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"53":{"tf":1.0}}}}}}}},"df":37,"docs":{"100":{"tf":2.0},"101":{"tf":1.4142135623730951},"114":{"tf":1.7320508075688772},"117":{"tf":1.0},"121":{"tf":1.7320508075688772},"123":{"tf":1.0},"125":{"tf":1.0},"131":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"27":{"tf":1.0},"34":{"tf":1.4142135623730951},"40":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":2.0},"47":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.0},"67":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.7320508075688772},"84":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":2.6457513110645907},"88":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"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":{"43":{"tf":1.0}}}}}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":12,"docs":{"107":{"tf":1.4142135623730951},"11":{"tf":1.7320508075688772},"113":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"142":{"tf":1.0},"15":{"tf":1.4142135623730951},"20":{"tf":2.0},"58":{"tf":1.0},"59":{"tf":1.0},"74":{"tf":1.0},"77":{"tf":1.0}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":9,"docs":{"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"44":{"tf":1.7320508075688772},"45":{"tf":1.0},"46":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0}}}}}}},"h":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"102":{"tf":1.4142135623730951},"123":{"tf":1.0},"17":{"tf":1.0},"57":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":1,"docs":{"124":{"tf":1.0}}}}}}},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":4,"docs":{"101":{"tf":1.4142135623730951},"105":{"tf":1.0},"106":{"tf":1.0},"26":{"tf":2.0}}}}}}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":25,"docs":{"100":{"tf":2.0},"102":{"tf":1.4142135623730951},"109":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.7320508075688772},"122":{"tf":1.0},"123":{"tf":2.6457513110645907},"124":{"tf":2.6457513110645907},"125":{"tf":2.23606797749979},"127":{"tf":1.4142135623730951},"32":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"62":{"tf":2.23606797749979},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"67":{"tf":1.4142135623730951},"82":{"tf":1.0},"91":{"tf":1.4142135623730951}}}},"df":2,"docs":{"114":{"tf":1.4142135623730951},"4":{"tf":1.0}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":11,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"17":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":5,"docs":{"71":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":22,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"106":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.0},"63":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.7320508075688772},"86":{"tf":1.0},"87":{"tf":1.0},"89":{"tf":1.0}}}},"w":{"df":31,"docs":{"113":{"tf":1.4142135623730951},"116":{"tf":1.0},"117":{"tf":1.4142135623730951},"120":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"132":{"tf":1.4142135623730951},"134":{"tf":1.4142135623730951},"140":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"24":{"tf":1.0},"28":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"57":{"tf":1.0},"6":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"7":{"tf":1.0},"78":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":2.449489742783178},"87":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"96":{"tf":1.0},"98":{"tf":1.0}}}},"p":{".":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"y":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":1,"docs":{"120":{"tf":1.0}},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"d":{"(":{"df":1,"docs":{"117":{"tf":1.0}},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"v":{"[":{"2":{"df":5,"docs":{"119":{"tf":1.0},"126":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{}}}},"x":{"df":2,"docs":{"117":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"y":{"(":{"[":{"0":{".":{"0":{"df":9,"docs":{"117":{"tf":2.0},"118":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"67":{"tf":2.6457513110645907},"86":{"tf":1.0}}},"1":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"9":{"0":{"0":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"[":{"0":{".":{"0":{"df":11,"docs":{"118":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"_":{"d":{"df":0,"docs":{},"x":{"_":{"2":{"df":1,"docs":{"86":{"tf":1.0}}},"4":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":1,"docs":{"117":{"tf":1.0}}},"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}}}},"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"g":{"(":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"(":{"d":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"118":{"tf":2.449489742783178},"125":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"y":{"(":{"2":{"df":3,"docs":{"126":{"tf":2.0},"27":{"tf":1.0},"63":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{".":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}}},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"[":{"df":0,"docs":{},"p":{"2":{"1":{"df":1,"docs":{"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"x":{"2":{"1":{"df":1,"docs":{"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"b":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"u":{"df":1,"docs":{"86":{"tf":1.0}}},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"86":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"t":{"b":{"df":1,"docs":{"85":{"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":{},"r":{"df":0,"docs":{},"m":{"(":{"d":{"df":0,"docs":{},"p":{"df":1,"docs":{"120":{"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":0,"docs":{},"n":{"df":2,"docs":{"117":{"tf":1.0},"62":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"n":{"df":1,"docs":{"125":{"tf":1.0}}},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"126":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"v":{"d":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"v":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"(":{"df":0,"docs":{},"e":{"0":{"df":1,"docs":{"120":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"(":{"d":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":1,"docs":{"27":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":4,"docs":{"126":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"67":{"tf":1.0}}},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"126":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"(":{"[":{"2":{"df":1,"docs":{"118":{"tf":1.0}}},"df":0,"docs":{},"g":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"[":{"0":{":":{"2":{"df":1,"docs":{"118":{"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":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"f":{")":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}}}},"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":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"f":{")":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"b":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"t":{")":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"v":{"df":1,"docs":{"126":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"v":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"63":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"v":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":13,"docs":{"118":{"tf":1.7320508075688772},"120":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0},"86":{"tf":1.0}}},"u":{"=":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"[":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"[":{"df":0,"docs":{},"v":{"df":0,"docs":{},"u":{",":{"df":0,"docs":{},"v":{"df":0,"docs":{},"u":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"5":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"117":{"tf":1.0},"85":{"tf":2.23606797749979}},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"74":{"tf":2.23606797749979},"77":{"tf":1.4142135623730951}}}},"m":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":16,"docs":{"120":{"tf":1.0},"135":{"tf":1.4142135623730951},"141":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.0},"5":{"tf":1.4142135623730951},"54":{"tf":1.0},"57":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.4142135623730951}}}}},"df":2,"docs":{"117":{"tf":1.0},"29":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":14,"docs":{"10":{"tf":1.0},"118":{"tf":2.0},"12":{"tf":1.0},"120":{"tf":1.7320508075688772},"121":{"tf":1.4142135623730951},"131":{"tf":1.0},"29":{"tf":1.0},"4":{"tf":1.0},"66":{"tf":1.4142135623730951},"71":{"tf":1.0},"87":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}}}},"p":{"df":0,"docs":{},"i":{"df":13,"docs":{"118":{"tf":1.7320508075688772},"120":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"35":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"67":{"tf":1.0},"86":{"tf":1.0}}},"y":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"df":2,"docs":{"27":{"tf":1.0},"28":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"v":{"=":{"df":0,"docs":{},"s":{"df":0,"docs":{},"q":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"[":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"[":{"df":0,"docs":{},"v":{"df":0,"docs":{},"v":{",":{"df":0,"docs":{},"v":{"df":0,"docs":{},"v":{"df":1,"docs":{"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":{},"x":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{")":{"d":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{")":{".":{"(":{"2":{"0":{".":{"1":{".":{"1":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":1,"docs":{"99":{"tf":1.0}}},"df":0,"docs":{}}},"∪":{"df":0,"docs":{},"γ":{"d":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ω":{"0":{"df":1,"docs":{"99":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"o":{"(":{"df":0,"docs":{},"n":{"^":{"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"+":{"3":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"j":{"df":1,"docs":{"29":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"t":{"'":{"df":2,"docs":{"5":{"tf":1.0},"50":{"tf":1.0}}},"df":21,"docs":{"101":{"tf":1.0},"104":{"tf":1.0},"14":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"18":{"tf":2.23606797749979},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"45":{"tf":1.4142135623730951},"49":{"tf":1.0},"5":{"tf":2.0},"50":{"tf":2.23606797749979},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"69":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0}},"’":{"df":1,"docs":{"5":{"tf":1.0}}}}},"df":0,"docs":{}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":8,"docs":{"112":{"tf":1.0},"115":{"tf":1.0},"126":{"tf":1.0},"56":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"77":{"tf":1.0},"81":{"tf":1.0}}}}},"t":{"a":{"c":{"df":0,"docs":{},"l":{"df":14,"docs":{"101":{"tf":1.4142135623730951},"113":{"tf":2.449489742783178},"114":{"tf":1.0},"15":{"tf":1.0},"44":{"tf":1.4142135623730951},"47":{"tf":2.23606797749979},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.4142135623730951},"52":{"tf":2.449489742783178},"53":{"tf":2.23606797749979},"55":{"tf":1.4142135623730951},"64":{"tf":1.0},"66":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":26,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.4142135623730951},"115":{"tf":1.0},"118":{"tf":1.4142135623730951},"120":{"tf":1.0},"121":{"tf":1.4142135623730951},"123":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"131":{"tf":1.4142135623730951},"134":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.7320508075688772},"42":{"tf":2.23606797749979},"52":{"tf":1.0},"53":{"tf":2.0},"57":{"tf":1.0},"58":{"tf":1.7320508075688772},"59":{"tf":1.0},"74":{"tf":1.0},"87":{"tf":1.7320508075688772},"91":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"96":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}},"df":0,"docs":{}}}},"c":{"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"32":{"tf":1.0},"70":{"tf":1.0}}}},"r":{"df":9,"docs":{"101":{"tf":1.0},"117":{"tf":1.0},"131":{"tf":1.0},"16":{"tf":1.0},"53":{"tf":1.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0}},"r":{"df":1,"docs":{"101":{"tf":1.0}}}}}},"df":0,"docs":{}},"d":{"df":1,"docs":{"7":{"tf":1.0}}},"df":5,"docs":{"113":{"tf":1.0},"62":{"tf":3.0},"63":{"tf":2.0},"67":{"tf":2.0},"87":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"12":{"tf":1.0},"18":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"70":{"tf":1.0},"75":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"[":{"0":{"df":1,"docs":{"29":{"tf":1.0}}},"1":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":2,"docs":{"117":{"tf":1.0},"29":{"tf":1.0}}}}}}},"l":{"d":{"df":2,"docs":{"82":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"130":{"tf":1.0},"134":{"tf":1.0},"92":{"tf":1.0},"98":{"tf":1.0}}}}},"n":{"c":{"df":10,"docs":{"100":{"tf":1.0},"111":{"tf":1.0},"114":{"tf":1.4142135623730951},"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"41":{"tf":1.0},"54":{"tf":1.0},"85":{"tf":1.0}}},"df":25,"docs":{"105":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"120":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.4142135623730951},"45":{"tf":1.0},"5":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"6":{"tf":1.0},"63":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.4142135623730951},"87":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"o":{"df":17,"docs":{"117":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"125":{"tf":1.0},"126":{"tf":1.0},"134":{"tf":1.0},"16":{"tf":1.4142135623730951},"22":{"tf":1.0},"23":{"tf":1.0},"51":{"tf":1.0},"54":{"tf":1.7320508075688772},"61":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.4142135623730951},"87":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"41":{"tf":1.0}}},"r":{"df":15,"docs":{"101":{"tf":1.4142135623730951},"114":{"tf":2.0},"122":{"tf":1.0},"123":{"tf":1.4142135623730951},"132":{"tf":1.0},"134":{"tf":1.4142135623730951},"27":{"tf":1.0},"29":{"tf":1.0},"42":{"tf":1.0},"5":{"tf":2.0},"58":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.0},"91":{"tf":1.0}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":2,"docs":{"17":{"tf":1.0},"71":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"t":{"df":1,"docs":{"29":{"tf":1.0}},"i":{"df":0,"docs":{},"m":{"a":{"df":1,"docs":{"53":{"tf":1.0}}},"df":52,"docs":{"101":{"tf":1.7320508075688772},"102":{"tf":1.0},"103":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"118":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.0},"122":{"tf":1.4142135623730951},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.7320508075688772},"13":{"tf":1.7320508075688772},"134":{"tf":1.4142135623730951},"14":{"tf":2.8284271247461903},"140":{"tf":1.0},"141":{"tf":1.0},"15":{"tf":2.23606797749979},"16":{"tf":2.449489742783178},"17":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":2.23606797749979},"24":{"tf":1.0},"28":{"tf":2.0},"29":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"32":{"tf":2.23606797749979},"34":{"tf":1.7320508075688772},"36":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.8284271247461903},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.7320508075688772},"59":{"tf":1.0},"60":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"76":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"tf":1.0},"99":{"tf":1.4142135623730951}},"u":{"df":0,"docs":{},"m":{"df":2,"docs":{"49":{"tf":1.0},"53":{"tf":1.4142135623730951}}}}}}}},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":8,"docs":{"119":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"45":{"tf":1.0},"58":{"tf":1.0},"6":{"tf":1.0},"76":{"tf":1.0},"94":{"tf":1.0}}}},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":5,"docs":{"126":{"tf":1.0},"127":{"tf":1.0},"137":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":4,"docs":{"20":{"tf":1.0},"57":{"tf":1.0},"61":{"tf":1.0},"64":{"tf":1.0}}}}},"g":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":14,"docs":{"100":{"tf":1.0},"120":{"tf":1.0},"16":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"34":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.4142135623730951},"58":{"tf":1.0},"67":{"tf":1.4142135623730951},"71":{"tf":1.0},"92":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":8,"docs":{"102":{"tf":1.0},"118":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"41":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"95":{"tf":2.23606797749979},"97":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"41":{"tf":1.0},"42":{"tf":1.4142135623730951}}}}}}}}}},"s":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"(":{"'":{"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":{"29":{"tf":1.0}}}}}}}}},"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":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"(":{"'":{"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":{"29":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"142":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"29":{"tf":1.0}}}}},"df":1,"docs":{"25":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"5":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"22":{"tf":1.0},"75":{"tf":1.0}}}}}}}}},"u":{"df":0,"docs":{},"t":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":4,"docs":{"17":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.0}}}}},"df":5,"docs":{"121":{"tf":1.0},"22":{"tf":1.4142135623730951},"33":{"tf":1.0},"81":{"tf":1.0},"95":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":6,"docs":{"14":{"tf":1.0},"20":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"79":{"tf":1.0},"89":{"tf":1.0}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"i":{"d":{"df":6,"docs":{"101":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.0},"91":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"91":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"121":{"tf":1.0},"21":{"tf":1.0}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":1,"docs":{"50":{"tf":1.0}}}}},"df":21,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"112":{"tf":1.7320508075688772},"12":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.0},"17":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":1.0},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"79":{"tf":1.4142135623730951},"89":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0}},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"l":{"a":{"df":0,"docs":{},"p":{"df":4,"docs":{"100":{"tf":1.4142135623730951},"114":{"tf":1.7320508075688772},"120":{"tf":1.7320508075688772},"121":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":1,"docs":{"51":{"tf":1.0}}}},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":2,"docs":{"0":{"tf":1.4142135623730951},"4":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.0}}}}}}}}}}}},"−":{"3":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"(":{"df":0,"docs":{},"f":{")":{"=":{"df":0,"docs":{},"k":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ψ":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"f":{")":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"81":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}}},"p":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"q":{"df":0,"docs":{},"q":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"f":{"df":0,"docs":{},"q":{")":{"df":0,"docs":{},"q":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"u":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"σ":{")":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"=":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"^":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"80":{"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":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"k":{")":{"df":0,"docs":{},"q":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"81":{"tf":1.4142135623730951}},"r":{")":{"=":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"f":{")":{"df":0,"docs":{},"r":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"f":{")":{"=":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"80":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"x":{")":{"=":{"df":0,"docs":{},"e":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"27":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"g":{",":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"−":{"df":0,"docs":{},"m":{"df":0,"docs":{},"g":{",":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"∇":{"2":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{")":{"=":{"0":{"df":1,"docs":{"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"a":{"^":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":1,"docs":{"107":{"tf":1.0}}}}},"df":3,"docs":{"14":{"tf":1.4142135623730951},"25":{"tf":1.0},"27":{"tf":1.0}}},"σ":{")":{"=":{"df":0,"docs":{},"p":{"df":1,"docs":{"81":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"⋅":{",":{"df":0,"docs":{},"t":{")":{":":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"×":{"d":{"df":1,"docs":{"91":{"tf":1.0}}},"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":2,"docs":{"131":{"tf":1.0},"82":{"tf":1.7320508075688772}}}}},"0":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"1":{"df":2,"docs":{"114":{"tf":1.0},"118":{"tf":2.23606797749979}}},"2":{"1":{"df":1,"docs":{"87":{"tf":1.0}}},"df":0,"docs":{}},"3":{"1":{"df":1,"docs":{"87":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"=":{"(":{"0":{".":{"5":{",":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"1":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{")":{"+":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{")":{"+":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{")":{"(":{"3":{".":{"3":{".":{"1":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{"df":0,"docs":{},"v":{"0":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"[":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"k":{")":{":":{"df":0,"docs":{},"δ":{"(":{"df":0,"docs":{},"k":{")":{"]":{"df":0,"docs":{},"q":{"df":0,"docs":{},"t":{"=":{"df":0,"docs":{},"r":{"[":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"k":{")":{":":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"f":{"df":0,"docs":{},"q":{")":{"]":{"df":0,"docs":{},"q":{"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":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"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":{},"p":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"[":{"df":0,"docs":{},"v":{"df":1,"docs":{"82":{"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":{},"∂":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"σ":{")":{":":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"f":{"df":0,"docs":{},"v":{")":{"]":{"df":0,"docs":{},"v":{"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":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"x":{"df":1,"docs":{"21":{"tf":1.0}}},"∂":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}},"∂":{"df":0,"docs":{},"ψ":{"df":0,"docs":{},"​":{".":{"(":{"1":{"4":{".":{"1":{".":{"1":{"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":{}}}}}}},">":{"0":{"df":1,"docs":{"114":{"tf":1.0}}},"df":0,"docs":{}},"[":{"0":{"df":2,"docs":{"118":{"tf":2.0},"86":{"tf":2.0}}},"1":{"df":2,"docs":{"118":{"tf":2.0},"86":{"tf":2.0}}},"df":0,"docs":{},"e":{"[":{"df":0,"docs":{},"i":{"]":{"[":{"0":{"df":1,"docs":{"87":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"87":{"tf":1.0}}},"2":{"df":1,"docs":{"87":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"[":{"0":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"i":{"]":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"62":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"[":{"1":{"df":1,"docs":{"54":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"67":{"tf":1.0}}},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}}}},"^":{"df":0,"docs":{},"i":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"μ":{"(":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"1":{"df":0,"docs":{},"​":{")":{"+":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"l":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"j":{")":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"1":{"df":1,"docs":{"80":{"tf":1.0}}},"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":{"21":{"tf":1.4142135623730951}}}},"_":{"b":{"(":{"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"df":0,"docs":{},"x":{"df":2,"docs":{"48":{"tf":2.0},"52":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":2,"docs":{"62":{"tf":1.7320508075688772},"67":{"tf":1.7320508075688772}}}},"a":{"c":{"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"79":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"81":{"tf":1.0}}}},"i":{"df":0,"docs":{},"r":{"df":21,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"117":{"tf":1.0},"118":{"tf":1.4142135623730951},"119":{"tf":1.0},"120":{"tf":2.8284271247461903},"121":{"tf":1.4142135623730951},"123":{"tf":2.0},"124":{"tf":2.23606797749979},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.7320508075688772},"133":{"tf":1.7320508075688772},"135":{"tf":1.0},"136":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":2.0},"141":{"tf":1.7320508075688772},"16":{"tf":1.4142135623730951},"57":{"tf":1.7320508075688772}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"z":{"df":0,"docs":{},"z":{"df":0,"docs":{},"o":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}}},"r":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":3,"docs":{"120":{"tf":1.0},"134":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":13,"docs":{"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"112":{"tf":1.0},"132":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"48":{"tf":1.0},"5":{"tf":1.0},"74":{"tf":2.449489742783178},"77":{"tf":1.0},"82":{"tf":1.0},"85":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"125":{"tf":1.4142135623730951},"45":{"tf":2.0},"76":{"tf":1.0},"82":{"tf":1.0}}}},"r":{"df":2,"docs":{"5":{"tf":1.4142135623730951},"82":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"82":{"tf":1.0}}}}}}},"t":{"df":8,"docs":{"100":{"tf":1.0},"139":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"58":{"tf":1.0},"92":{"tf":1.7320508075688772},"93":{"tf":1.0},"99":{"tf":1.0}},"i":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"125":{"tf":2.449489742783178},"4":{"tf":1.0},"82":{"tf":1.0}}}},"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"120":{"tf":1.0}}}},"l":{"df":9,"docs":{"10":{"tf":1.0},"105":{"tf":1.7320508075688772},"118":{"tf":1.0},"5":{"tf":1.4142135623730951},"52":{"tf":2.23606797749979},"53":{"tf":1.0},"57":{"tf":1.7320508075688772},"66":{"tf":1.0},"70":{"tf":2.0}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"37":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":12,"docs":{"131":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"79":{"tf":1.4142135623730951},"83":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"t":{"df":3,"docs":{"105":{"tf":2.0},"136":{"tf":1.0},"33":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":11,"docs":{"117":{"tf":1.0},"125":{"tf":1.0},"35":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0},"65":{"tf":1.0},"71":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":4,"docs":{"15":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.0},"55":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":1,"docs":{"85":{"tf":1.4142135623730951}}}}}}}},"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"i":{",":{"df":0,"docs":{},"j":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"d":{"df":0,"docs":{},"∂":{"b":{"df":0,"docs":{},"​":{"(":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{")":{"df":0,"docs":{},"∇":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"(":{"7":{".":{"2":{".":{"4":{"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":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"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":1,"docs":{"113":{"tf":1.4142135623730951}}},"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"4":{"tf":1.7320508075688772}}}},"df":24,"docs":{"107":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"118":{"tf":2.0},"120":{"tf":2.449489742783178},"124":{"tf":1.0},"125":{"tf":2.0},"131":{"tf":1.0},"21":{"tf":2.0},"22":{"tf":3.3166247903554},"28":{"tf":2.0},"53":{"tf":2.449489742783178},"54":{"tf":1.7320508075688772},"62":{"tf":1.0},"67":{"tf":1.4142135623730951},"79":{"tf":2.8284271247461903},"80":{"tf":2.6457513110645907},"81":{"tf":1.4142135623730951},"82":{"tf":2.6457513110645907},"83":{"tf":1.4142135623730951},"86":{"tf":1.0},"87":{"tf":1.7320508075688772},"89":{"tf":1.0},"91":{"tf":1.0},"94":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"119":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"119":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"125":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"v":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"120":{"tf":1.4142135623730951}}},"x":{"[":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":2,"docs":{"119":{"tf":1.7320508075688772},"125":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":3,"docs":{"120":{"tf":1.0},"73":{"tf":1.0},"77":{"tf":1.0}},"n":{"a":{"df":0,"docs":{},"l":{"df":4,"docs":{"16":{"tf":1.0},"60":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":4,"docs":{"65":{"tf":1.0},"66":{"tf":3.3166247903554},"67":{"tf":2.0},"68":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":5,"docs":{"100":{"tf":1.4142135623730951},"133":{"tf":1.0},"16":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.7320508075688772}}}}}},"r":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"df":19,"docs":{"102":{"tf":1.4142135623730951},"105":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"134":{"tf":1.0},"29":{"tf":1.0},"42":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"67":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.0}},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"114":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"56":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":16,"docs":{"115":{"tf":1.4142135623730951},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"131":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"58":{"tf":1.0},"60":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.0},"87":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"54":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":4,"docs":{"12":{"tf":1.0},"15":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"70":{"tf":1.0}}}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"b":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"l":{"2":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"k":{"(":{"df":0,"docs":{},"l":{"2":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"1":{")":{"2":{",":{"(":{"4":{".":{"3":{".":{"1":{"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":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":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":{"27":{"tf":1.0}}}},"=":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"ψ":{"(":{"df":0,"docs":{},"f":{")":{"d":{"df":0,"docs":{},"x":{"df":1,"docs":{"73":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"f":{"df":2,"docs":{"123":{"tf":1.0},"58":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"k":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"f":{"0":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"h":{"^":{"df":0,"docs":{},"∥":{")":{",":{"(":{"9":{".":{"2":{".":{"1":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}}},"−":{"df":0,"docs":{},"k":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"​":{"df":0,"docs":{},"μ":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"t":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"f":{"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{")":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{")":{",":{"(":{"9":{".":{"2":{".":{"3":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":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":{"123":{"tf":1.0}}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":4,"docs":{"137":{"tf":1.0},"139":{"tf":1.7320508075688772},"141":{"tf":1.0},"29":{"tf":1.0}}}},"t":{"=":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"{":{"df":0,"docs":{},"t":{"1":{"[":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{",":{"df":0,"docs":{},"s":{"3":{"]":{",":{"df":0,"docs":{},"t":{"2":{"[":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{",":{"df":0,"docs":{},"s":{"3":{"]":{",":{"df":0,"docs":{},"t":{"3":{"[":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{",":{"df":0,"docs":{},"s":{"3":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{"2":{"[":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{"df":1,"docs":{"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":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":4,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.4142135623730951},"69":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.0},"50":{"tf":1.0}}}}}}}}}},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"c":{"df":21,"docs":{"0":{"tf":1.0},"111":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"4":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":2.0},"52":{"tf":1.7320508075688772},"53":{"tf":1.4142135623730951},"66":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"90":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"114":{"tf":1.0}}}},"df":2,"docs":{"131":{"tf":1.0},"87":{"tf":1.0}},"e":{"c":{"df":2,"docs":{"118":{"tf":1.0},"55":{"tf":1.0}},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":13,"docs":{"105":{"tf":2.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"109":{"tf":2.0},"110":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.7320508075688772},"115":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"j":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"p":{"df":0,"docs":{},"j":{"df":2,"docs":{"131":{"tf":1.0},"87":{"tf":1.0}}}}}}}},"∂":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":1,"docs":{"79":{"tf":1.0}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"j":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"a":{"df":6,"docs":{"107":{"tf":1.0},"79":{"tf":2.0},"80":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.0}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":1,"docs":{"31":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":1.0}}}}}},"l":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"a":{"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"29":{"tf":1.0},"4":{"tf":1.0},"58":{"tf":1.0}}}},"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"32":{"tf":1.0},"42":{"tf":1.0},"47":{"tf":1.0},"54":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"e":{"df":8,"docs":{"134":{"tf":1.0},"16":{"tf":1.0},"32":{"tf":1.4142135623730951},"36":{"tf":1.0},"38":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"53":{"tf":1.0},"71":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"69":{"tf":1.0}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"52":{"tf":1.0},"53":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":4,"docs":{"16":{"tf":1.0},"31":{"tf":1.0},"68":{"tf":1.0},"83":{"tf":1.0}}}},"df":1,"docs":{"118":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"1":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":2,"docs":{"20":{"tf":1.0},"48":{"tf":1.0}}}},"u":{"df":1,"docs":{"134":{"tf":1.0}},"g":{"df":2,"docs":{"49":{"tf":1.0},"95":{"tf":1.0}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"p":{"df":0,"docs":{},"−":{"df":0,"docs":{},"∇":{"2":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{")":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"f":{"df":0,"docs":{},"​":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":0,"docs":{},"p":{"df":0,"docs":{},"v":{"df":0,"docs":{},"≥":{"0":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}}},"n":{"df":2,"docs":{"52":{"tf":1.0},"53":{"tf":1.4142135623730951}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"121":{"tf":1.0}}},"(":{"df":0,"docs":{},"e":{"0":{"df":2,"docs":{"118":{"tf":1.4142135623730951},"125":{"tf":1.0}}},"1":{"df":2,"docs":{"118":{"tf":1.4142135623730951},"125":{"tf":1.0}}},"df":0,"docs":{}},"p":{"df":2,"docs":{"118":{"tf":2.449489742783178},"125":{"tf":1.7320508075688772}}}},"df":59,"docs":{"101":{"tf":2.8284271247461903},"102":{"tf":1.0},"105":{"tf":1.7320508075688772},"108":{"tf":1.0},"113":{"tf":2.6457513110645907},"114":{"tf":3.0},"117":{"tf":1.7320508075688772},"118":{"tf":4.0},"119":{"tf":2.449489742783178},"12":{"tf":2.0},"120":{"tf":3.4641016151377544},"121":{"tf":2.0},"122":{"tf":1.0},"123":{"tf":2.8284271247461903},"124":{"tf":2.23606797749979},"125":{"tf":2.6457513110645907},"126":{"tf":1.0},"127":{"tf":2.0},"129":{"tf":1.0},"133":{"tf":2.0},"134":{"tf":3.7416573867739413},"136":{"tf":1.0},"138":{"tf":1.0},"14":{"tf":1.7320508075688772},"140":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"142":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":3.605551275463989},"54":{"tf":1.0},"57":{"tf":1.7320508075688772},"58":{"tf":1.0},"59":{"tf":3.3166247903554},"6":{"tf":2.0},"60":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.7320508075688772},"66":{"tf":1.4142135623730951},"68":{"tf":1.0},"7":{"tf":1.7320508075688772},"70":{"tf":3.605551275463989},"71":{"tf":2.6457513110645907},"72":{"tf":1.0},"73":{"tf":1.7320508075688772},"77":{"tf":1.0},"91":{"tf":1.7320508075688772},"94":{"tf":1.0},"95":{"tf":2.8284271247461903},"96":{"tf":1.0},"97":{"tf":1.7320508075688772}},"e":{"d":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":2,"docs":{"118":{"tf":1.0},"125":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"118":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"118":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":3,"docs":{"117":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"l":{"a":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"v":{"d":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":4,"docs":{"74":{"tf":1.0},"75":{"tf":3.1622776601683795},"76":{"tf":1.4142135623730951},"77":{"tf":1.0}}}},"df":0,"docs":{},"y":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"114":{"tf":1.0},"123":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":3,"docs":{"21":{"tf":1.0},"27":{"tf":1.0},"76":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"11":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"16":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"e":{"df":2,"docs":{"114":{"tf":1.0},"16":{"tf":1.0}}},"i":{"df":0,"docs":{},"t":{"df":41,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"11":{"tf":1.4142135623730951},"114":{"tf":1.0},"117":{"tf":1.7320508075688772},"12":{"tf":1.0},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"125":{"tf":1.0},"131":{"tf":1.4142135623730951},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"26":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"32":{"tf":2.449489742783178},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.7320508075688772},"6":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":2.6457513110645907},"69":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":2.23606797749979},"84":{"tf":1.0},"87":{"tf":1.7320508075688772},"95":{"tf":1.4142135623730951}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"40":{"tf":1.0},"7":{"tf":1.0}}}}},"i":{"b":{"df":0,"docs":{},"l":{"df":10,"docs":{"114":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"75":{"tf":1.4142135623730951},"76":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":57,"docs":{"101":{"tf":2.8284271247461903},"107":{"tf":1.0},"11":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":2.0},"115":{"tf":1.0},"119":{"tf":1.4142135623730951},"12":{"tf":1.0},"121":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":2.23606797749979},"126":{"tf":1.0},"127":{"tf":1.7320508075688772},"131":{"tf":1.0},"134":{"tf":1.7320508075688772},"137":{"tf":1.0},"139":{"tf":1.0},"14":{"tf":2.449489742783178},"142":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.7320508075688772},"18":{"tf":1.7320508075688772},"20":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"27":{"tf":3.0},"28":{"tf":1.7320508075688772},"29":{"tf":1.0},"30":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"34":{"tf":2.0},"35":{"tf":1.0},"36":{"tf":1.0},"41":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":2.6457513110645907},"50":{"tf":2.0},"51":{"tf":1.7320508075688772},"52":{"tf":2.0},"53":{"tf":1.7320508075688772},"54":{"tf":2.23606797749979},"55":{"tf":1.7320508075688772},"58":{"tf":2.23606797749979},"64":{"tf":1.0},"66":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.7320508075688772},"74":{"tf":1.0},"77":{"tf":1.0},"80":{"tf":1.0},"99":{"tf":1.0}}}}}}},"w":{"(":{"(":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"1":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"p":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"118":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"118":{"tf":1.0}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":24,"docs":{"127":{"tf":1.0},"131":{"tf":1.0},"134":{"tf":1.0},"140":{"tf":1.0},"142":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"4":{"tf":1.0},"41":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"59":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.4142135623730951},"68":{"tf":1.0},"69":{"tf":1.0},"83":{"tf":1.0},"87":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"76":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":9,"docs":{"105":{"tf":1.4142135623730951},"12":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.4142135623730951},"32":{"tf":1.0},"5":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"7":{"tf":1.0},"99":{"tf":1.0}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":6,"docs":{"124":{"tf":1.7320508075688772},"125":{"tf":1.4142135623730951},"126":{"tf":1.0},"45":{"tf":1.4142135623730951},"64":{"tf":1.0},"85":{"tf":1.4142135623730951}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"29":{"tf":1.0}}}}}}}}},"i":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"12":{"tf":1.0},"141":{"tf":1.0},"28":{"tf":1.0},"6":{"tf":1.7320508075688772},"63":{"tf":1.0}}}},"df":0,"docs":{}}},"df":1,"docs":{"30":{"tf":1.0}},"f":{"a":{"c":{"df":4,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"2":{"tf":1.0},"3":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"12":{"tf":1.0},"68":{"tf":1.0},"79":{"tf":1.0}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"29":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":12,"docs":{"100":{"tf":1.0},"111":{"tf":1.4142135623730951},"15":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"99":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":2,"docs":{"20":{"tf":1.0},"41":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":10,"docs":{"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"5":{"tf":1.0},"72":{"tf":1.0},"79":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0}}}},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"10":{"tf":1.0}}}},"t":{"df":1,"docs":{"67":{"tf":1.0}}}},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"79":{"tf":1.0},"83":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"69":{"tf":1.0},"79":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":17,"docs":{"100":{"tf":1.4142135623730951},"101":{"tf":1.0},"114":{"tf":1.0},"133":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.4142135623730951},"67":{"tf":1.0},"68":{"tf":1.0},"76":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":10,"docs":{"35":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0},"60":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0}},"s":{"df":5,"docs":{"120":{"tf":1.0},"38":{"tf":1.0},"7":{"tf":1.0},"88":{"tf":1.0},"91":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":2.23606797749979}}},"r":{"df":0,"docs":{},"i":{"df":7,"docs":{"140":{"tf":1.0},"16":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"91":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":6,"docs":{"12":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"50":{"tf":1.0},"70":{"tf":1.0},"83":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"120":{"tf":1.0},"135":{"tf":1.4142135623730951},"136":{"tf":2.449489742783178},"137":{"tf":1.0},"139":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951}}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":6,"docs":{"142":{"tf":1.0},"17":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0}},"l":{"df":8,"docs":{"101":{"tf":1.0},"14":{"tf":1.0},"140":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"6":{"tf":1.0},"65":{"tf":1.0},"83":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"(":{"'":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"28":{"tf":1.0},"67":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"u":{"df":2,"docs":{"28":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"28":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":2,"docs":{"29":{"tf":1.0},"5":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"27":{"tf":1.0}},"i":{"df":1,"docs":{"120":{"tf":1.0}}}}}},"o":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"'":{"df":1,"docs":{"16":{"tf":1.0}}},"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"82":{"tf":1.0}}}},"df":31,"docs":{"10":{"tf":1.0},"100":{"tf":1.7320508075688772},"103":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.7320508075688772},"120":{"tf":1.0},"134":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"15":{"tf":2.23606797749979},"16":{"tf":4.47213595499958},"18":{"tf":2.0},"20":{"tf":2.0},"22":{"tf":1.0},"28":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"4":{"tf":1.7320508075688772},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":2.23606797749979},"58":{"tf":1.0},"70":{"tf":1.0},"83":{"tf":1.0},"89":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"99":{"tf":2.0}}}}}},"c":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"42":{"tf":1.0},"43":{"tf":1.0}}}}},"df":3,"docs":{"65":{"tf":1.0},"67":{"tf":1.0},"78":{"tf":1.0}},"s":{"df":0,"docs":{},"s":{"df":19,"docs":{"11":{"tf":1.0},"132":{"tf":1.0},"139":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"4":{"tf":1.0},"5":{"tf":1.0},"66":{"tf":1.4142135623730951},"7":{"tf":1.0},"73":{"tf":1.0},"80":{"tf":1.0},"83":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":4,"docs":{"52":{"tf":1.0},"58":{"tf":1.0},"59":{"tf":1.0},"95":{"tf":1.4142135623730951}},"t":{"df":7,"docs":{"41":{"tf":1.0},"63":{"tf":1.0},"82":{"tf":1.4142135623730951},"86":{"tf":1.0},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"29":{"tf":1.0},"4":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"10":{"tf":1.0},"121":{"tf":1.0},"29":{"tf":1.0},"65":{"tf":1.0},"7":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}}}},"h":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":26,"docs":{"116":{"tf":1.0},"122":{"tf":1.0},"125":{"tf":1.0},"134":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"19":{"tf":1.7320508075688772},"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":2.8284271247461903},"23":{"tf":1.7320508075688772},"24":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"35":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.4142135623730951},"84":{"tf":1.0},"86":{"tf":1.0}},"e":{"d":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"35":{"tf":1.0},"67":{"tf":1.0}}}},"df":2,"docs":{"28":{"tf":1.0},"35":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"16":{"tf":1.0},"5":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"df":2,"docs":{"120":{"tf":1.0},"121":{"tf":1.0}}}},"o":{"df":0,"docs":{},"f":{"df":2,"docs":{"80":{"tf":1.0},"81":{"tf":1.7320508075688772}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"111":{"tf":1.0},"29":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":11,"docs":{"102":{"tf":1.0},"14":{"tf":1.0},"27":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"74":{"tf":1.4142135623730951},"80":{"tf":1.0},"82":{"tf":1.4142135623730951},"85":{"tf":1.0},"95":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"120":{"tf":1.0}}}},"s":{"df":1,"docs":{"134":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"36":{"tf":1.0}},"n":{"df":1,"docs":{"81":{"tf":1.0}}}},"i":{"d":{"df":31,"docs":{"10":{"tf":1.0},"101":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"14":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"63":{"tf":1.0},"76":{"tf":1.4142135623730951},"8":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}}},"x":{"df":0,"docs":{},"i":{"df":2,"docs":{"21":{"tf":1.0},"22":{"tf":2.0}},"m":{"df":2,"docs":{"16":{"tf":1.0},"49":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"137":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"i":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.0}}},"1":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":4,"docs":{"1":{"tf":1.0},"16":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":3,"docs":{"15":{"tf":1.0},"29":{"tf":1.0},"76":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"71":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"h":{"df":2,"docs":{"49":{"tf":1.0},"50":{"tf":1.0}}}},"t":{"df":3,"docs":{"10":{"tf":1.0},"105":{"tf":1.0},"15":{"tf":1.0}}}},"y":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.7320508075688772}},"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":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"o":{"d":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"r":{"a":{"df":0,"docs":{},"w":{".":{"a":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"29":{"tf":1.0},"62":{"tf":1.0},"85":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"29":{"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":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{".":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"h":{"df":1,"docs":{"29":{"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":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"3":{"df":2,"docs":{"24":{"tf":1.0},"29":{"tf":1.0}}},"df":8,"docs":{"116":{"tf":1.4142135623730951},"122":{"tf":1.0},"24":{"tf":1.7320508075688772},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0}}}}}}},"}":{"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"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":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"q":{"(":{"df":0,"docs":{},"⋅":{",":{"df":0,"docs":{},"t":{")":{":":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"92":{"tf":1.7320508075688772}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"92":{"tf":1.0}}}},"df":0,"docs":{}}},"=":{"df":0,"docs":{},"v":{"df":1,"docs":{"82":{"tf":1.0}}}},"_":{"1":{"df":1,"docs":{"22":{"tf":1.0}}},"2":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}},"n":{"df":1,"docs":{"22":{"tf":1.0}}}},"a":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"95":{"tf":1.0}},"​":{"=":{"df":0,"docs":{},"q":{"a":{"df":0,"docs":{},"∣":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":1,"docs":{"95":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"{":{"1":{",":{"0":{",":{"df":0,"docs":{},"​":{"a":{"=":{"a":{"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":5,"docs":{"22":{"tf":2.23606797749979},"82":{"tf":1.4142135623730951},"94":{"tf":1.0},"95":{"tf":2.0},"97":{"tf":1.0}},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"=":{"1":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"n":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"94":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"a":{"d":{"df":1,"docs":{"26":{"tf":1.7320508075688772}},"r":{"a":{"df":0,"docs":{},"t":{"df":13,"docs":{"120":{"tf":1.0},"131":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.7320508075688772},"32":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"67":{"tf":1.0},"74":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"87":{"tf":1.7320508075688772},"88":{"tf":1.0}},"u":{"df":0,"docs":{},"r":{"df":7,"docs":{"113":{"tf":2.23606797749979},"114":{"tf":1.0},"115":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.4142135623730951},"27":{"tf":1.0},"95":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"tf":1.0}},"i":{"df":2,"docs":{"58":{"tf":1.0},"59":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":6,"docs":{"5":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"91":{"tf":1.0}}}},"t":{"df":1,"docs":{"70":{"tf":1.0}},"i":{"df":7,"docs":{"12":{"tf":1.0},"67":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"94":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"117":{"tf":1.0},"45":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"21":{"tf":1.0}}}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"18":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"121":{"tf":1.0},"4":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":2,"docs":{"140":{"tf":1.0},"29":{"tf":1.0}}}}}},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"=":{"df":0,"docs":{},"ϵ":{"df":0,"docs":{},"→":{"+":{"0":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∫":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"d":{"df":0,"docs":{},"x":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"(":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"​":{"(":{"1":{"6":{".":{"1":{".":{"4":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"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":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"∂":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"v":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"+":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"a":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"df":0,"docs":{},"∀":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"ω":{"0":{"df":1,"docs":{"99":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{},"ϵ":{"df":0,"docs":{},"→":{"+":{"0":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∫":{"b":{"df":0,"docs":{},"ϵ":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"j":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"d":{"df":0,"docs":{},"x":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"(":{"b":{"df":0,"docs":{},"ϵ":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"​":{",":{"(":{"1":{"6":{".":{"1":{".":{"3":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"j":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"v":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"+":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"0":{")":{"df":0,"docs":{},"g":{"df":0,"docs":{},"​":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}}},"df":1,"docs":{"90":{"tf":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":{"90":{"tf":1.0}}}},"df":0,"docs":{}}},".":{"(":{"1":{"3":{".":{"1":{".":{"3":{"df":1,"docs":{"74":{"tf":1.0}}},"5":{"df":1,"docs":{"74":{"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":{},"​":{",":{"df":0,"docs":{},"r":{"2":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"r":{"3":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"=":{"(":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"θ":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"θ":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"θ":{"c":{"df":0,"docs":{},"o":{"df":1,"docs":{"82":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}}}}}}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"c":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"(":{"(":{"1":{"df":0,"docs":{},"−":{"c":{")":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"+":{"c":{"df":0,"docs":{},"x":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"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":{},"i":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"θ":{")":{"df":0,"docs":{},"k":{"+":{"(":{"1":{"df":0,"docs":{},"−":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"(":{"df":0,"docs":{},"θ":{")":{")":{"df":0,"docs":{},"k":{"2":{",":{"(":{"1":{"4":{".":{"3":{".":{"1":{"df":1,"docs":{"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":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":1,"docs":{"82":{"tf":1.0}},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.0}}}}}},">":{"0":{"df":2,"docs":{"45":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}},"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"u":{"df":4,"docs":{"101":{"tf":1.0},"45":{"tf":1.4142135623730951},"5":{"tf":1.0},"90":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":1,"docs":{"106":{"tf":1.0}}},"n":{"df":0,"docs":{},"g":{"df":6,"docs":{"11":{"tf":1.0},"37":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"69":{"tf":1.0},"98":{"tf":1.0}},"e":{"(":{"0":{"df":15,"docs":{"117":{"tf":1.4142135623730951},"119":{"tf":2.0},"126":{"tf":2.6457513110645907},"25":{"tf":2.8284271247461903},"26":{"tf":2.0},"27":{"tf":2.8284271247461903},"29":{"tf":2.0},"35":{"tf":1.7320508075688772},"54":{"tf":2.0},"62":{"tf":2.449489742783178},"63":{"tf":2.449489742783178},"67":{"tf":3.872983346207417},"85":{"tf":1.7320508075688772},"86":{"tf":3.7416573867739413},"87":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"66":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":6,"docs":{"102":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"48":{"tf":1.0},"57":{"tf":1.0},"59":{"tf":1.0}}},"i":{"df":0,"docs":{},"o":{"df":6,"docs":{"117":{"tf":1.0},"118":{"tf":2.449489742783178},"125":{"tf":2.449489742783178},"71":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.4142135623730951}}}}}},"b":{"c":{",":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.4142135623730951}},"​":{"=":{"df":0,"docs":{},"h":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"^":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"+":{"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":{}},"d":{"df":0,"docs":{},"×":{"d":{"df":2,"docs":{"71":{"tf":1.0},"76":{"tf":1.0}}},"df":0,"docs":{}}},"df":23,"docs":{"101":{"tf":1.4142135623730951},"119":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"125":{"tf":1.7320508075688772},"126":{"tf":4.0},"127":{"tf":1.0},"130":{"tf":1.0},"142":{"tf":1.0},"27":{"tf":2.449489742783178},"45":{"tf":1.4142135623730951},"5":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.7320508075688772},"86":{"tf":1.4142135623730951},"89":{"tf":1.0},"94":{"tf":1.0}},"e":{"a":{"c":{"df":0,"docs":{},"h":{"df":4,"docs":{"11":{"tf":1.0},"120":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"94":{"tf":1.0}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"115":{"tf":1.0},"4":{"tf":2.0}}}},"i":{"df":1,"docs":{"63":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.0}}}}}},"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"t":{"1":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"131":{"tf":1.7320508075688772}}},"3":{"df":1,"docs":{"131":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"df":14,"docs":{"131":{"tf":1.4142135623730951},"16":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"69":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"77":{"tf":1.0},"83":{"tf":1.0},"87":{"tf":1.7320508075688772}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"m":{"df":4,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"32":{"tf":1.0},"52":{"tf":1.0}}},"t":{"df":3,"docs":{"17":{"tf":1.4142135623730951},"72":{"tf":1.0},"78":{"tf":1.0}}}},"z":{"df":3,"docs":{"63":{"tf":1.0},"81":{"tf":1.0},"87":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"33":{"tf":1.0},"58":{"tf":1.0}}}},"m":{"df":1,"docs":{"7":{"tf":1.0}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":6,"docs":{"21":{"tf":1.0},"22":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.4142135623730951},"76":{"tf":1.0}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"df":9,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"113":{"tf":1.0},"124":{"tf":1.0},"130":{"tf":1.0},"53":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":2,"docs":{"11":{"tf":1.4142135623730951},"41":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"75":{"tf":1.0},"82":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"r":{"d":{"df":2,"docs":{"5":{"tf":1.4142135623730951},"67":{"tf":1.0}}},"df":0,"docs":{}},"v":{"df":2,"docs":{"41":{"tf":1.0},"82":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"u":{"c":{"df":11,"docs":{"113":{"tf":1.0},"121":{"tf":1.0},"131":{"tf":1.0},"133":{"tf":1.0},"135":{"tf":1.0},"139":{"tf":1.0},"16":{"tf":1.0},"26":{"tf":1.0},"49":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0}},"t":{"df":3,"docs":{"18":{"tf":1.0},"21":{"tf":1.0},"49":{"tf":1.0}}}},"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"5":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"f":{"df":1,"docs":{"55":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":17,"docs":{"100":{"tf":1.0},"107":{"tf":1.0},"115":{"tf":1.0},"14":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"7":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"71":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"89":{"tf":1.4142135623730951},"9":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"c":{"df":3,"docs":{"20":{"tf":1.0},"38":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"16":{"tf":1.0},"93":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"71":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":2,"docs":{"18":{"tf":1.0},"89":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":2,"docs":{"41":{"tf":1.0},"75":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"29":{"tf":1.0}}}}}}},"g":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"26":{"tf":1.0}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":6,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"27":{"tf":1.0},"90":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"16":{"tf":1.0}}},"df":7,"docs":{"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":2.0},"134":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}}},"l":{"_":{"df":0,"docs":{},"v":{"df":1,"docs":{"126":{"tf":1.7320508075688772}}}},"a":{"df":0,"docs":{},"t":{"df":7,"docs":{"47":{"tf":1.0},"57":{"tf":1.7320508075688772},"71":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.4142135623730951},"84":{"tf":1.0},"96":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":11,"docs":{"102":{"tf":1.0},"16":{"tf":1.0},"27":{"tf":1.0},"51":{"tf":1.0},"71":{"tf":1.0},"78":{"tf":1.4142135623730951},"79":{"tf":2.23606797749979},"80":{"tf":1.0},"82":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0}}}}}}}}}},"x":{"df":1,"docs":{"92":{"tf":1.0}}}},"df":13,"docs":{"102":{"tf":1.0},"114":{"tf":1.4142135623730951},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"126":{"tf":1.0},"127":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.7320508075688772},"58":{"tf":2.23606797749979},"79":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"2":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"v":{"df":2,"docs":{"70":{"tf":1.0},"91":{"tf":1.0}}}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":4,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"7":{"tf":1.0}}}},"df":0,"docs":{}},"df":3,"docs":{"141":{"tf":1.0},"69":{"tf":1.0},"79":{"tf":1.0}}}},"m":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":24,"docs":{"10":{"tf":1.0},"101":{"tf":1.7320508075688772},"124":{"tf":1.0},"127":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"22":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.4142135623730951},"36":{"tf":1.0},"45":{"tf":1.0},"52":{"tf":1.0},"58":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.0},"82":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.0},"99":{"tf":1.0}}}},"r":{"df":0,"docs":{},"k":{"df":34,"docs":{"100":{"tf":1.0},"101":{"tf":2.0},"105":{"tf":1.0},"107":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"118":{"tf":1.0},"124":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"41":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.4142135623730951},"70":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"b":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"v":{"df":2,"docs":{"120":{"tf":1.0},"91":{"tf":1.0}}}}},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"29":{"tf":1.0},"5":{"tf":1.0},"85":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"34":{"tf":1.4142135623730951}}}}},"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"87":{"tf":1.0}}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"66":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"h":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"11":{"tf":1.0}}}},"df":0,"docs":{}}},"l":{"a":{"c":{"df":2,"docs":{"112":{"tf":1.0},"57":{"tf":1.0}}},"df":0,"docs":{}},"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":{"1":{"tf":1.4142135623730951},"24":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":38,"docs":{"10":{"tf":1.0},"100":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"128":{"tf":1.4142135623730951},"130":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.4142135623730951},"140":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.4142135623730951},"25":{"tf":1.7320508075688772},"27":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.4142135623730951},"38":{"tf":1.0},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"48":{"tf":1.7320508075688772},"49":{"tf":1.0},"5":{"tf":2.6457513110645907},"6":{"tf":2.0},"66":{"tf":1.0},"7":{"tf":1.7320508075688772},"70":{"tf":2.0},"71":{"tf":1.7320508075688772},"75":{"tf":1.0},"85":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"92":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":8,"docs":{"105":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.0},"45":{"tf":1.4142135623730951},"5":{"tf":3.1622776601683795},"6":{"tf":1.0},"92":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":4,"docs":{"101":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0}}}}}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"r":{"df":22,"docs":{"101":{"tf":1.0},"11":{"tf":1.4142135623730951},"12":{"tf":1.0},"120":{"tf":1.0},"128":{"tf":1.0},"131":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.0},"68":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"85":{"tf":1.0},"92":{"tf":1.7320508075688772}}}}}},"s":{"c":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"119":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":2,"docs":{"4":{"tf":1.0},"76":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"38":{"tf":1.0},"92":{"tf":1.0}}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"d":{")":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{"df":3,"docs":{"28":{"tf":1.0},"35":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"35":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951}}}},"df":2,"docs":{"28":{"tf":1.0},"35":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"i":{"d":{"df":0,"docs":{},"u":{"df":1,"docs":{"66":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"74":{"tf":1.4142135623730951},"76":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":9,"docs":{"101":{"tf":1.0},"105":{"tf":1.4142135623730951},"11":{"tf":1.0},"111":{"tf":1.0},"12":{"tf":1.0},"133":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"[":{"1":{"df":1,"docs":{"29":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"v":{"df":4,"docs":{"11":{"tf":1.0},"15":{"tf":1.0},"49":{"tf":1.0},"63":{"tf":1.0}}}},"u":{"df":0,"docs":{},"r":{"c":{"df":3,"docs":{"49":{"tf":1.0},"5":{"tf":1.0},"79":{"tf":1.0}}},"df":0,"docs":{}}}},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":33,"docs":{"10":{"tf":1.0},"102":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"123":{"tf":1.4142135623730951},"126":{"tf":1.0},"14":{"tf":1.4142135623730951},"32":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"6":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"74":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.4142135623730951},"80":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"85":{"tf":1.7320508075688772},"88":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"d":{"df":2,"docs":{"69":{"tf":1.0},"79":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":4,"docs":{"14":{"tf":1.0},"48":{"tf":1.0},"51":{"tf":1.0},"70":{"tf":1.0}}}}}},"t":{"df":4,"docs":{"14":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"32":{"tf":1.0},"85":{"tf":1.0}},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"126":{"tf":1.4142135623730951},"18":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"58":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.0}}},"1":{"df":1,"docs":{"86":{"tf":1.0}}},"2":{"df":1,"docs":{"86":{"tf":1.0}}},"3":{"df":1,"docs":{"86":{"tf":1.0}}},"4":{"df":1,"docs":{"86":{"tf":1.0}}},"5":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":33,"docs":{"101":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"113":{"tf":1.4142135623730951},"12":{"tf":1.0},"120":{"tf":1.0},"126":{"tf":1.0},"130":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.7320508075688772},"33":{"tf":1.0},"34":{"tf":1.7320508075688772},"36":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.449489742783178},"58":{"tf":1.0},"59":{"tf":1.0},"6":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"82":{"tf":1.4142135623730951},"86":{"tf":1.4142135623730951},"91":{"tf":1.0},"95":{"tf":1.0}}}}}},"t":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"77":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"136":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":17,"docs":{"117":{"tf":1.0},"118":{"tf":3.3166247903554},"120":{"tf":2.449489742783178},"125":{"tf":1.0},"131":{"tf":1.4142135623730951},"25":{"tf":1.0},"26":{"tf":1.7320508075688772},"27":{"tf":2.0},"28":{"tf":2.23606797749979},"29":{"tf":1.0},"35":{"tf":2.23606797749979},"54":{"tf":2.0},"62":{"tf":2.0},"63":{"tf":3.1622776601683795},"67":{"tf":2.0},"86":{"tf":3.605551275463989},"87":{"tf":2.0}}}}}},"v":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"16":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"43":{"tf":1.0}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":5,"docs":{"115":{"tf":1.0},"33":{"tf":1.0},"49":{"tf":1.0},"77":{"tf":1.0},"92":{"tf":1.4142135623730951}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"75":{"tf":1.0}}}}}}}}}},"h":{"df":1,"docs":{"34":{"tf":1.4142135623730951}},"o":{"df":2,"docs":{"117":{"tf":1.0},"29":{"tf":1.4142135623730951}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"df":17,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":1.4142135623730951},"16":{"tf":1.0},"17":{"tf":1.0},"24":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"52":{"tf":1.0},"63":{"tf":1.0},"7":{"tf":1.0},"74":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.0}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}},"i":{"d":{"df":7,"docs":{"14":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":2.23606797749979},"76":{"tf":1.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"r":{"df":5,"docs":{"103":{"tf":1.0},"53":{"tf":1.0},"69":{"tf":1.0},"73":{"tf":1.0},"85":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"50":{"tf":1.0}}},"k":{"df":1,"docs":{"51":{"tf":1.0}}}}},"n":{"=":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"df":0,"docs":{},"−":{"df":0,"docs":{},"r":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"f":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"=":{"df":0,"docs":{},"r":{"df":0,"docs":{},"−":{"1":{"a":{"df":0,"docs":{},"n":{"d":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"r":{")":{"=":{"1":{".":{"(":{"1":{"3":{".":{"3":{".":{"1":{"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":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":{},"n":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"t":{"df":2,"docs":{"76":{"tf":1.0},"77":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":1,"docs":{"76":{"tf":2.0}}},"o":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":9,"docs":{"12":{"tf":1.0},"142":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"45":{"tf":1.0},"51":{"tf":1.0},"88":{"tf":1.0},"92":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":4,"docs":{"120":{"tf":1.0},"14":{"tf":1.0},"82":{"tf":1.4142135623730951},"87":{"tf":1.0}}}}}}}},"d":{"df":1,"docs":{"66":{"tf":1.0}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":1,"docs":{"82":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":6,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"68":{"tf":1.0},"83":{"tf":1.0}}}},"n":{"a":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"142":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"t":{"df":9,"docs":{"11":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.0},"131":{"tf":1.4142135623730951},"27":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"84":{"tf":1.0},"87":{"tf":1.7320508075688772}}}},"t":{"a":{"df":0,"docs":{},"t":{"df":14,"docs":{"126":{"tf":1.4142135623730951},"20":{"tf":1.7320508075688772},"57":{"tf":1.0},"6":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.7320508075688772},"72":{"tf":1.0},"74":{"tf":3.872983346207417},"75":{"tf":2.0},"76":{"tf":2.23606797749979},"77":{"tf":2.0},"79":{"tf":1.0},"80":{"tf":2.23606797749979},"82":{"tf":3.4641016151377544}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"22":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"n":{"d":{"df":2,"docs":{"118":{"tf":1.0},"4":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":2,"docs":{"115":{"tf":1.0},"4":{"tf":1.0}},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"43":{"tf":1.0}}}}}},"w":{"df":10,"docs":{"26":{"tf":1.7320508075688772},"28":{"tf":1.0},"29":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":2.0},"34":{"tf":1.0},"42":{"tf":1.7320508075688772},"91":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0}}}},"s":{"df":2,"docs":{"75":{"tf":1.0},"86":{"tf":1.4142135623730951}}},"u":{"b":{"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":20,"docs":{"10":{"tf":1.0},"104":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"115":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.0},"30":{"tf":1.0},"48":{"tf":1.0},"58":{"tf":1.0},"82":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.7320508075688772},"88":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}},"n":{"df":5,"docs":{"121":{"tf":1.0},"126":{"tf":1.0},"29":{"tf":2.23606797749979},"59":{"tf":1.0},"67":{"tf":1.0}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"142":{"tf":1.0}}}}}}},"​":{"(":{"df":0,"docs":{},"f":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}},"→":{"0":{"df":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}}},"s":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"f":{"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{")":{",":{"(":{"1":{"8":{".":{"4":{".":{"2":{"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":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"123":{"tf":1.0}}}},"df":0,"docs":{}}},")":{"=":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"f":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"f":{"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"k":{"df":1,"docs":{"57":{"tf":1.0}},"​":{")":{"=":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"k":{"df":1,"docs":{"57":{"tf":1.0}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"1":{"df":1,"docs":{"82":{"tf":1.0}}},"2":{"df":1,"docs":{"82":{"tf":1.0}}},"3":{"df":1,"docs":{"82":{"tf":1.0}}},"=":{"1":{"df":1,"docs":{"119":{"tf":1.0}}},"[":{"1":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"0":{"df":0,"docs":{},"​":{"0":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"d":{"/":{"d":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{"df":1,"docs":{"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":{}}},"df":0,"docs":{},"v":{"df":0,"docs":{},"σ":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.0}}}}}},"{":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{",":{"df":0,"docs":{},"s":{"3":{",":{"df":0,"docs":{},"u":{"1":{",":{"df":0,"docs":{},"u":{"2":{",":{"df":0,"docs":{},"u":{"3":{",":{"df":0,"docs":{},"v":{"1":{",":{"df":0,"docs":{},"v":{"2":{",":{"df":0,"docs":{},"v":{"3":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":1,"docs":{"86":{"tf":2.449489742783178}}},"1":{"df":1,"docs":{"86":{"tf":3.4641016151377544}}},"df":0,"docs":{}},"\\":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"(":{"0":{",":{"1":{"df":1,"docs":{"21":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":2,"docs":{"131":{"tf":1.4142135623730951},"87":{"tf":1.0}},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"131":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"e":{"df":20,"docs":{"10":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"107":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"126":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"14":{"tf":1.4142135623730951},"140":{"tf":1.0},"32":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"5":{"tf":1.0},"63":{"tf":1.4142135623730951},"74":{"tf":1.4142135623730951},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"90":{"tf":1.0}}},"p":{"df":0,"docs":{},"l":{"df":12,"docs":{"105":{"tf":1.0},"12":{"tf":1.7320508075688772},"128":{"tf":1.0},"14":{"tf":1.0},"25":{"tf":1.0},"47":{"tf":1.0},"5":{"tf":2.6457513110645907},"6":{"tf":1.0},"7":{"tf":1.4142135623730951},"95":{"tf":3.1622776601683795},"96":{"tf":1.0},"97":{"tf":1.4142135623730951}}}}},"n":{"d":{"df":2,"docs":{"14":{"tf":1.0},"69":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"67":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"11":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":16,"docs":{"105":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.4142135623730951},"65":{"tf":1.0},"67":{"tf":2.0},"68":{"tf":1.0},"74":{"tf":1.4142135623730951},"90":{"tf":1.0},"93":{"tf":1.0}}}}}}}},"c":{"a":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"92":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":11,"docs":{"102":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.7320508075688772},"124":{"tf":1.0},"131":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":2.0},"54":{"tf":1.0},"57":{"tf":1.0},"75":{"tf":1.0},"87":{"tf":2.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":25,"docs":{"11":{"tf":1.0},"132":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"20":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.4142135623730951},"47":{"tf":1.0},"5":{"tf":1.4142135623730951},"50":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"55":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"92":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":10,"docs":{"117":{"tf":2.23606797749979},"121":{"tf":1.0},"126":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"64":{"tf":1.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.0},"87":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":9,"docs":{"23":{"tf":1.0},"29":{"tf":1.4142135623730951},"45":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"142":{"tf":2.0},"79":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"28":{"tf":1.0}}},"y":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"28":{"tf":1.0}},"e":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"g":{"df":1,"docs":{"28":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"(":{"(":{"2":{"5":{"5":{"df":1,"docs":{"29":{"tf":1.0}}},"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":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"(":{"[":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"_":{"df":0,"docs":{},"o":{"[":{"0":{"df":1,"docs":{"62":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"[":{"0":{"df":2,"docs":{"29":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"1":{"df":2,"docs":{"29":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"85":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"29":{"tf":1.0}},"i":{"df":1,"docs":{"29":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"29":{"tf":1.4142135623730951}}}}},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}}}},"df":16,"docs":{"112":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":2.6457513110645907},"125":{"tf":1.4142135623730951},"21":{"tf":1.0},"29":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"54":{"tf":2.0},"62":{"tf":2.0},"63":{"tf":1.4142135623730951},"67":{"tf":2.0},"7":{"tf":1.0},"75":{"tf":1.0},"86":{"tf":3.4641016151377544}},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{"df":3,"docs":{"28":{"tf":1.7320508075688772},"35":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":35,"docs":{"113":{"tf":1.0},"115":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":2.8284271247461903},"121":{"tf":1.7320508075688772},"131":{"tf":1.0},"132":{"tf":1.0},"137":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":3.3166247903554},"22":{"tf":1.4142135623730951},"23":{"tf":1.4142135623730951},"28":{"tf":1.7320508075688772},"29":{"tf":1.7320508075688772},"30":{"tf":1.4142135623730951},"32":{"tf":2.0},"34":{"tf":1.7320508075688772},"35":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"50":{"tf":1.0},"51":{"tf":2.449489742783178},"52":{"tf":2.0},"53":{"tf":3.3166247903554},"54":{"tf":2.6457513110645907},"55":{"tf":1.4142135623730951},"58":{"tf":1.0},"62":{"tf":1.4142135623730951},"67":{"tf":1.0},"76":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":2.6457513110645907},"88":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"4":{"tf":1.0}}}}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":17,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"134":{"tf":1.0},"20":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":2.23606797749979},"7":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.0},"91":{"tf":1.0},"94":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.0}}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":25,"docs":{"107":{"tf":1.7320508075688772},"108":{"tf":1.0},"116":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"132":{"tf":1.4142135623730951},"141":{"tf":1.0},"24":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.0},"4":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"61":{"tf":1.4142135623730951},"67":{"tf":1.0},"69":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"8":{"tf":1.0},"84":{"tf":1.0},"86":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":24,"docs":{"105":{"tf":1.0},"107":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"116":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"21":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.4142135623730951},"63":{"tf":1.0},"74":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.4142135623730951},"95":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.4142135623730951}},"m":{"df":1,"docs":{"29":{"tf":1.0}}},"n":{"df":4,"docs":{"15":{"tf":1.0},"5":{"tf":1.0},"71":{"tf":1.0},"81":{"tf":1.0}}}},"g":{"+":{"1":{")":{"df":0,"docs":{},"∗":{"(":{"df":0,"docs":{},"n":{"df":1,"docs":{"117":{"tf":1.4142135623730951}}}},"2":{"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"117":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":9,"docs":{"113":{"tf":1.4142135623730951},"117":{"tf":1.0},"118":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":2.0},"85":{"tf":1.0},"90":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":6,"docs":{"113":{"tf":1.0},"134":{"tf":1.0},"15":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0}}}},"df":0,"docs":{}},"f":{"df":29,"docs":{"100":{"tf":1.0},"101":{"tf":2.0},"109":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":2.0},"115":{"tf":1.4142135623730951},"116":{"tf":2.23606797749979},"117":{"tf":1.7320508075688772},"118":{"tf":1.0},"119":{"tf":2.0},"120":{"tf":1.7320508075688772},"121":{"tf":1.7320508075688772},"122":{"tf":2.23606797749979},"123":{"tf":1.4142135623730951},"124":{"tf":1.0},"125":{"tf":1.4142135623730951},"126":{"tf":2.23606797749979},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"133":{"tf":1.7320508075688772},"134":{"tf":1.0},"135":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"138":{"tf":1.0},"139":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"55":{"tf":1.4142135623730951}}},"l":{"df":1,"docs":{"142":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":13,"docs":{"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.4142135623730951},"125":{"tf":1.0},"127":{"tf":1.4142135623730951},"22":{"tf":1.0},"27":{"tf":1.0},"58":{"tf":2.23606797749979},"59":{"tf":1.0},"60":{"tf":1.4142135623730951},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"95":{"tf":1.0}}}},"n":{"df":0,"docs":{},"s":{"df":1,"docs":{"4":{"tf":1.0}},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"92":{"tf":1.0}}}}}},"p":{"a":{"df":0,"docs":{},"r":{"df":8,"docs":{"103":{"tf":1.0},"120":{"tf":1.4142135623730951},"22":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.0},"5":{"tf":1.0},"71":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}},"q":{"df":0,"docs":{},"u":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"c":{"df":1,"docs":{"75":{"tf":1.0}}},"df":0,"docs":{}}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"7":{"tf":1.0}}},"v":{"df":7,"docs":{"101":{"tf":1.0},"34":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0},"73":{"tf":1.0}}}},"t":{"df":43,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"106":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.7320508075688772},"115":{"tf":1.0},"117":{"tf":1.7320508075688772},"119":{"tf":1.0},"124":{"tf":2.0},"127":{"tf":1.7320508075688772},"130":{"tf":1.0},"134":{"tf":2.23606797749979},"139":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":2.449489742783178},"20":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.7320508075688772},"41":{"tf":2.0},"44":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"63":{"tf":1.4142135623730951},"65":{"tf":1.0},"66":{"tf":2.23606797749979},"67":{"tf":1.4142135623730951},"70":{"tf":1.0},"73":{"tf":1.0},"82":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.0},"95":{"tf":1.7320508075688772},"96":{"tf":1.0},"97":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":13,"docs":{"100":{"tf":1.0},"111":{"tf":1.0},"117":{"tf":2.449489742783178},"29":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"48":{"tf":1.0},"53":{"tf":1.4142135623730951},"62":{"tf":1.0},"67":{"tf":1.4142135623730951},"88":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"102":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"71":{"tf":1.0},"87":{"tf":1.0}}}}}},"h":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"=":{"(":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"28":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":13,"docs":{"104":{"tf":1.0},"105":{"tf":2.23606797749979},"108":{"tf":1.0},"112":{"tf":1.0},"129":{"tf":1.4142135623730951},"14":{"tf":1.4142135623730951},"29":{"tf":1.0},"45":{"tf":1.4142135623730951},"5":{"tf":2.449489742783178},"70":{"tf":1.0},"72":{"tf":1.0},"76":{"tf":1.0},"85":{"tf":1.0}}}},"r":{"df":0,"docs":{},"e":{"df":3,"docs":{"113":{"tf":1.0},"120":{"tf":1.0},"80":{"tf":1.0}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"56":{"tf":1.0},"60":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"66":{"tf":1.0},"71":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":3,"docs":{"25":{"tf":1.0},"43":{"tf":1.0},"5":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"w":{"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"10":{"tf":1.0},"16":{"tf":1.0}}}},"df":0,"docs":{}},"df":11,"docs":{"16":{"tf":1.0},"5":{"tf":1.4142135623730951},"52":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"80":{"tf":1.0},"81":{"tf":1.0},"82":{"tf":1.4142135623730951},"85":{"tf":1.0}},"n":{"df":8,"docs":{"117":{"tf":1.0},"16":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.4142135623730951},"54":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"91":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":4,"docs":{"117":{"tf":1.7320508075688772},"29":{"tf":2.0},"54":{"tf":1.0},"67":{"tf":1.0}},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"25":{"tf":1.7320508075688772}}}}}}}}},"df":12,"docs":{"117":{"tf":1.0},"16":{"tf":1.0},"25":{"tf":1.4142135623730951},"29":{"tf":1.0},"34":{"tf":1.0},"50":{"tf":1.4142135623730951},"53":{"tf":1.0},"74":{"tf":1.0},"80":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":2.23606797749979},"95":{"tf":1.4142135623730951}}}},"df":1,"docs":{"82":{"tf":1.0}},"f":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"81":{"tf":1.0}}}}},"df":0,"docs":{}},"g":{"df":0,"docs":{},"m":{"a":{"=":{"d":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"[":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{",":{"df":0,"docs":{},"s":{"3":{"df":1,"docs":{"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":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"[":{"1":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"d":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"n":{"df":11,"docs":{"101":{"tf":1.0},"118":{"tf":1.0},"45":{"tf":4.0},"47":{"tf":1.4142135623730951},"48":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":12,"docs":{"120":{"tf":1.0},"121":{"tf":1.0},"135":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"26":{"tf":1.0},"41":{"tf":1.0},"53":{"tf":1.4142135623730951},"6":{"tf":1.0},"9":{"tf":1.0}}}}}}},"df":8,"docs":{"18":{"tf":1.0},"20":{"tf":1.0},"29":{"tf":1.0},"44":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0},"65":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{}}}}}},"m":{"df":8,"docs":{"116":{"tf":1.4142135623730951},"122":{"tf":1.4142135623730951},"24":{"tf":1.4142135623730951},"35":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"61":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":20,"docs":{"100":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"123":{"tf":1.4142135623730951},"127":{"tf":1.0},"129":{"tf":1.0},"131":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"38":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"66":{"tf":1.0},"7":{"tf":1.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.0},"80":{"tf":1.0},"88":{"tf":1.0},"95":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":13,"docs":{"101":{"tf":1.0},"106":{"tf":1.0},"115":{"tf":1.0},"123":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"62":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.0},"87":{"tf":1.0},"95":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"l":{"df":11,"docs":{"114":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.0},"23":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":1.4142135623730951},"52":{"tf":1.0},"6":{"tf":1.0},"69":{"tf":1.0},"8":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":3,"docs":{"113":{"tf":1.0},"5":{"tf":1.4142135623730951},"54":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"11":{"tf":1.0},"15":{"tf":1.0},"33":{"tf":1.0},"74":{"tf":1.0}}}},"x":{"df":3,"docs":{"104":{"tf":2.0},"128":{"tf":1.0},"132":{"tf":1.0}}}},"i":{"c":{"df":6,"docs":{"106":{"tf":1.0},"122":{"tf":1.0},"16":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0},"92":{"tf":1.0}}},"df":14,"docs":{"100":{"tf":1.0},"112":{"tf":1.0},"114":{"tf":1.0},"21":{"tf":1.0},"32":{"tf":1.0},"34":{"tf":1.0},"42":{"tf":1.7320508075688772},"52":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.7320508075688772},"57":{"tf":1.0},"66":{"tf":1.0},"82":{"tf":1.0},"87":{"tf":1.4142135623730951}},"f":{"df":2,"docs":{"113":{"tf":1.0},"27":{"tf":1.0}},"i":{"df":15,"docs":{"105":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"25":{"tf":1.0},"33":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"44":{"tf":1.0},"6":{"tf":1.4142135623730951},"62":{"tf":1.0},"76":{"tf":2.0},"77":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":7,"docs":{"117":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"35":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}}}},"df":75,"docs":{"0":{"tf":1.0},"10":{"tf":1.7320508075688772},"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"103":{"tf":1.0},"111":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"116":{"tf":1.0},"117":{"tf":1.7320508075688772},"118":{"tf":1.0},"12":{"tf":1.0},"120":{"tf":1.4142135623730951},"121":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.4142135623730951},"14":{"tf":1.0},"142":{"tf":2.0},"15":{"tf":1.0},"16":{"tf":2.8284271247461903},"17":{"tf":2.0},"18":{"tf":2.0},"22":{"tf":1.7320508075688772},"24":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":5.196152422706632},"3":{"tf":1.0},"30":{"tf":2.449489742783178},"31":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"35":{"tf":1.7320508075688772},"4":{"tf":1.7320508075688772},"41":{"tf":1.0},"43":{"tf":1.0},"45":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.4142135623730951},"5":{"tf":2.8284271247461903},"50":{"tf":2.449489742783178},"51":{"tf":1.7320508075688772},"52":{"tf":1.4142135623730951},"53":{"tf":1.7320508075688772},"54":{"tf":2.0},"55":{"tf":1.0},"57":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.0},"65":{"tf":2.0},"66":{"tf":1.4142135623730951},"67":{"tf":2.449489742783178},"69":{"tf":1.7320508075688772},"7":{"tf":2.0},"70":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"76":{"tf":1.4142135623730951},"78":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"87":{"tf":2.0},"88":{"tf":1.4142135623730951},"89":{"tf":1.0},"90":{"tf":1.7320508075688772},"91":{"tf":1.4142135623730951},"93":{"tf":1.7320508075688772},"94":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}},"t":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"16":{"tf":1.0}}}},"df":0,"docs":{}}}}},"n":{"[":{"df":0,"docs":{},"u":{"1":{"]":{",":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"u":{"1":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}},"v":{"1":{"]":{"df":0,"docs":{},"}":{",":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"[":{"df":0,"docs":{},"v":{"1":{"]":{",":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"v":{"1":{"df":1,"docs":{"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":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"142":{"tf":1.0}},"g":{"df":0,"docs":{},"l":{"df":5,"docs":{"101":{"tf":1.0},"113":{"tf":1.0},"29":{"tf":1.0},"6":{"tf":1.0},"82":{"tf":1.0}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":8,"docs":{"40":{"tf":1.0},"41":{"tf":2.0},"43":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":2.0},"79":{"tf":1.4142135623730951},"82":{"tf":2.449489742783178},"95":{"tf":1.0}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"49":{"tf":1.0},"71":{"tf":1.0}}}},"df":0,"docs":{}}},"z":{"df":0,"docs":{},"e":{"df":30,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.0},"131":{"tf":1.7320508075688772},"16":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.7320508075688772},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.449489742783178},"54":{"tf":2.0},"58":{"tf":1.4142135623730951},"59":{"tf":1.7320508075688772},"62":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"7":{"tf":1.0},"82":{"tf":1.4142135623730951},"84":{"tf":1.0},"87":{"tf":2.449489742783178},"88":{"tf":1.7320508075688772},"9":{"tf":1.0}}}}},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"82":{"tf":1.0}}}},"i":{"df":0,"docs":{},"p":{"df":1,"docs":{"50":{"tf":1.0}}}}},"l":{"a":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"16":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951},"50":{"tf":1.0},"87":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"df":11,"docs":{"102":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.7320508075688772},"124":{"tf":1.4142135623730951},"126":{"tf":1.4142135623730951},"57":{"tf":2.6457513110645907},"58":{"tf":2.23606797749979},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"87":{"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":{"58":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":3,"docs":{"14":{"tf":1.0},"15":{"tf":1.0},"7":{"tf":1.4142135623730951}}}}}}}},"p":{"df":10,"docs":{"32":{"tf":2.0},"36":{"tf":1.7320508075688772},"37":{"tf":2.449489742783178},"38":{"tf":3.1622776601683795},"39":{"tf":1.0},"40":{"tf":2.23606797749979},"41":{"tf":1.0},"42":{"tf":3.4641016151377544},"43":{"tf":2.0},"75":{"tf":1.0}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":7,"docs":{"117":{"tf":1.7320508075688772},"60":{"tf":1.0},"61":{"tf":2.6457513110645907},"62":{"tf":4.123105625617661},"63":{"tf":3.7416573867739413},"64":{"tf":1.4142135623730951},"67":{"tf":1.0}}}},"w":{"df":3,"docs":{"16":{"tf":1.0},"41":{"tf":1.0},"57":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"22":{"tf":1.0}}}}}}},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":20,"docs":{"101":{"tf":1.0},"114":{"tf":1.0},"134":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":1.0},"77":{"tf":1.4142135623730951},"79":{"tf":1.0},"82":{"tf":1.0},"9":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":9,"docs":{"104":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":2.0},"125":{"tf":1.0},"21":{"tf":1.0},"35":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"82":{"tf":1.0}}},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"d":{"(":{"a":{"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":3,"docs":{"53":{"tf":1.0},"62":{"tf":1.0},"88":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"58":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"76":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":1,"docs":{"69":{"tf":1.0}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":16,"docs":{"101":{"tf":1.4142135623730951},"114":{"tf":2.23606797749979},"118":{"tf":1.7320508075688772},"121":{"tf":1.0},"123":{"tf":1.0},"127":{"tf":1.0},"134":{"tf":1.4142135623730951},"16":{"tf":1.7320508075688772},"18":{"tf":1.0},"21":{"tf":1.4142135623730951},"23":{"tf":1.0},"47":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"57":{"tf":2.23606797749979},"95":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"4":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":11,"docs":{"101":{"tf":1.0},"103":{"tf":1.0},"114":{"tf":1.0},"122":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.0},"141":{"tf":1.0},"45":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.4142135623730951},"65":{"tf":1.0}}}}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"131":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"69":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":2,"docs":{"105":{"tf":1.0},"14":{"tf":1.0}},"w":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"29":{"tf":1.0},"79":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"69":{"tf":1.0}}}},"l":{"df":0,"docs":{},"e":{"df":2,"docs":{"105":{"tf":1.0},"67":{"tf":1.0}}},"i":{"d":{"'":{"df":3,"docs":{"45":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951}}},"df":52,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.0},"105":{"tf":1.0},"106":{"tf":1.0},"113":{"tf":2.449489742783178},"114":{"tf":1.0},"12":{"tf":1.0},"127":{"tf":1.0},"128":{"tf":2.0},"132":{"tf":1.4142135623730951},"133":{"tf":1.0},"14":{"tf":2.0},"142":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":2.23606797749979},"18":{"tf":1.4142135623730951},"22":{"tf":1.0},"24":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.4142135623730951},"31":{"tf":1.7320508075688772},"4":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951},"45":{"tf":3.1622776601683795},"47":{"tf":1.7320508075688772},"48":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951},"5":{"tf":4.242640687119285},"50":{"tf":1.4142135623730951},"51":{"tf":2.23606797749979},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"54":{"tf":1.4142135623730951},"55":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"66":{"tf":1.0},"69":{"tf":1.4142135623730951},"73":{"tf":1.7320508075688772},"74":{"tf":1.4142135623730951},"77":{"tf":1.0},"79":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.4142135623730951},"93":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"88":{"tf":1.0}}}}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"t":{"df":25,"docs":{"10":{"tf":1.0},"100":{"tf":1.0},"105":{"tf":1.0},"11":{"tf":2.0},"122":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":2.449489742783178},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"32":{"tf":1.0},"4":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":2.23606797749979},"52":{"tf":1.0},"53":{"tf":1.4142135623730951},"55":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"76":{"tf":1.0},"9":{"tf":1.4142135623730951},"92":{"tf":1.0},"95":{"tf":2.23606797749979},"97":{"tf":1.0}}}},"v":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":1.0},"4":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{}},"df":37,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"11":{"tf":1.4142135623730951},"118":{"tf":1.0},"119":{"tf":1.0},"12":{"tf":1.0},"120":{"tf":1.4142135623730951},"122":{"tf":1.0},"131":{"tf":2.0},"132":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.7320508075688772},"16":{"tf":1.0},"18":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.4142135623730951},"33":{"tf":1.0},"34":{"tf":1.7320508075688772},"38":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"69":{"tf":1.0},"87":{"tf":2.449489742783178},"88":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"131":{"tf":1.0},"28":{"tf":1.7320508075688772}}}}}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"131":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"r":{"c":{"df":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"92":{"tf":1.0}}}}}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":50,"docs":{"10":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":2.0},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.0},"11":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"12":{"tf":1.0},"129":{"tf":1.4142135623730951},"130":{"tf":1.0},"132":{"tf":1.0},"136":{"tf":1.0},"137":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"4":{"tf":1.7320508075688772},"45":{"tf":2.23606797749979},"5":{"tf":2.0},"57":{"tf":1.0},"58":{"tf":1.0},"6":{"tf":1.4142135623730951},"60":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.4142135623730951},"70":{"tf":2.449489742783178},"71":{"tf":1.0},"72":{"tf":1.4142135623730951},"74":{"tf":2.23606797749979},"77":{"tf":1.4142135623730951},"78":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":1.0},"80":{"tf":1.7320508075688772},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"88":{"tf":1.0},"9":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"93":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":2.8284271247461903},"97":{"tf":1.4142135623730951}}}},"df":0,"docs":{},"n":{"df":4,"docs":{"118":{"tf":1.0},"120":{"tf":1.0},"121":{"tf":1.0},"95":{"tf":1.4142135623730951}}},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"4":{"tf":1.0}}},"s":{"df":4,"docs":{"114":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":2.0},"41":{"tf":1.0}},"e":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"(":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"v":{"[":{"2":{"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":{}},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"41":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0}}}}}}},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":20,"docs":{"105":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"115":{"tf":1.0},"121":{"tf":1.7320508075688772},"123":{"tf":1.0},"127":{"tf":1.0},"135":{"tf":1.4142135623730951},"136":{"tf":1.7320508075688772},"139":{"tf":1.4142135623730951},"141":{"tf":1.4142135623730951},"25":{"tf":1.7320508075688772},"32":{"tf":1.0},"5":{"tf":1.0},"69":{"tf":1.0},"89":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}},"d":{"df":10,"docs":{"20":{"tf":1.0},"21":{"tf":1.0},"22":{"tf":2.449489742783178},"23":{"tf":1.4142135623730951},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"86":{"tf":1.0}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"134":{"tf":1.0},"40":{"tf":1.0},"74":{"tf":1.0},"77":{"tf":1.0},"90":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":36,"docs":{"10":{"tf":1.0},"104":{"tf":1.0},"109":{"tf":1.0},"11":{"tf":1.0},"114":{"tf":1.0},"12":{"tf":1.0},"140":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"17":{"tf":1.0},"21":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.0},"37":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.4142135623730951},"45":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.7320508075688772},"54":{"tf":1.0},"6":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"87":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}},"i":{"df":11,"docs":{"100":{"tf":1.0},"112":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.0},"32":{"tf":1.4142135623730951},"71":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.0},"99":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"d":{"df":3,"docs":{"16":{"tf":1.0},"52":{"tf":1.0},"70":{"tf":1.0}},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":3,"docs":{"45":{"tf":1.7320508075688772},"5":{"tf":1.4142135623730951},"57":{"tf":2.0}}},"i":{"c":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"131":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"45":{"tf":1.0}}}},"t":{"df":1,"docs":{"54":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"'":{"df":1,"docs":{"27":{"tf":1.0}}},"df":16,"docs":{"24":{"tf":1.7320508075688772},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":3.1622776601683795},"28":{"tf":1.0},"29":{"tf":3.0},"30":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"54":{"tf":2.0},"67":{"tf":2.449489742783178},"68":{"tf":1.7320508075688772},"69":{"tf":1.4142135623730951},"73":{"tf":1.4142135623730951},"84":{"tf":1.4142135623730951},"85":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"y":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}}}}},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"28":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":3,"docs":{"28":{"tf":1.0},"35":{"tf":1.0},"67":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}}}},"q":{"a":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"35":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"(":{"3":{".":{"0":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"1":{"df":1,"docs":{"131":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"u":{"a":{"df":0,"docs":{},"r":{"df":29,"docs":{"117":{"tf":3.4641016151377544},"118":{"tf":2.0},"119":{"tf":1.4142135623730951},"120":{"tf":1.7320508075688772},"121":{"tf":1.0},"124":{"tf":1.4142135623730951},"126":{"tf":2.449489742783178},"127":{"tf":1.0},"20":{"tf":1.0},"22":{"tf":1.0},"25":{"tf":2.8284271247461903},"27":{"tf":1.0},"29":{"tf":3.3166247903554},"35":{"tf":2.23606797749979},"51":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":3.1622776601683795},"60":{"tf":1.0},"61":{"tf":2.449489742783178},"62":{"tf":2.0},"63":{"tf":2.449489742783178},"64":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":3.3166247903554},"68":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"83":{"tf":1.0},"87":{"tf":1.7320508075688772}},"e":{"'":{"df":1,"docs":{"54":{"tf":1.0}}},"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"h":{".":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":3,"docs":{"117":{"tf":1.0},"29":{"tf":1.0},"67":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"p":{"df":0,"docs":{},"i":{"df":4,"docs":{"117":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"85":{"tf":1.0}}}},"w":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"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":1,"docs":{"29":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"29":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"r":{"c":{"df":1,"docs":{"1":{"tf":1.0}}},"df":0,"docs":{}},"t":{"a":{"b":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":4,"docs":{"10":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"29":{"tf":1.0},"58":{"tf":1.0}}}},"l":{"df":7,"docs":{"10":{"tf":1.0},"12":{"tf":1.4142135623730951},"142":{"tf":1.0},"18":{"tf":1.0},"29":{"tf":1.0},"57":{"tf":1.0},"92":{"tf":1.0}}}},"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"5":{"tf":1.0},"57":{"tf":1.0},"6":{"tf":1.7320508075688772},"67":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":2,"docs":{"34":{"tf":1.0},"66":{"tf":1.4142135623730951}}}},"n":{"d":{"a":{"df":0,"docs":{},"r":{"d":{"df":10,"docs":{"11":{"tf":1.0},"112":{"tf":1.0},"131":{"tf":1.0},"17":{"tf":1.0},"22":{"tf":1.4142135623730951},"27":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"78":{"tf":1.0}}},"df":0,"docs":{}}},"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"t":{"df":22,"docs":{"104":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"43":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"7":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":8,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0},"45":{"tf":1.0},"57":{"tf":1.0},"9":{"tf":1.7320508075688772},"92":{"tf":1.0}}},"i":{"c":{"df":11,"docs":{"122":{"tf":1.0},"127":{"tf":1.0},"17":{"tf":1.4142135623730951},"29":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":2.23606797749979},"60":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"66":{"tf":1.0},"67":{"tf":1.0}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"49":{"tf":1.0}},"i":{"df":2,"docs":{"15":{"tf":1.0},"32":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"y":{"df":3,"docs":{"38":{"tf":1.0},"42":{"tf":1.0},"54":{"tf":1.0}}}},"d":{":":{":":{"a":{"b":{"df":0,"docs":{},"s":{"(":{"c":{"df":1,"docs":{"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":{},"e":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"16":{"tf":1.7320508075688772}}}}}},"r":{"df":1,"docs":{"16":{"tf":1.0}}}},"n":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":3,"docs":{"114":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0}}}}},"df":0,"docs":{}},"p":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"(":{"df":0,"docs":{},"x":{"df":2,"docs":{"28":{"tf":1.0},"63":{"tf":1.0}}}},"df":1,"docs":{"28":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":47,"docs":{"10":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.4142135623730951},"123":{"tf":2.23606797749979},"124":{"tf":1.7320508075688772},"125":{"tf":1.0},"127":{"tf":1.7320508075688772},"131":{"tf":1.7320508075688772},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"23":{"tf":1.0},"25":{"tf":2.23606797749979},"29":{"tf":3.0},"32":{"tf":2.0},"34":{"tf":1.7320508075688772},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"43":{"tf":1.0},"50":{"tf":2.6457513110645907},"51":{"tf":1.4142135623730951},"52":{"tf":1.7320508075688772},"53":{"tf":2.8284271247461903},"54":{"tf":2.0},"55":{"tf":1.0},"58":{"tf":2.449489742783178},"59":{"tf":1.7320508075688772},"60":{"tf":1.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.0},"65":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":2.0},"7":{"tf":1.7320508075688772},"76":{"tf":1.0},"77":{"tf":1.0},"84":{"tf":1.0},"87":{"tf":2.449489742783178},"88":{"tf":2.0},"9":{"tf":2.0},"91":{"tf":1.4142135623730951},"95":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"i":{"df":8,"docs":{"32":{"tf":2.23606797749979},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.7320508075688772},"37":{"tf":1.0},"38":{"tf":1.4142135623730951},"41":{"tf":1.0}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":11,"docs":{"12":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.7320508075688772},"34":{"tf":1.0},"35":{"tf":1.0},"48":{"tf":1.0},"54":{"tf":1.0},"66":{"tf":2.23606797749979},"67":{"tf":2.0},"68":{"tf":1.0},"74":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"14":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"l":{"df":15,"docs":{"101":{"tf":1.4142135623730951},"107":{"tf":1.0},"114":{"tf":1.4142135623730951},"119":{"tf":1.0},"133":{"tf":1.0},"134":{"tf":1.4142135623730951},"32":{"tf":1.0},"34":{"tf":1.0},"40":{"tf":1.0},"53":{"tf":1.7320508075688772},"58":{"tf":1.0},"59":{"tf":1.0},"68":{"tf":1.0},"76":{"tf":1.0},"87":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":4,"docs":{"142":{"tf":1.7320508075688772},"76":{"tf":1.0},"79":{"tf":1.0},"82":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{}},"p":{"df":7,"docs":{"22":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"50":{"tf":1.0},"52":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.4142135623730951},"67":{"tf":1.0}}},"r":{"a":{"df":0,"docs":{},"g":{"df":1,"docs":{"45":{"tf":1.0}}}},"df":0,"docs":{},"e":{"df":11,"docs":{"125":{"tf":1.0},"136":{"tf":1.4142135623730951},"26":{"tf":1.0},"29":{"tf":1.0},"35":{"tf":1.0},"45":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":1.4142135623730951},"74":{"tf":1.0},"80":{"tf":1.0},"85":{"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":19,"docs":{"111":{"tf":1.0},"114":{"tf":1.0},"120":{"tf":1.0},"122":{"tf":1.0},"124":{"tf":1.0},"16":{"tf":1.4142135623730951},"22":{"tf":1.0},"26":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.4142135623730951},"66":{"tf":1.0},"74":{"tf":1.0},"79":{"tf":1.4142135623730951},"98":{"tf":1.0},"99":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"103":{"tf":1.0},"67":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"n":{"df":12,"docs":{"107":{"tf":1.0},"119":{"tf":1.0},"131":{"tf":1.4142135623730951},"73":{"tf":2.449489742783178},"74":{"tf":3.0},"75":{"tf":2.0},"76":{"tf":1.7320508075688772},"77":{"tf":2.0},"78":{"tf":1.4142135623730951},"79":{"tf":2.0},"83":{"tf":1.4142135623730951},"86":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":1,"docs":{"53":{"tf":1.0}},"i":{"df":11,"docs":{"121":{"tf":1.0},"20":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"4":{"tf":1.0},"51":{"tf":1.0},"53":{"tf":1.0},"68":{"tf":1.0},"79":{"tf":1.0},"88":{"tf":1.0},"95":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":3,"docs":{"27":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0}}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"16":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":12,"docs":{"107":{"tf":1.0},"131":{"tf":1.7320508075688772},"70":{"tf":1.0},"78":{"tf":2.0},"79":{"tf":4.0},"80":{"tf":1.7320508075688772},"81":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"83":{"tf":2.0},"86":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":2.0}}}},"t":{"c":{"df":0,"docs":{},"h":{"df":9,"docs":{"142":{"tf":1.0},"29":{"tf":1.7320508075688772},"35":{"tf":1.0},"69":{"tf":1.0},"74":{"tf":1.7320508075688772},"75":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0}}}},"df":0,"docs":{}}},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":3,"docs":{"16":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":10,"docs":{"103":{"tf":1.0},"115":{"tf":1.4142135623730951},"48":{"tf":1.0},"89":{"tf":2.449489742783178},"90":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":2.23606797749979},"93":{"tf":1.7320508075688772},"98":{"tf":1.0},"99":{"tf":1.0}}}}},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":16,"docs":{"135":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"25":{"tf":1.4142135623730951},"26":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"40":{"tf":1.0},"5":{"tf":1.4142135623730951},"6":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"83":{"tf":1.0},"87":{"tf":1.0}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.0}}}}}}},"u":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"89":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"4":{"tf":1.0}}}}},"i":{"df":41,"docs":{"115":{"tf":1.0},"116":{"tf":2.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},"23":{"tf":1.0},"24":{"tf":1.7320508075688772},"25":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.4142135623730951},"35":{"tf":2.0},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"51":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":2.23606797749979},"60":{"tf":1.0},"61":{"tf":2.0},"62":{"tf":1.4142135623730951},"63":{"tf":1.0},"64":{"tf":1.4142135623730951},"65":{"tf":1.0},"67":{"tf":1.7320508075688772},"68":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.0},"84":{"tf":1.7320508075688772},"85":{"tf":1.0},"86":{"tf":1.0},"87":{"tf":1.0},"88":{"tf":1.0},"89":{"tf":1.0},"93":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"b":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"'":{"df":1,"docs":{"4":{"tf":1.0}}},"df":4,"docs":{"102":{"tf":1.0},"32":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":3,"docs":{"119":{"tf":1.0},"33":{"tf":1.0},"92":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":7,"docs":{"17":{"tf":1.0},"20":{"tf":1.0},"25":{"tf":1.0},"29":{"tf":1.0},"66":{"tf":1.0},"85":{"tf":1.0},"89":{"tf":1.0}}}},"t":{"df":3,"docs":{"139":{"tf":1.0},"34":{"tf":1.0},"90":{"tf":1.0}}}},"p":{"a":{"c":{"df":3,"docs":{"32":{"tf":1.4142135623730951},"38":{"tf":1.0},"45":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":2,"docs":{"131":{"tf":1.0},"41":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":5,"docs":{"107":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"8":{"tf":1.0},"81":{"tf":1.0}}}}}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"53":{"tf":1.0}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"85":{"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":{"45":{"tf":1.0}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"30":{"tf":1.0},"88":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{},"h":{"df":34,"docs":{"114":{"tf":1.0},"118":{"tf":1.0},"121":{"tf":1.0},"14":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.7320508075688772},"22":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"32":{"tf":1.4142135623730951},"34":{"tf":1.0},"36":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.4142135623730951},"5":{"tf":1.7320508075688772},"50":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":2.0},"57":{"tf":1.4142135623730951},"58":{"tf":1.0},"6":{"tf":1.4142135623730951},"66":{"tf":1.4142135623730951},"67":{"tf":1.4142135623730951},"69":{"tf":1.0},"7":{"tf":1.4142135623730951},"71":{"tf":2.0},"74":{"tf":1.4142135623730951},"79":{"tf":1.0},"82":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.0}}}},"df":1,"docs":{"142":{"tf":1.0}},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"118":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"i":{"df":9,"docs":{"101":{"tf":1.0},"114":{"tf":1.4142135623730951},"120":{"tf":1.0},"121":{"tf":1.0},"53":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"66":{"tf":1.0},"68":{"tf":1.0},"92":{"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":{"16":{"tf":1.0},"22":{"tf":1.0},"71":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"76":{"tf":1.0}}}},"df":0,"docs":{}},"df":1,"docs":{"92":{"tf":1.0}}}},"m":{"(":{"d":{"b":{"c":{"_":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":15,"docs":{"101":{"tf":1.0},"119":{"tf":1.0},"126":{"tf":1.0},"22":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772},"27":{"tf":2.0},"35":{"tf":1.7320508075688772},"54":{"tf":1.7320508075688772},"62":{"tf":1.7320508075688772},"63":{"tf":1.7320508075688772},"67":{"tf":2.0},"73":{"tf":1.0},"82":{"tf":1.0},"86":{"tf":1.7320508075688772},"95":{"tf":1.0}},"m":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}},"i":{"df":24,"docs":{"103":{"tf":1.7320508075688772},"108":{"tf":1.7320508075688772},"115":{"tf":1.7320508075688772},"12":{"tf":1.7320508075688772},"121":{"tf":1.7320508075688772},"127":{"tf":1.7320508075688772},"132":{"tf":1.7320508075688772},"141":{"tf":1.7320508075688772},"18":{"tf":2.0},"23":{"tf":1.7320508075688772},"30":{"tf":1.7320508075688772},"36":{"tf":1.7320508075688772},"43":{"tf":1.7320508075688772},"50":{"tf":1.7320508075688772},"55":{"tf":1.7320508075688772},"60":{"tf":1.7320508075688772},"64":{"tf":1.7320508075688772},"68":{"tf":1.7320508075688772},"72":{"tf":1.7320508075688772},"77":{"tf":1.7320508075688772},"83":{"tf":1.7320508075688772},"88":{"tf":1.7320508075688772},"93":{"tf":1.7320508075688772},"97":{"tf":1.7320508075688772}}},"y":{"/":{"a":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"142":{"tf":3.4641016151377544}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"df":9,"docs":{"107":{"tf":1.4142135623730951},"114":{"tf":1.4142135623730951},"115":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.7320508075688772},"27":{"tf":1.0},"48":{"tf":1.0},"92":{"tf":1.4142135623730951},"95":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":1,"docs":{"29":{"tf":1.0}}}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":4,"docs":{"10":{"tf":1.0},"119":{"tf":1.0},"9":{"tf":1.0},"94":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"p":{"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":{"51":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":2,"docs":{"114":{"tf":1.4142135623730951},"55":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":5,"docs":{"34":{"tf":1.0},"35":{"tf":1.4142135623730951},"53":{"tf":1.4142135623730951},"54":{"tf":1.0},"87":{"tf":1.0}}},"f":{"a":{"c":{"df":18,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"114":{"tf":1.0},"115":{"tf":1.0},"126":{"tf":1.0},"128":{"tf":1.0},"134":{"tf":2.8284271247461903},"135":{"tf":1.0},"14":{"tf":1.0},"16":{"tf":1.4142135623730951},"43":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.4142135623730951},"56":{"tf":1.0},"57":{"tf":1.0},"76":{"tf":1.0},"91":{"tf":1.0},"93":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"90":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"v":{"d":{"df":8,"docs":{"41":{"tf":2.6457513110645907},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"75":{"tf":3.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"112":{"tf":1.0},"113":{"tf":1.0},"34":{"tf":1.0}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"m":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":7,"docs":{"118":{"tf":1.0},"121":{"tf":1.0},"5":{"tf":1.0},"7":{"tf":1.0},"79":{"tf":1.0},"80":{"tf":1.0},"92":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":13,"docs":{"20":{"tf":1.7320508075688772},"21":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"75":{"tf":1.0},"82":{"tf":1.0},"85":{"tf":1.4142135623730951},"95":{"tf":1.0}},"i":{"df":2,"docs":{"101":{"tf":1.0},"113":{"tf":1.0}}}}}}},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"10":{"tf":2.449489742783178},"12":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"'":{"df":1,"docs":{"6":{"tf":1.0}}},"df":32,"docs":{"10":{"tf":1.0},"103":{"tf":1.0},"104":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":2.23606797749979},"112":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"32":{"tf":2.23606797749979},"33":{"tf":2.0},"34":{"tf":2.23606797749979},"35":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951},"40":{"tf":2.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.7320508075688772},"47":{"tf":1.0},"50":{"tf":1.0},"57":{"tf":1.0},"6":{"tf":2.0},"68":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"9":{"tf":1.4142135623730951},"94":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.0}}}}}}}},"t":{"(":{"a":{"df":2,"docs":{"106":{"tf":1.0},"130":{"tf":1.0}}},"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"n":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"n":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}},"t":{")":{"=":{"0":{"df":1,"docs":{"96":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"92":{"tf":1.0}}}},"df":0,"docs":{}},"⋅":{",":{"df":0,"docs":{},"n":{",":{"df":0,"docs":{},"t":{")":{":":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"91":{"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":{},"→":{"df":0,"docs":{},"ω":{"df":0,"docs":{},"t":{"df":2,"docs":{"100":{"tf":1.0},"70":{"tf":1.0}}}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":0,"docs":{},"×":{"d":{"df":1,"docs":{"79":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"d":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{")":{")":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"p":{".":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"(":{"df":0,"docs":{},"t":{"df":2,"docs":{"126":{"tf":1.0},"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":{}}}}}},"v":{"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"126":{"tf":1.0},"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"0":{",":{"df":0,"docs":{},"t":{"2":{",":{"df":0,"docs":{},"…":{",":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":1,"docs":{"96":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"1":{"3":{"df":1,"docs":{"118":{"tf":2.23606797749979}}},"4":{"df":1,"docs":{"118":{"tf":2.23606797749979}}},"df":1,"docs":{"131":{"tf":1.0}}},"2":{"3":{"df":1,"docs":{"118":{"tf":2.449489742783178}}},"4":{"df":1,"docs":{"118":{"tf":2.8284271247461903}}},"5":{"df":1,"docs":{"118":{"tf":2.449489742783178}}},"6":{"df":1,"docs":{"118":{"tf":2.23606797749979}}},"7":{"df":1,"docs":{"118":{"tf":1.7320508075688772}}},"df":1,"docs":{"131":{"tf":1.0}}},"3":{"df":1,"docs":{"131":{"tf":1.0}}},"=":{"0":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":1,"docs":{"94":{"tf":1.4142135623730951}},"−":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":0,"docs":{},"−":{"1":{"df":1,"docs":{"96":{"tf":1.0}}},"df":0,"docs":{}}}}}}}},"^":{"0":{"=":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"n":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"53":{"tf":1.0},"7":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":4,"docs":{"10":{"tf":1.0},"11":{"tf":1.0},"53":{"tf":1.0},"7":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"16":{"tf":1.4142135623730951}}}},"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":1.0},"18":{"tf":1.0},"37":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"43":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"e":{"df":26,"docs":{"102":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"118":{"tf":1.0},"120":{"tf":1.7320508075688772},"123":{"tf":1.0},"124":{"tf":1.0},"131":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.0},"4":{"tf":1.0},"49":{"tf":1.0},"52":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.7320508075688772},"7":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0},"82":{"tf":2.0},"87":{"tf":1.0},"90":{"tf":1.0}},"n":{"df":3,"docs":{"115":{"tf":1.0},"27":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}},"n":{"(":{"df":0,"docs":{},"θ":{")":{"=":{"0":{".":{"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":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"p":{"df":1,"docs":{"125":{"tf":1.0}}}},"df":8,"docs":{"122":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":2.23606797749979},"125":{"tf":1.0},"58":{"tf":1.7320508075688772},"60":{"tf":1.4142135623730951},"63":{"tf":1.7320508075688772},"64":{"tf":1.0}},"i":{"df":1,"docs":{"56":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":5,"docs":{"16":{"tf":1.0},"20":{"tf":1.0},"66":{"tf":1.7320508075688772},"67":{"tf":2.0},"68":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"k":{"df":2,"docs":{"45":{"tf":1.0},"82":{"tf":1.0}}}}},"b":{"df":1,"docs":{"85":{"tf":1.0}}},"c":{"1":{"df":1,"docs":{"101":{"tf":1.0}}},"df":4,"docs":{"102":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"123":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"−":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∂":{"b":{"(":{"d":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"(":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"df":0,"docs":{},"o":{")":{",":{"d":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":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":{"100":{"tf":2.0},"103":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"99":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":21,"docs":{"10":{"tf":1.0},"106":{"tf":1.0},"11":{"tf":2.0},"112":{"tf":1.4142135623730951},"122":{"tf":1.0},"126":{"tf":1.7320508075688772},"131":{"tf":3.1622776601683795},"134":{"tf":1.0},"14":{"tf":1.0},"21":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":2.0},"60":{"tf":1.4142135623730951},"63":{"tf":2.0},"7":{"tf":1.7320508075688772},"70":{"tf":2.449489742783178},"71":{"tf":2.23606797749979},"87":{"tf":2.8284271247461903},"9":{"tf":2.0},"90":{"tf":1.4142135623730951},"94":{"tf":1.0}},"e":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"141":{"tf":1.0}}},"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"df":13,"docs":{"11":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":2.0},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.0},"21":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"36":{"tf":1.0},"5":{"tf":1.7320508075688772},"50":{"tf":1.0},"93":{"tf":1.0}}}}}}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":1,"docs":{"34":{"tf":1.0}}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"94":{"tf":1.0}}}}}}},"df":10,"docs":{"108":{"tf":1.0},"12":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":1.0},"127":{"tf":1.0},"25":{"tf":2.0},"58":{"tf":1.4142135623730951},"89":{"tf":1.4142135623730951},"93":{"tf":1.0},"97":{"tf":1.0}}}}}},"n":{"d":{"df":2,"docs":{"48":{"tf":1.0},"49":{"tf":1.0}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"79":{"tf":1.0},"83":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":6,"docs":{"74":{"tf":1.0},"79":{"tf":2.0},"80":{"tf":1.0},"82":{"tf":1.4142135623730951},"83":{"tf":1.4142135623730951},"86":{"tf":1.0}},"i":{"df":1,"docs":{"82":{"tf":1.0}}}}}}},"r":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"142":{"tf":1.7320508075688772}}}},"df":0,"docs":{},"m":{"'":{"df":1,"docs":{"4":{"tf":1.0}}},"df":31,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"103":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":1.0},"107":{"tf":2.0},"108":{"tf":1.0},"109":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.4142135623730951},"114":{"tf":1.0},"131":{"tf":1.7320508075688772},"14":{"tf":1.7320508075688772},"25":{"tf":1.0},"26":{"tf":2.8284271247461903},"49":{"tf":1.0},"58":{"tf":1.0},"63":{"tf":1.0},"66":{"tf":2.6457513110645907},"67":{"tf":1.0},"7":{"tf":1.0},"74":{"tf":2.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.0},"82":{"tf":2.6457513110645907},"87":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.0},"96":{"tf":1.0},"99":{"tf":1.4142135623730951}},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"120":{"tf":1.0},"29":{"tf":1.4142135623730951}}}}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}},"t":{"df":8,"docs":{"29":{"tf":1.0},"61":{"tf":1.0},"63":{"tf":1.4142135623730951},"66":{"tf":1.0},"92":{"tf":1.0},"93":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"97":{"tf":1.0}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"r":{"a":{"df":2,"docs":{"130":{"tf":1.0},"131":{"tf":1.0}}},"df":4,"docs":{"128":{"tf":1.4142135623730951},"129":{"tf":1.0},"131":{"tf":1.0},"132":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"'":{"df":1,"docs":{"131":{"tf":1.0}}},"df":2,"docs":{"130":{"tf":1.7320508075688772},"131":{"tf":1.7320508075688772}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"x":{"df":0,"docs":{},"t":{"df":0,"docs":{},"{":{"a":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"}":{"\\":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"_":{"df":0,"docs":{},"x":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"d":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"}":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"59":{"tf":1.0}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}}}},"f":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"β":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"r":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"β":{"df":0,"docs":{},"t":{"df":0,"docs":{},"v":{"df":0,"docs":{},"f":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"t":{".":{"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":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"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":{}}},"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":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":1,"docs":{"103":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"135":{"tf":1.0}}}}}}}}}},"df":7,"docs":{"123":{"tf":1.0},"124":{"tf":1.0},"42":{"tf":1.4142135623730951},"7":{"tf":1.4142135623730951},"92":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0}},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"v":{"df":1,"docs":{"44":{"tf":1.0}}}}}}},"o":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"142":{"tf":1.0}}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"91":{"tf":1.7320508075688772},"92":{"tf":1.0},"93":{"tf":1.4142135623730951}}},"t":{"df":5,"docs":{"10":{"tf":1.0},"113":{"tf":1.0},"127":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0}}}},"i":{"df":7,"docs":{"0":{"tf":1.0},"4":{"tf":1.0},"6":{"tf":1.0},"69":{"tf":1.7320508075688772},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"b":{"df":0,"docs":{},"i":{"df":4,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"48":{"tf":1.0},"7":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":15,"docs":{"101":{"tf":1.0},"112":{"tf":1.0},"120":{"tf":1.0},"123":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.0},"71":{"tf":1.0},"81":{"tf":1.0},"87":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"6":{"tf":1.0}}}}}}},"i":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"101":{"tf":1.0},"119":{"tf":1.0},"48":{"tf":1.4142135623730951},"66":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":4,"docs":{"101":{"tf":1.0},"48":{"tf":1.0},"52":{"tf":1.0},"71":{"tf":1.0}},"k":{"df":2,"docs":{"100":{"tf":1.0},"90":{"tf":1.0}}}},"r":{"d":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":1,"docs":{"4":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}}},"s":{"df":0,"docs":{},"e":{"df":16,"docs":{"114":{"tf":1.0},"124":{"tf":1.0},"29":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0},"79":{"tf":1.0},"91":{"tf":1.0},"99":{"tf":1.0}}}},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":3,"docs":{"132":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0}},"t":{"df":1,"docs":{"101":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":6,"docs":{"106":{"tf":1.4142135623730951},"26":{"tf":1.0},"70":{"tf":1.0},"82":{"tf":1.4142135623730951},"85":{"tf":1.0},"95":{"tf":1.0}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"d":{"df":6,"docs":{"101":{"tf":1.0},"131":{"tf":1.0},"48":{"tf":1.4142135623730951},"49":{"tf":1.0},"50":{"tf":1.0},"87":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":23,"docs":{"1":{"tf":1.0},"101":{"tf":1.0},"12":{"tf":1.0},"127":{"tf":1.0},"17":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"41":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.7320508075688772},"50":{"tf":2.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"60":{"tf":1.0},"65":{"tf":1.4142135623730951},"70":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.4142135623730951},"83":{"tf":1.0},"85":{"tf":1.0},"91":{"tf":1.4142135623730951}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":10,"docs":{"101":{"tf":1.4142135623730951},"104":{"tf":1.0},"20":{"tf":1.0},"32":{"tf":1.0},"45":{"tf":1.0},"53":{"tf":1.0},"55":{"tf":1.0},"70":{"tf":1.0},"87":{"tf":1.0},"90":{"tf":1.0}}}}}}}}}},"u":{"df":22,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"11":{"tf":1.0},"113":{"tf":1.0},"120":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"27":{"tf":1.4142135623730951},"32":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.0},"58":{"tf":1.0},"66":{"tf":1.0},"71":{"tf":1.4142135623730951},"74":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"85":{"tf":1.0},"87":{"tf":1.4142135623730951},"92":{"tf":1.0},"95":{"tf":1.0}}}},"i":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"112":{"tf":1.0}},"​":{"df":0,"docs":{},"∫":{"0":{"1":{"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":{},"​":{"df":0,"docs":{},"​":{"d":{"df":0,"docs":{},"β":{"=":{"2":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"112":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"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":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"{":{"df":0,"docs":{},"x":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"n":{")":{"^":{"df":0,"docs":{},"t":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"\\":{"df":0,"docs":{},"|":{"^":{"2":{"_":{"df":0,"docs":{},"m":{"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"14":{"tf":1.4142135623730951},"26":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"m":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":7,"docs":{"125":{"tf":1.0},"28":{"tf":1.0},"35":{"tf":1.4142135623730951},"54":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":2.0},"87":{"tf":1.0}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"w":{"a":{"df":0,"docs":{},"r":{"d":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}},"df":1,"docs":{"29":{"tf":1.0}}}}}}}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":1,"docs":{"29":{"tf":1.7320508075688772}}}}}}},"df":78,"docs":{"10":{"tf":2.449489742783178},"101":{"tf":1.7320508075688772},"104":{"tf":1.0},"11":{"tf":3.1622776601683795},"114":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.0},"117":{"tf":1.4142135623730951},"119":{"tf":1.4142135623730951},"12":{"tf":2.23606797749979},"120":{"tf":1.7320508075688772},"121":{"tf":1.0},"122":{"tf":1.7320508075688772},"123":{"tf":2.23606797749979},"124":{"tf":1.7320508075688772},"125":{"tf":1.0},"127":{"tf":1.4142135623730951},"14":{"tf":2.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"18":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":2.449489742783178},"23":{"tf":1.0},"25":{"tf":1.0},"28":{"tf":2.0},"29":{"tf":2.6457513110645907},"30":{"tf":1.0},"32":{"tf":2.6457513110645907},"33":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"35":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"37":{"tf":1.0},"38":{"tf":1.0},"4":{"tf":1.7320508075688772},"40":{"tf":1.0},"41":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"43":{"tf":1.0},"5":{"tf":1.7320508075688772},"50":{"tf":2.0},"51":{"tf":1.7320508075688772},"52":{"tf":2.0},"53":{"tf":2.449489742783178},"54":{"tf":1.0},"55":{"tf":1.0},"56":{"tf":1.0},"58":{"tf":3.0},"59":{"tf":1.7320508075688772},"6":{"tf":2.0},"60":{"tf":1.7320508075688772},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.4142135623730951},"64":{"tf":1.4142135623730951},"65":{"tf":1.4142135623730951},"66":{"tf":2.0},"67":{"tf":1.4142135623730951},"69":{"tf":1.4142135623730951},"7":{"tf":3.3166247903554},"70":{"tf":3.3166247903554},"71":{"tf":1.4142135623730951},"76":{"tf":1.0},"77":{"tf":1.0},"79":{"tf":1.0},"8":{"tf":2.23606797749979},"87":{"tf":1.0},"88":{"tf":1.0},"9":{"tf":3.0},"90":{"tf":1.4142135623730951},"92":{"tf":1.0},"94":{"tf":1.7320508075688772},"95":{"tf":1.0},"96":{"tf":2.449489742783178},"97":{"tf":2.0}},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"p":{"df":6,"docs":{"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"7":{"tf":3.0},"87":{"tf":1.0},"9":{"tf":1.7320508075688772}}}}}}},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}}},"n":{"df":0,"docs":{},"i":{"df":3,"docs":{"120":{"tf":1.0},"16":{"tf":1.0},"87":{"tf":1.0}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":1,"docs":{"14":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"l":{"df":1,"docs":{"24":{"tf":1.0}},"e":{"=":{"df":0,"docs":{},"{":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":1,"docs":{"3":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"​":{"=":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"n":{"df":0,"docs":{},"j":{"df":1,"docs":{"92":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"k":{"df":1,"docs":{"57":{"tf":1.7320508075688772}},"n":{"df":1,"docs":{"58":{"tf":1.0}}},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"[":{"df":0,"docs":{},"i":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"n":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"−":{"df":0,"docs":{},"i":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"r":{"6":{"df":0,"docs":{},"×":{"3":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"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":{},"m":{"df":0,"docs":{},"×":{"d":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"n":{"=":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":1,"docs":{"58":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":3,"docs":{"112":{"tf":1.0},"95":{"tf":1.0},"99":{"tf":1.0}},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":3,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"99":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"o":{"c":{"_":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"120":{"tf":3.4641016151377544}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":1,"docs":{"120":{"tf":3.4641016151377544}},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"120":{"tf":2.23606797749979}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":5,"docs":{"105":{"tf":1.0},"114":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":1.0},"42":{"tf":1.0}}}}}},"i":{"df":2,"docs":{"120":{"tf":2.8284271247461903},"121":{"tf":1.7320508075688772}}},"l":{"df":5,"docs":{"131":{"tf":2.449489742783178},"28":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":2.0},"87":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"23":{"tf":1.0},"66":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"k":{"df":1,"docs":{"53":{"tf":1.0}}},"l":{"df":3,"docs":{"118":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0}}}},"p":{"df":7,"docs":{"114":{"tf":1.0},"117":{"tf":1.4142135623730951},"120":{"tf":1.7320508075688772},"35":{"tf":1.0},"4":{"tf":1.0},"63":{"tf":1.7320508075688772},"87":{"tf":1.0}},"i":{"c":{"df":3,"docs":{"23":{"tf":1.0},"4":{"tf":1.0},"44":{"tf":1.0}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":2,"docs":{"12":{"tf":1.0},"5":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"i":{"df":2,"docs":{"45":{"tf":1.0},"5":{"tf":1.0}}}},"t":{"a":{"df":0,"docs":{},"l":{"df":6,"docs":{"107":{"tf":1.0},"119":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.0},"5":{"tf":1.0},"57":{"tf":1.0}}}},"df":0,"docs":{}},"u":{"c":{"df":0,"docs":{},"h":{"df":5,"docs":{"126":{"tf":1.0},"16":{"tf":1.4142135623730951},"44":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":6,"docs":{"120":{"tf":1.0},"16":{"tf":1.0},"34":{"tf":1.0},"43":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"a":{"c":{"df":0,"docs":{},"k":{"df":4,"docs":{"29":{"tf":1.0},"5":{"tf":1.0},"70":{"tf":1.0},"90":{"tf":1.0}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":8,"docs":{"101":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.0},"96":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}}}},"d":{"df":0,"docs":{},"e":{"df":2,"docs":{"101":{"tf":1.0},"49":{"tf":1.0}}},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"23":{"tf":1.0},"29":{"tf":1.0},"53":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"10":{"tf":1.0},"120":{"tf":2.23606797749979},"20":{"tf":1.0},"51":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":3.4641016151377544},"55":{"tf":1.4142135623730951},"70":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"5":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":12,"docs":{"114":{"tf":1.0},"16":{"tf":1.4142135623730951},"22":{"tf":1.0},"41":{"tf":1.4142135623730951},"48":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"75":{"tf":1.0},"91":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"t":{"df":6,"docs":{"122":{"tf":1.0},"127":{"tf":1.0},"17":{"tf":1.4142135623730951},"55":{"tf":1.0},"57":{"tf":2.0},"60":{"tf":1.0}}}},"l":{"a":{"df":0,"docs":{},"t":{"df":5,"docs":{"28":{"tf":1.0},"6":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"71":{"tf":1.0}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":5,"docs":{"106":{"tf":1.4142135623730951},"119":{"tf":1.0},"123":{"tf":1.0},"125":{"tf":1.0},"95":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"t":{"df":4,"docs":{"27":{"tf":1.0},"57":{"tf":1.0},"69":{"tf":1.0},"82":{"tf":1.0}},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"30":{"tf":1.4142135623730951},"31":{"tf":1.0},"98":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":25,"docs":{"104":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"106":{"tf":3.605551275463989},"107":{"tf":2.0},"108":{"tf":1.7320508075688772},"112":{"tf":2.6457513110645907},"113":{"tf":1.7320508075688772},"114":{"tf":1.4142135623730951},"117":{"tf":1.7320508075688772},"128":{"tf":1.0},"129":{"tf":1.0},"133":{"tf":2.23606797749979},"134":{"tf":3.4641016151377544},"138":{"tf":1.0},"140":{"tf":1.0},"141":{"tf":1.0},"22":{"tf":1.7320508075688772},"29":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"71":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":3.872983346207417},"87":{"tf":2.23606797749979},"88":{"tf":2.23606797749979},"90":{"tf":1.4142135623730951}},"e":{"'":{"df":1,"docs":{"88":{"tf":1.0}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"104":{"tf":1.0},"85":{"tf":1.0}}}},"df":1,"docs":{"85":{"tf":1.0}}}}}}},"c":{"df":0,"docs":{},"k":{"df":1,"docs":{"16":{"tf":1.0}},"i":{"df":1,"docs":{"87":{"tf":1.0}}}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"87":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"e":{"df":6,"docs":{"120":{"tf":1.4142135623730951},"29":{"tf":1.0},"35":{"tf":1.0},"67":{"tf":1.0},"81":{"tf":1.0},"90":{"tf":1.0}}},"n":{"c":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"18":{"tf":1.0},"20":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"u":{"c":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":7,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"32":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.0},"49":{"tf":1.0},"50":{"tf":1.0}}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":8,"docs":{"50":{"tf":2.23606797749979},"51":{"tf":1.4142135623730951},"52":{"tf":2.6457513110645907},"53":{"tf":2.6457513110645907},"54":{"tf":1.0},"55":{"tf":1.4142135623730951},"65":{"tf":1.0},"87":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"n":{"df":3,"docs":{"16":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.0}}}},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":8,"docs":{"116":{"tf":1.0},"122":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"e":{"df":2,"docs":{"101":{"tf":1.0},"114":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"o":{"df":32,"docs":{"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"108":{"tf":1.0},"112":{"tf":1.7320508075688772},"113":{"tf":2.0},"114":{"tf":1.4142135623730951},"117":{"tf":1.7320508075688772},"120":{"tf":1.0},"126":{"tf":1.7320508075688772},"134":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"21":{"tf":1.0},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"32":{"tf":1.7320508075688772},"34":{"tf":1.0},"36":{"tf":1.0},"38":{"tf":1.0},"41":{"tf":1.0},"42":{"tf":1.0},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"53":{"tf":1.0},"6":{"tf":1.4142135623730951},"63":{"tf":1.0},"71":{"tf":1.0},"75":{"tf":1.0},"8":{"tf":1.0},"82":{"tf":1.7320508075688772},"95":{"tf":1.7320508075688772}}}},"x":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{",":{"=":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"​":{"(":{"1":{".":{"4":{".":{"1":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":11,"docs":{"11":{"tf":1.0},"140":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"17":{"tf":1.0},"32":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.0},"48":{"tf":1.0},"67":{"tf":1.0},"68":{"tf":1.0}}},"i":{"c":{"df":15,"docs":{"113":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":1.0},"95":{"tf":1.0}}},"df":0,"docs":{}}}},"}":{")":{"^":{"df":0,"docs":{},"n":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"∂":{"df":0,"docs":{},"v":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"​":{"(":{"df":0,"docs":{},"r":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"j":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{")":{"=":{"0":{"df":1,"docs":{"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":{}}},"≥":{"0":{".":{"(":{"1":{"6":{".":{"1":{".":{"2":{"df":1,"docs":{"90":{"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":{"6":{".":{"2":{".":{"3":{"df":1,"docs":{"91":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"3":{".":{"1":{"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":{},"​":{"(":{"1":{"8":{".":{"1":{".":{"1":{"df":1,"docs":{"99":{"tf":1.0}}},"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":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{")":{"=":{"df":0,"docs":{},"t":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"df":0,"docs":{},"∀":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"n":{"df":1,"docs":{"99":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":{},"x":{"d":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"df":0,"docs":{},"∀":{"df":0,"docs":{},"x":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"γ":{"d":{"df":1,"docs":{"99":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":5,"docs":{"100":{"tf":1.0},"103":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"u":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"x":{")":{")":{"=":{"df":0,"docs":{},"u":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"x":{")":{"+":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"u":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"x":{"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":{}}},"d":{"df":0,"docs":{},"x":{"=":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"df":0,"docs":{},"​":{"df":0,"docs":{},"u":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"x":{")":{"d":{"df":0,"docs":{},"x":{"+":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"u":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"⋅":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"x":{")":{"d":{"df":0,"docs":{},"x":{"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":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":1,"docs":{"92":{"tf":1.0}}}},"1":{",":{"df":0,"docs":{},"u":{"2":{",":{"df":0,"docs":{},"u":{"3":{",":{"df":0,"docs":{},"v":{"1":{",":{"df":0,"docs":{},"v":{"2":{",":{"df":0,"docs":{},"v":{"3":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":1,"docs":{"82":{"tf":1.0}}},"2":{"df":2,"docs":{"131":{"tf":1.7320508075688772},"82":{"tf":1.0}}},"3":{"df":2,"docs":{"131":{"tf":1.7320508075688772},"82":{"tf":1.0}}},"=":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{},"i":{"d":{"+":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"]":{"*":{"df":0,"docs":{},"u":{"df":0,"docs":{},"u":{"+":{"(":{"1":{"df":1,"docs":{"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":{}},"df":0,"docs":{}},"x":{"^":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":1,"docs":{"105":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"{":{"df":0,"docs":{},"{":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"u":{"1":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"86":{"tf":2.8284271247461903}}},"r":{"df":1,"docs":{"86":{"tf":2.8284271247461903}}}},"^":{"df":0,"docs":{},"t":{"df":1,"docs":{"41":{"tf":1.0}}}},"c":{"df":0,"docs":{},"l":{"a":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}}},"df":6,"docs":{"14":{"tf":2.449489742783178},"41":{"tf":1.0},"42":{"tf":1.4142135623730951},"75":{"tf":1.4142135623730951},"82":{"tf":1.4142135623730951},"86":{"tf":2.23606797749979}},"i":{"df":1,"docs":{"82":{"tf":1.0}}},"k":{"df":1,"docs":{"58":{"tf":1.0}},"​":{"=":{"df":0,"docs":{},"h":{"^":{"df":0,"docs":{},"v":{"df":0,"docs":{},"k":{"df":1,"docs":{"58":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"97":{"tf":1.0}}}},"r":{"a":{"df":1,"docs":{"48":{"tf":1.0}}},"df":0,"docs":{}}}},"n":{"a":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}}}}},"b":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}}}},"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"20":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":3,"docs":{"11":{"tf":1.0},"12":{"tf":1.0},"18":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"12":{"tf":1.0},"9":{"tf":1.0}}}}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":7,"docs":{"15":{"tf":1.0},"16":{"tf":1.4142135623730951},"18":{"tf":1.4142135623730951},"34":{"tf":1.0},"48":{"tf":1.0},"50":{"tf":1.4142135623730951},"51":{"tf":1.0}}}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"l":{"df":1,"docs":{"17":{"tf":1.0}}}}}}}}},"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"70":{"tf":1.4142135623730951}}}}}},"r":{"df":27,"docs":{"101":{"tf":1.0},"108":{"tf":1.0},"114":{"tf":1.4142135623730951},"116":{"tf":1.0},"122":{"tf":1.0},"126":{"tf":1.0},"14":{"tf":1.0},"29":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"40":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.4142135623730951},"61":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"74":{"tf":1.0},"75":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"79":{"tf":1.4142135623730951},"80":{"tf":1.0},"82":{"tf":1.4142135623730951},"84":{"tf":1.0}},"g":{"df":0,"docs":{},"o":{"df":4,"docs":{"10":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"74":{"tf":1.0}}}},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"104":{"tf":1.0}}}},"s":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.0}}}}},"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"n":{"d":{"df":14,"docs":{"104":{"tf":1.0},"22":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"37":{"tf":1.0},"4":{"tf":1.0},"5":{"tf":1.4142135623730951},"52":{"tf":1.0},"6":{"tf":1.4142135623730951},"70":{"tf":1.0},"75":{"tf":1.0},"78":{"tf":1.4142135623730951},"85":{"tf":1.0},"88":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"51":{"tf":1.0}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.0}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":6,"docs":{"106":{"tf":1.0},"12":{"tf":1.0},"130":{"tf":1.0},"136":{"tf":1.0},"45":{"tf":1.4142135623730951},"5":{"tf":1.7320508075688772}},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"25":{"tf":1.4142135623730951},"29":{"tf":1.0}}}}}}}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"5":{"tf":1.0}}}},"q":{"df":0,"docs":{},"u":{"df":8,"docs":{"105":{"tf":1.0},"115":{"tf":1.0},"15":{"tf":1.0},"18":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"48":{"tf":1.0},"60":{"tf":1.0}}}},"t":{"df":10,"docs":{"101":{"tf":1.0},"102":{"tf":1.7320508075688772},"123":{"tf":1.4142135623730951},"14":{"tf":1.0},"22":{"tf":1.0},"42":{"tf":1.4142135623730951},"57":{"tf":1.4142135623730951},"82":{"tf":1.0},"91":{"tf":1.4142135623730951},"92":{"tf":1.0}},"i":{"df":1,"docs":{"105":{"tf":2.0}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"87":{"tf":1.4142135623730951}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"45":{"tf":1.0}}}}}}},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"n":{"df":5,"docs":{"33":{"tf":1.0},"66":{"tf":1.0},"95":{"tf":1.4142135623730951},"97":{"tf":1.0},"99":{"tf":1.4142135623730951}}}}}}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"71":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"k":{"df":5,"docs":{"16":{"tf":1.0},"20":{"tf":1.0},"37":{"tf":1.0},"53":{"tf":1.0},"75":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"101":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":4,"docs":{"17":{"tf":1.0},"52":{"tf":1.4142135623730951},"53":{"tf":1.0},"65":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":5,"docs":{"101":{"tf":1.0},"118":{"tf":1.4142135623730951},"127":{"tf":1.0},"45":{"tf":1.7320508075688772},"48":{"tf":1.0}}}}},"t":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"12":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":9,"docs":{"11":{"tf":1.0},"120":{"tf":1.4142135623730951},"21":{"tf":1.0},"29":{"tf":1.4142135623730951},"59":{"tf":1.4142135623730951},"66":{"tf":1.0},"67":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}}}},"p":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":2,"docs":{"83":{"tf":1.0},"88":{"tf":1.0}}}}},"d":{"a":{"df":0,"docs":{},"t":{"df":11,"docs":{"10":{"tf":1.0},"11":{"tf":1.7320508075688772},"28":{"tf":1.4142135623730951},"30":{"tf":1.0},"32":{"tf":1.0},"53":{"tf":1.0},"59":{"tf":1.4142135623730951},"60":{"tf":1.0},"67":{"tf":1.0},"89":{"tf":1.0},"9":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":11,"docs":{"101":{"tf":1.0},"117":{"tf":1.0},"127":{"tf":1.0},"24":{"tf":1.0},"29":{"tf":1.0},"41":{"tf":1.0},"53":{"tf":1.0},"54":{"tf":1.0},"63":{"tf":1.0},"73":{"tf":1.0},"90":{"tf":1.0}},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":4,"docs":{"16":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":2.0},"54":{"tf":1.7320508075688772}}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"s":{"a":{"df":0,"docs":{},"g":{"df":3,"docs":{"26":{"tf":1.0},"28":{"tf":1.0},"75":{"tf":1.0}}}},"df":86,"docs":{"10":{"tf":1.0},"100":{"tf":1.0},"101":{"tf":2.449489742783178},"103":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.7320508075688772},"107":{"tf":1.0},"108":{"tf":1.0},"11":{"tf":1.0},"111":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"114":{"tf":1.7320508075688772},"115":{"tf":1.0},"118":{"tf":2.0},"119":{"tf":2.23606797749979},"12":{"tf":1.4142135623730951},"120":{"tf":1.0},"121":{"tf":1.0},"123":{"tf":1.0},"124":{"tf":2.0},"125":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.4142135623730951},"128":{"tf":1.0},"129":{"tf":1.4142135623730951},"131":{"tf":1.0},"132":{"tf":1.0},"134":{"tf":1.7320508075688772},"136":{"tf":1.0},"139":{"tf":1.0},"141":{"tf":1.7320508075688772},"142":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"18":{"tf":2.0},"20":{"tf":1.7320508075688772},"21":{"tf":1.4142135623730951},"22":{"tf":1.7320508075688772},"26":{"tf":1.0},"27":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"34":{"tf":1.0},"35":{"tf":1.0},"37":{"tf":1.0},"38":{"tf":1.0},"4":{"tf":1.0},"41":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"45":{"tf":1.0},"47":{"tf":1.0},"48":{"tf":1.4142135623730951},"5":{"tf":2.6457513110645907},"51":{"tf":1.4142135623730951},"53":{"tf":1.0},"54":{"tf":1.0},"55":{"tf":1.0},"57":{"tf":1.0},"58":{"tf":1.4142135623730951},"60":{"tf":1.0},"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.7320508075688772},"64":{"tf":1.0},"65":{"tf":1.0},"67":{"tf":2.0},"7":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"72":{"tf":1.0},"73":{"tf":1.0},"75":{"tf":1.0},"76":{"tf":1.4142135623730951},"77":{"tf":1.4142135623730951},"81":{"tf":1.4142135623730951},"82":{"tf":1.7320508075688772},"83":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.7320508075688772},"89":{"tf":1.4142135623730951},"91":{"tf":1.4142135623730951},"93":{"tf":1.0},"95":{"tf":2.0},"96":{"tf":1.0},"97":{"tf":1.0},"99":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"29":{"tf":1.0}}}},"u":{"a":{"df":0,"docs":{},"l":{"df":5,"docs":{"134":{"tf":1.0},"22":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"82":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":17,"docs":{"12":{"tf":1.0},"14":{"tf":1.0},"18":{"tf":1.0},"22":{"tf":1.0},"23":{"tf":1.0},"25":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":1.0},"29":{"tf":1.0},"41":{"tf":1.0},"5":{"tf":1.0},"55":{"tf":1.0},"63":{"tf":1.0},"71":{"tf":1.0},"79":{"tf":1.4142135623730951},"86":{"tf":1.0},"89":{"tf":1.0}},"s":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"d":{"(":{"[":{"[":{"b":{"_":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"86":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"2":{"df":0,"docs":{},"p":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"_":{"d":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"2":{"(":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"a":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{},"k":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"a":{"df":1,"docs":{"119":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"n":{"df":0,"docs":{},"p":{".":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"c":{"df":0,"docs":{},"k":{"(":{"[":{"[":{"df":0,"docs":{},"h":{"_":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"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":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"p":{"df":0,"docs":{},"i":{"df":1,"docs":{"87":{"tf":1.0}}}},"s":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"l":{"_":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"_":{"df":0,"docs":{},"q":{"df":0,"docs":{},"u":{"a":{"d":{"(":{"a":{"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":{}}}}},"u":{"=":{"c":{"df":0,"docs":{},"p":{"[":{"df":0,"docs":{},"u":{"1":{",":{"df":0,"docs":{},"u":{"2":{",":{"df":0,"docs":{},"u":{"3":{"]":{"/":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"τ":{"^":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"79":{"tf":1.0}}}}},"df":0,"docs":{}}},"v":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ϕ":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"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":{},"x":{",":{"df":0,"docs":{},"t":{")":{",":{"(":{"1":{"2":{".":{"1":{".":{"3":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":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":{"92":{"tf":1.0}},"i":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"α":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{")":{"=":{"0":{",":{"(":{"1":{"5":{".":{"3":{".":{"1":{"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":1,"docs":{"131":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}},"⋅":{",":{"df":0,"docs":{},"t":{")":{":":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"→":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"1":{".":{"0":{".":{"0":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"82":{"tf":1.0}}},"2":{"df":1,"docs":{"82":{"tf":1.0}}},"3":{"df":1,"docs":{"82":{"tf":1.0}}},"=":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{")":{"/":{"df":0,"docs":{},"h":{"df":1,"docs":{"63":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"[":{"df":0,"docs":{},"v":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"v":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"]":{"df":0,"docs":{},"t":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"r":{"6":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"i":{"d":{"+":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"]":{"*":{"df":0,"docs":{},"v":{"df":0,"docs":{},"v":{"+":{"(":{"1":{"df":1,"docs":{"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":{}},"df":0,"docs":{}},"{":{"df":0,"docs":{},"{":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"s":{"[":{"df":0,"docs":{},"v":{"1":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"[":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"0":{"df":1,"docs":{"126":{"tf":1.7320508075688772}}},"1":{"df":1,"docs":{"126":{"tf":1.7320508075688772}}},"df":0,"docs":{}}},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"126":{"tf":1.7320508075688772}}}}},"^":{"0":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":2,"docs":{"126":{"tf":1.4142135623730951},"127":{"tf":1.0}},"​":{"=":{"df":0,"docs":{},"v":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"(":{"(":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"124":{"tf":1.0}}},"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":4,"docs":{"14":{"tf":1.0},"26":{"tf":1.0},"7":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"}":{"df":0,"docs":{},"{":{"\\":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"t":{"df":1,"docs":{"41":{"tf":1.4142135623730951}}},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":3,"docs":{"11":{"tf":2.23606797749979},"7":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"_":{"df":0,"docs":{},"{":{"1":{"1":{"df":1,"docs":{"6":{"tf":1.0}}},"2":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}},"2":{"1":{"df":1,"docs":{"6":{"tf":1.0}}},"2":{"df":0,"docs":{},"}":{")":{"^":{"df":0,"docs":{},"t":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"\\":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"a":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"a":{"df":0,"docs":{},"l":{"(":{"df":0,"docs":{},"p":{"0":{"df":1,"docs":{"118":{"tf":1.0}}},"df":1,"docs":{"118":{"tf":1.4142135623730951}}},"v":{"df":1,"docs":{"63":{"tf":1.0}}},"x":{"df":7,"docs":{"26":{"tf":1.0},"27":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"62":{"tf":1.0},"67":{"tf":1.0},"86":{"tf":1.0}}}},"df":1,"docs":{"26":{"tf":1.4142135623730951}},"i":{"d":{"df":2,"docs":{"34":{"tf":1.0},"99":{"tf":1.0}}},"df":0,"docs":{}},"u":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"16":{"tf":1.0},"4":{"tf":1.0},"70":{"tf":1.0}}}},"df":0,"docs":{}},"df":41,"docs":{"11":{"tf":1.4142135623730951},"111":{"tf":1.0},"123":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"131":{"tf":1.0},"140":{"tf":1.0},"16":{"tf":1.4142135623730951},"20":{"tf":1.0},"25":{"tf":1.0},"26":{"tf":1.7320508075688772},"27":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.4142135623730951},"41":{"tf":2.0},"42":{"tf":1.0},"43":{"tf":1.0},"49":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":2.0},"66":{"tf":1.4142135623730951},"67":{"tf":1.7320508075688772},"7":{"tf":1.4142135623730951},"71":{"tf":1.0},"74":{"tf":1.4142135623730951},"75":{"tf":2.0},"79":{"tf":1.4142135623730951},"8":{"tf":1.0},"82":{"tf":2.8284271247461903},"86":{"tf":1.4142135623730951},"87":{"tf":1.0},"9":{"tf":1.7320508075688772},"91":{"tf":1.0},"92":{"tf":1.7320508075688772},"95":{"tf":1.0},"99":{"tf":1.0}}}},"r":{"=":{"df":0,"docs":{},"{":{"df":0,"docs":{},"s":{"1":{",":{"df":0,"docs":{},"s":{"2":{",":{"df":0,"docs":{},"s":{"3":{",":{"df":0,"docs":{},"u":{"1":{",":{"df":0,"docs":{},"u":{"2":{",":{"df":0,"docs":{},"u":{"3":{",":{"df":0,"docs":{},"v":{"1":{",":{"df":0,"docs":{},"v":{"2":{",":{"df":0,"docs":{},"v":{"3":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"1":{",":{"df":0,"docs":{},"v":{"1":{"df":1,"docs":{"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":{}}}},"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":24,"docs":{"10":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"11":{"tf":1.0},"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"124":{"tf":1.0},"126":{"tf":1.0},"127":{"tf":1.0},"130":{"tf":1.0},"27":{"tf":1.0},"29":{"tf":1.0},"30":{"tf":1.0},"34":{"tf":1.0},"39":{"tf":1.7320508075688772},"40":{"tf":1.0},"41":{"tf":1.7320508075688772},"43":{"tf":1.0},"48":{"tf":1.0},"49":{"tf":1.0},"6":{"tf":1.0},"67":{"tf":1.4142135623730951},"9":{"tf":1.7320508075688772},"90":{"tf":1.0}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"75":{"tf":1.0}}}},"t":{"df":1,"docs":{"27":{"tf":1.0}},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"102":{"tf":1.0},"57":{"tf":1.0}}}}}}},"df":10,"docs":{"10":{"tf":1.0},"112":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"34":{"tf":1.0},"38":{"tf":1.0},"57":{"tf":1.0},"60":{"tf":1.0},"74":{"tf":1.0},"88":{"tf":1.0}},"o":{"df":0,"docs":{},"u":{"df":11,"docs":{"16":{"tf":1.4142135623730951},"18":{"tf":1.0},"29":{"tf":1.0},"31":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"61":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.0},"73":{"tf":1.0},"79":{"tf":1.4142135623730951}}}}}}},"b":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"126":{"tf":2.0},"63":{"tf":2.0}},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"126":{"tf":1.7320508075688772},"63":{"tf":3.4641016151377544}},"h":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"63":{"tf":2.0}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":16,"docs":{"10":{"tf":1.0},"106":{"tf":1.0},"123":{"tf":1.0},"27":{"tf":1.0},"28":{"tf":2.0},"29":{"tf":2.0},"41":{"tf":2.23606797749979},"42":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"5":{"tf":1.0},"57":{"tf":1.4142135623730951},"6":{"tf":1.7320508075688772},"63":{"tf":1.4142135623730951},"70":{"tf":1.4142135623730951},"75":{"tf":1.0},"82":{"tf":1.4142135623730951}},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":25,"docs":{"102":{"tf":1.0},"107":{"tf":1.0},"11":{"tf":1.0},"117":{"tf":1.0},"123":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"25":{"tf":1.0},"32":{"tf":2.23606797749979},"33":{"tf":1.0},"40":{"tf":1.0},"41":{"tf":1.4142135623730951},"42":{"tf":1.4142135623730951},"45":{"tf":1.0},"5":{"tf":1.7320508075688772},"57":{"tf":1.0},"6":{"tf":1.7320508075688772},"62":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.0},"82":{"tf":2.0},"91":{"tf":2.0},"92":{"tf":1.7320508075688772},"94":{"tf":1.0},"95":{"tf":2.23606797749979}}}}}},"df":1,"docs":{"130":{"tf":1.0}},"l":{"df":0,"docs":{},"o":{"c":{"df":26,"docs":{"10":{"tf":1.0},"102":{"tf":1.4142135623730951},"117":{"tf":1.0},"123":{"tf":1.7320508075688772},"124":{"tf":1.7320508075688772},"126":{"tf":1.0},"127":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.4142135623730951},"29":{"tf":1.4142135623730951},"30":{"tf":1.0},"5":{"tf":1.0},"52":{"tf":1.0},"54":{"tf":1.0},"57":{"tf":3.3166247903554},"58":{"tf":1.4142135623730951},"6":{"tf":1.7320508075688772},"60":{"tf":1.0},"65":{"tf":1.0},"66":{"tf":1.0},"67":{"tf":1.4142135623730951},"69":{"tf":1.0},"7":{"tf":1.0},"70":{"tf":1.7320508075688772},"87":{"tf":1.0},"89":{"tf":1.0}}},"df":0,"docs":{}}},"r":{"df":0,"docs":{},"i":{"df":5,"docs":{"133":{"tf":1.0},"29":{"tf":1.0},"50":{"tf":1.0},"76":{"tf":1.0},"87":{"tf":1.0}},"f":{"df":0,"docs":{},"i":{"df":4,"docs":{"112":{"tf":1.0},"113":{"tf":1.0},"118":{"tf":1.0},"75":{"tf":1.0}}}}},"s":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"45":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":5,"docs":{"11":{"tf":1.0},"122":{"tf":1.0},"2":{"tf":1.4142135623730951},"82":{"tf":1.0},"9":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":4,"docs":{"106":{"tf":1.0},"29":{"tf":1.4142135623730951},"71":{"tf":1.0},"85":{"tf":1.4142135623730951}}}},"i":{"c":{"df":16,"docs":{"104":{"tf":1.0},"105":{"tf":1.4142135623730951},"106":{"tf":2.23606797749979},"108":{"tf":1.0},"112":{"tf":1.0},"126":{"tf":1.0},"128":{"tf":1.0},"129":{"tf":1.0},"130":{"tf":1.0},"134":{"tf":1.0},"25":{"tf":1.4142135623730951},"29":{"tf":1.0},"5":{"tf":1.0},"53":{"tf":1.0},"85":{"tf":1.7320508075688772},"88":{"tf":1.0}}},"df":0,"docs":{}}}}},"f":{"df":2,"docs":{"102":{"tf":1.0},"123":{"tf":1.4142135623730951}},"​":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"v":{"(":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"t":{"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":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"∥":{"=":{"0":{"df":2,"docs":{"102":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951}}},"df":0,"docs":{}},">":{"0":{"df":2,"docs":{"102":{"tf":1.4142135623730951},"123":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":2,"docs":{"20":{"tf":1.0},"34":{"tf":1.0}}}},"df":6,"docs":{"108":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"90":{"tf":1.0},"94":{"tf":1.0},"97":{"tf":1.0}}},"df":1,"docs":{"82":{"tf":1.0}},"e":{"df":0,"docs":{},"w":{"df":7,"docs":{"101":{"tf":1.0},"119":{"tf":1.0},"14":{"tf":1.0},"4":{"tf":1.4142135623730951},"56":{"tf":1.0},"70":{"tf":1.0},"90":{"tf":1.0}}}},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"101":{"tf":1.0},"48":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}}},"s":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":9,"docs":{"16":{"tf":1.0},"29":{"tf":3.1622776601683795},"30":{"tf":1.0},"5":{"tf":1.0},"59":{"tf":1.0},"62":{"tf":1.0},"7":{"tf":1.0},"76":{"tf":1.0},"77":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"15":{"tf":1.0},"17":{"tf":1.0},"5":{"tf":1.0}}}},"df":1,"docs":{"42":{"tf":1.0}},"​":{"=":{"df":0,"docs":{},"​":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}}}}}}}}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}}}}},"df":0,"docs":{}}},"​":{"=":{"[":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"42":{"tf":1.0}}}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"k":{"df":3,"docs":{"124":{"tf":1.0},"57":{"tf":2.0},"58":{"tf":1.4142135623730951}},"​":{"=":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"−":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{")":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"(":{"(":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"r":{")":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}},"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":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"v":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"∥":{"=":{"0":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"df":0,"docs":{}},">":{"0":{"df":1,"docs":{"57":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"l":{"[":{"df":0,"docs":{},"i":{"df":2,"docs":{"85":{"tf":1.0},"86":{"tf":1.7320508075688772}}}},"df":2,"docs":{"85":{"tf":1.0},"86":{"tf":1.7320508075688772}},"u":{"df":0,"docs":{},"m":{"df":15,"docs":{"130":{"tf":1.0},"131":{"tf":1.7320508075688772},"135":{"tf":1.0},"137":{"tf":1.7320508075688772},"141":{"tf":1.0},"48":{"tf":1.0},"66":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":2.449489742783178},"73":{"tf":1.0},"85":{"tf":1.4142135623730951},"87":{"tf":2.23606797749979},"88":{"tf":1.0},"91":{"tf":1.4142135623730951},"93":{"tf":1.0}}}}},"x":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"5":{"tf":2.8284271247461903}}}}}},"p":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"r":{"3":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}}}},"s":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"r":{"3":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}}}},"t":{"(":{"df":0,"docs":{},"−":{"df":0,"docs":{},"g":{"df":1,"docs":{"42":{"tf":1.0}}}}},"=":{"df":0,"docs":{},"​":{"0":{".":{"6":{"df":0,"docs":{},"−":{"0":{".":{"8":{"df":0,"docs":{},"​":{"0":{".":{"8":{"0":{".":{"6":{"df":0,"docs":{},"​":{"1":{"df":0,"docs":{},"​":{"1":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":1,"docs":{"86":{"tf":2.8284271247461903}}},"1":{"df":1,"docs":{"86":{"tf":3.1622776601683795}}},"df":0,"docs":{}},"a":{"df":0,"docs":{},"v":{">":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":2,"docs":{"75":{"tf":1.0},"86":{"tf":1.7320508075688772}},"h":{"df":1,"docs":{"42":{"tf":1.4142135623730951}},"v":{"df":1,"docs":{"42":{"tf":1.0}},"s":{"df":0,"docs":{},"​":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"0":{"df":0,"docs":{},"​":{"]":{"[":{"df":0,"docs":{},"y":{"df":0,"docs":{},"λ":{"df":0,"docs":{},"′":{"df":0,"docs":{},"​":{"]":{"=":{"[":{"df":0,"docs":{},"−":{"df":0,"docs":{},"v":{"df":0,"docs":{},"t":{"df":0,"docs":{},"g":{"0":{"df":0,"docs":{},"​":{"]":{".":{"(":{"6":{".":{"2":{".":{"3":{"df":1,"docs":{"41":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"{":{"df":0,"docs":{},"u":{"1":{",":{"df":0,"docs":{},"u":{"2":{",":{"df":0,"docs":{},"u":{"3":{"df":1,"docs":{"82":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"v":{"=":{"c":{"df":0,"docs":{},"p":{"[":{"df":0,"docs":{},"v":{"1":{",":{"df":0,"docs":{},"v":{"2":{",":{"df":0,"docs":{},"v":{"3":{"]":{"/":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":1,"docs":{"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":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"{":{"df":0,"docs":{},"v":{"1":{",":{"df":0,"docs":{},"v":{"2":{",":{"df":0,"docs":{},"v":{"3":{"df":1,"docs":{"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":{},"{":{"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"d":{"df":2,"docs":{"7":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"ˉ":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"=":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"−":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"t":{")":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"+":{"1":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"−":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"+":{"1":{"(":{"df":0,"docs":{},"x":{"2":{"df":1,"docs":{"123":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"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":1,"docs":{"123":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"k":{"df":0,"docs":{},"​":{"=":{"(":{"df":0,"docs":{},"i":{"df":0,"docs":{},"−":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"t":{")":{"(":{"df":0,"docs":{},"v":{"df":0,"docs":{},"p":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"(":{"(":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{")":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"1":{"df":1,"docs":{"124":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"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":{},"k":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"t":{"df":0,"docs":{},"v":{"df":1,"docs":{"58":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"​":{",":{"df":1,"docs":{"123":{"tf":1.0}}},"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":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"t":{"df":0,"docs":{},"​":{"/":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"v":{"df":0,"docs":{},"ˉ":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"=":{"0":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}}},"∥":{"=":{"0":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"∈":{"df":0,"docs":{},"r":{"df":0,"docs":{},"n":{",":{"df":0,"docs":{},"v":{"df":0,"docs":{},"":{"=":{"0":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"":{"=":{"0":{"df":1,"docs":{"22":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"w":{".":{"df":0,"docs":{},"r":{".":{"df":0,"docs":{},"t":{"df":5,"docs":{"118":{"tf":1.0},"119":{"tf":1.0},"58":{"tf":1.0},"80":{"tf":1.0},"86":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"_":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}},"a":{"^":{"df":0,"docs":{},"​":{"=":{"d":{"^":{"3":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"j":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"i":{"(":{"df":0,"docs":{},"x":{"a":{"^":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"​":{"a":{"df":0,"docs":{},"j":{"df":1,"docs":{"134":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}},"l":{"df":0,"docs":{},"k":{"df":1,"docs":{"53":{"tf":1.4142135623730951}}},"l":{"df":1,"docs":{"21":{"tf":1.0}}}},"y":{"df":10,"docs":{"12":{"tf":1.0},"134":{"tf":1.0},"18":{"tf":1.0},"42":{"tf":1.0},"49":{"tf":1.0},"53":{"tf":1.4142135623730951},"6":{"tf":1.0},"75":{"tf":1.0},"95":{"tf":1.0},"97":{"tf":1.0}}}},"df":2,"docs":{"29":{"tf":1.0},"45":{"tf":1.4142135623730951}},"e":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":3,"docs":{"101":{"tf":1.0},"104":{"tf":1.4142135623730951},"105":{"tf":1.0}}}},"v":{"df":4,"docs":{"104":{"tf":1.0},"108":{"tf":1.0},"69":{"tf":1.0},"98":{"tf":1.0}}}},"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"=":{"d":{"^":{"3":{"1":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"j":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"i":{"(":{"df":0,"docs":{},"e":{"1":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"​":{"a":{"df":0,"docs":{},"j":{"df":1,"docs":{"134":{"tf":1.0}}}},"df":0,"docs":{}}},"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":{"df":23,"docs":{"100":{"tf":1.0},"101":{"tf":1.4142135623730951},"103":{"tf":1.4142135623730951},"104":{"tf":1.0},"106":{"tf":1.0},"107":{"tf":1.0},"108":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.0},"115":{"tf":1.4142135623730951},"116":{"tf":1.0},"16":{"tf":1.0},"89":{"tf":2.449489742783178},"90":{"tf":1.0},"91":{"tf":1.0},"92":{"tf":3.605551275463989},"93":{"tf":2.0},"94":{"tf":2.23606797749979},"95":{"tf":2.23606797749979},"96":{"tf":1.0},"97":{"tf":1.7320508075688772},"98":{"tf":1.0},"99":{"tf":2.23606797749979}}},"v":{"df":1,"docs":{"4":{"tf":1.0}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":7,"docs":{"112":{"tf":1.4142135623730951},"113":{"tf":1.0},"123":{"tf":1.0},"134":{"tf":1.4142135623730951},"48":{"tf":1.0},"54":{"tf":1.4142135623730951},"73":{"tf":1.0}}}}}},"l":{"df":0,"docs":{},"l":{"df":14,"docs":{"103":{"tf":1.0},"109":{"tf":1.0},"117":{"tf":1.0},"12":{"tf":1.0},"14":{"tf":1.0},"17":{"tf":1.0},"18":{"tf":1.0},"34":{"tf":1.0},"4":{"tf":1.0},"45":{"tf":1.0},"54":{"tf":1.0},"58":{"tf":2.0},"6":{"tf":1.0},"88":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"v":{"df":1,"docs":{"48":{"tf":1.0}}}}},"r":{"df":0,"docs":{},"e":{"a":{"df":3,"docs":{"17":{"tf":1.0},"36":{"tf":1.0},"71":{"tf":1.0}}},"df":0,"docs":{}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":10,"docs":{"118":{"tf":1.0},"120":{"tf":1.0},"14":{"tf":1.0},"35":{"tf":1.4142135623730951},"58":{"tf":1.0},"67":{"tf":1.4142135623730951},"70":{"tf":1.0},"75":{"tf":1.0},"79":{"tf":1.0},"87":{"tf":1.4142135623730951}}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":6,"docs":{"101":{"tf":1.4142135623730951},"113":{"tf":1.0},"114":{"tf":1.0},"7":{"tf":1.0},"76":{"tf":1.0},"82":{"tf":1.0}}}},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"136":{"tf":1.0},"79":{"tf":1.0},"91":{"tf":1.0}}}}}},"i":{"d":{"df":0,"docs":{},"e":{"df":6,"docs":{"16":{"tf":1.0},"17":{"tf":1.0},"45":{"tf":1.0},"69":{"tf":1.0},"76":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":6,"docs":{"115":{"tf":1.0},"118":{"tf":1.0},"32":{"tf":1.0},"42":{"tf":1.0},"43":{"tf":1.0},"55":{"tf":1.0}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":29,"docs":{"10":{"tf":1.4142135623730951},"105":{"tf":1.4142135623730951},"107":{"tf":1.0},"112":{"tf":1.0},"131":{"tf":1.0},"139":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.7320508075688772},"17":{"tf":1.0},"18":{"tf":1.0},"31":{"tf":1.0},"32":{"tf":1.7320508075688772},"36":{"tf":1.4142135623730951},"43":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"5":{"tf":1.0},"51":{"tf":1.4142135623730951},"58":{"tf":1.4142135623730951},"61":{"tf":1.0},"64":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"71":{"tf":1.7320508075688772},"73":{"tf":1.4142135623730951},"85":{"tf":1.4142135623730951},"88":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":19,"docs":{"112":{"tf":1.0},"113":{"tf":1.0},"117":{"tf":1.0},"120":{"tf":1.4142135623730951},"122":{"tf":1.0},"123":{"tf":1.0},"16":{"tf":1.0},"48":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951},"52":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.0},"62":{"tf":1.0},"65":{"tf":1.0},"70":{"tf":1.0},"71":{"tf":1.0},"76":{"tf":1.0},"80":{"tf":1.0},"92":{"tf":1.0}}}}}}}},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"b":{"(":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{")":{"=":{"df":0,"docs":{},"−":{"df":0,"docs":{},"w":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"b":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∇":{"df":0,"docs":{},"x":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"df":0,"docs":{},"​":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}}},"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":{},"o":{"d":{"df":2,"docs":{"14":{"tf":1.0},"74":{"tf":1.0}}},"df":0,"docs":{}},"r":{"d":{"df":3,"docs":{"130":{"tf":1.0},"53":{"tf":1.0},"58":{"tf":1.0}}},"df":0,"docs":{},"k":{"df":2,"docs":{"14":{"tf":1.0},"79":{"tf":1.0}}},"l":{"d":{"df":19,"docs":{"105":{"tf":1.4142135623730951},"108":{"tf":1.0},"111":{"tf":1.0},"129":{"tf":1.0},"5":{"tf":1.4142135623730951},"50":{"tf":1.0},"69":{"tf":1.0},"70":{"tf":1.7320508075688772},"71":{"tf":1.4142135623730951},"72":{"tf":1.0},"74":{"tf":1.0},"77":{"tf":1.0},"78":{"tf":1.0},"83":{"tf":1.0},"84":{"tf":1.0},"85":{"tf":1.4142135623730951},"88":{"tf":1.0},"90":{"tf":1.0},"91":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":1,"docs":{"22":{"tf":1.0}}},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"20":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"_":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"df":1,"docs":{"29":{"tf":1.0}},"e":{"(":{"df":0,"docs":{},"f":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"29":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}}},"df":6,"docs":{"107":{"tf":1.0},"115":{"tf":1.0},"124":{"tf":1.0},"29":{"tf":1.4142135623730951},"81":{"tf":1.0},"82":{"tf":1.0}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":6,"docs":{"101":{"tf":1.0},"113":{"tf":1.0},"123":{"tf":1.0},"14":{"tf":1.0},"89":{"tf":1.0},"92":{"tf":1.0}}}}}}}}},"x":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"112":{"tf":1.0}},"i":{"df":2,"docs":{"105":{"tf":1.0},"129":{"tf":1.0}}}},"β":{",":{"df":0,"docs":{},"γ":{",":{"df":0,"docs":{},"τ":{")":{"df":0,"docs":{},"≈":{"df":0,"docs":{},"x":{"^":{"(":{"df":0,"docs":{},"β":{",":{"df":0,"docs":{},"γ":{",":{"df":0,"docs":{},"τ":{")":{"=":{"(":{"1":{"df":0,"docs":{},"−":{"df":0,"docs":{},"β":{"df":0,"docs":{},"−":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"−":{"df":0,"docs":{},"τ":{")":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"β":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"γ":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"τ":{"df":0,"docs":{},"x":{"4":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"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":1,"docs":{"45":{"tf":1.0}}},"t":{"df":1,"docs":{"70":{"tf":1.0}}},"v":{"df":1,"docs":{"57":{"tf":1.0}}}},"0":{"df":1,"docs":{"59":{"tf":1.0}}},"1":{"0":{"df":1,"docs":{"71":{"tf":1.0}}},"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"1":{"2":{"df":1,"docs":{"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":6,"docs":{"101":{"tf":1.7320508075688772},"105":{"tf":1.0},"106":{"tf":1.0},"130":{"tf":1.0},"27":{"tf":1.0},"71":{"tf":1.0}},"​":{",":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"3":{"df":1,"docs":{"129":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"=":{"1":{"df":1,"docs":{"95":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"x":{"3":{"df":2,"docs":{"105":{"tf":1.0},"85":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"∈":{"df":0,"docs":{},"γ":{"1":{"df":1,"docs":{"101":{"tf":1.0}}},"df":0,"docs":{}}},"−":{"df":0,"docs":{},"x":{"2":{"df":1,"docs":{"27":{"tf":1.0}},"​":{"df":0,"docs":{},"∥":{"2":{"df":1,"docs":{"27":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"2":{"0":{"df":1,"docs":{"71":{"tf":1.0}}},"1":{"df":1,"docs":{"87":{"tf":1.0}},"​":{"+":{"df":0,"docs":{},"α":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"2":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"2":{"2":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"α":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"x":{"2":{"2":{"df":0,"docs":{},"​":{")":{"=":{"(":{"df":0,"docs":{},"x":{"2":{"1":{"df":0,"docs":{},"​":{",":{"df":0,"docs":{},"x":{"2":{"2":{"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":{}},"df":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":{"105":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"123":{"tf":1.0},"130":{"tf":1.0},"134":{"tf":1.0},"27":{"tf":1.0},"71":{"tf":1.0}},"​":{"=":{"2":{"df":1,"docs":{"95":{"tf":1.4142135623730951}}},"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"γ":{"c":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"n":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"2":{"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":{}},"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":1,"docs":{"85":{"tf":1.0}},"​":{")":{"=":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"x":{"2":{"0":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"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":{},"f":{"(":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{")":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"f":{"(":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"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":{}}},"3":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}}}},"∂":{"2":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}}},"3":{"1":{"df":1,"docs":{"87":{"tf":1.7320508075688772}}},"df":5,"docs":{"105":{"tf":1.0},"106":{"tf":1.0},"112":{"tf":1.0},"113":{"tf":1.4142135623730951},"130":{"tf":1.0}},"​":{"=":{"3":{"df":1,"docs":{"95":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"1":{"df":1,"docs":{"85":{"tf":1.0}}},"df":0,"docs":{}}}}},"4":{"df":2,"docs":{"129":{"tf":1.0},"130":{"tf":1.0}}},"=":{"0":{".":{"3":{"df":1,"docs":{"53":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"20":{"tf":1.0}}},"2":{"df":1,"docs":{"20":{"tf":1.4142135623730951}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"x":{"+":{"b":{",":{"(":{"1":{"2":{".":{"1":{".":{"2":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"i":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}}},"x":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{")":{"=":{"df":0,"docs":{},"ϕ":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"70":{"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":{},"v":{"df":0,"docs":{},"n":{".":{"(":{"1":{"2":{".":{"1":{".":{"1":{"df":1,"docs":{"70":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"t":{"df":1,"docs":{"71":{"tf":1.0}}}},"df":1,"docs":{"85":{"tf":1.0}}}},"df":0,"docs":{}},"−":{"1":{"1":{".":{"6":{"4":{"5":{"df":1,"docs":{"20":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"[":{"0":{"df":1,"docs":{"29":{"tf":1.0}}},"1":{"df":1,"docs":{"29":{"tf":1.0}}},"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"67":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"[":{"df":0,"docs":{},"i":{"]":{"[":{"0":{"df":4,"docs":{"27":{"tf":1.7320508075688772},"29":{"tf":1.0},"85":{"tf":1.4142135623730951},"87":{"tf":1.4142135623730951}}},"1":{"df":4,"docs":{"27":{"tf":1.7320508075688772},"29":{"tf":1.0},"85":{"tf":1.0},"87":{"tf":1.0}}},"2":{"df":2,"docs":{"85":{"tf":1.0},"87":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{},"i":{"[":{"0":{"df":3,"docs":{"119":{"tf":2.449489742783178},"120":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951}}},"1":{"df":3,"docs":{"119":{"tf":2.449489742783178},"120":{"tf":1.4142135623730951},"125":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"df":0,"docs":{}},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"d":{"[":{"0":{"df":1,"docs":{"86":{"tf":1.4142135623730951}}},"1":{"df":1,"docs":{"86":{"tf":1.0}}},"2":{"df":1,"docs":{"86":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"i":{"]":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"v":{"df":1,"docs":{"35":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"[":{"0":{"df":1,"docs":{"29":{"tf":1.0}}},"1":{"df":1,"docs":{"54":{"tf":2.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":2,"docs":{"25":{"tf":1.0},"26":{"tf":1.4142135623730951}}}},"\\":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"b":{"df":0,"docs":{},"{":{"df":0,"docs":{},"r":{"df":0,"docs":{},"}":{"^":{"df":0,"docs":{},"{":{"d":{"df":0,"docs":{},"n":{"df":1,"docs":{"5":{"tf":1.0}}}},"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":{},"n":{"a":{"^":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"x":{"a":{"df":1,"docs":{"112":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"x":{"(":{"df":0,"docs":{},"x":{"1":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"n":{"1":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"+":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{"2":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"n":{"2":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"+":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{"3":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"n":{"3":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{",":{"(":{"1":{"9":{".":{"1":{".":{"1":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":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":{"105":{"tf":1.0},"108":{"tf":1.0}},"i":{"df":0,"docs":{},"​":{")":{"=":{"df":0,"docs":{},"x":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"105":{"tf":1.0}}}}},"d":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"111":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"0":{"df":1,"docs":{"7":{"tf":1.0}}},"df":0,"docs":{},"i":{"df":4,"docs":{"11":{"tf":1.7320508075688772},"21":{"tf":2.6457513110645907},"22":{"tf":1.0},"53":{"tf":2.23606797749979}}},"k":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"l":{"df":1,"docs":{"53":{"tf":1.0}}},"n":{"df":7,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"26":{"tf":1.0},"53":{"tf":1.7320508075688772},"63":{"tf":1.0},"7":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"}":{"df":0,"docs":{},"{":{"\\":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"a":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"{":{"df":0,"docs":{},"i":{"+":{"1":{"df":2,"docs":{"53":{"tf":2.0},"59":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"53":{"tf":1.0}}},"n":{"+":{"1":{"df":4,"docs":{"11":{"tf":2.449489742783178},"53":{"tf":1.7320508075688772},"7":{"tf":1.0},"9":{"tf":1.0}},"}":{",":{"df":0,"docs":{},"v":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"8":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"_":{"0":{"df":1,"docs":{"53":{"tf":1.0}}},"1":{"df":1,"docs":{"53":{"tf":1.0}}},"b":{"df":2,"docs":{"33":{"tf":1.0},"34":{"tf":1.7320508075688772}}},"df":0,"docs":{},"i":{"df":1,"docs":{"45":{"tf":1.4142135623730951}}},"l":{"df":1,"docs":{"53":{"tf":1.0}}},"n":{"[":{"d":{"b":{"c":{"[":{"df":0,"docs":{},"i":{"]":{"]":{")":{".":{"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"(":{"d":{"b":{"c":{"_":{"df":0,"docs":{},"v":{"[":{"df":0,"docs":{},"i":{"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":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":3,"docs":{"28":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":1.4142135623730951}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"l":{"d":{"df":6,"docs":{"26":{"tf":1.7320508075688772},"28":{"tf":3.872983346207417},"35":{"tf":2.6457513110645907},"54":{"tf":1.0},"63":{"tf":1.0},"67":{"tf":1.4142135623730951}},"e":{"[":{"df":0,"docs":{},"i":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"u":{"df":1,"docs":{"34":{"tf":1.0}}},"{":{"1":{"1":{"df":2,"docs":{"32":{"tf":1.0},"38":{"tf":1.0}}},"2":{"df":2,"docs":{"32":{"tf":1.0},"38":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"2":{"1":{"df":2,"docs":{"32":{"tf":1.0},"34":{"tf":1.7320508075688772}}},"2":{"df":2,"docs":{"32":{"tf":1.0},"34":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":0,"docs":{}}},"a":{"^":{"+":{"1":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"​":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"ψ":{"df":1,"docs":{"107":{"tf":1.4142135623730951}}}}},"−":{"1":{"df":1,"docs":{"113":{"tf":1.0}}},"df":0,"docs":{}}},"df":2,"docs":{"112":{"tf":1.4142135623730951},"113":{"tf":1.7320508075688772}}},"d":{"df":1,"docs":{"99":{"tf":1.0}}},"df":52,"docs":{"100":{"tf":1.0},"101":{"tf":1.0},"102":{"tf":1.0},"105":{"tf":2.8284271247461903},"106":{"tf":1.0},"107":{"tf":1.4142135623730951},"108":{"tf":1.4142135623730951},"11":{"tf":1.4142135623730951},"112":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"117":{"tf":1.7320508075688772},"123":{"tf":1.4142135623730951},"124":{"tf":1.0},"129":{"tf":1.7320508075688772},"130":{"tf":1.0},"134":{"tf":1.0},"14":{"tf":2.0},"16":{"tf":1.0},"21":{"tf":1.4142135623730951},"25":{"tf":1.4142135623730951},"28":{"tf":2.0},"29":{"tf":2.8284271247461903},"32":{"tf":2.0},"33":{"tf":1.0},"34":{"tf":1.7320508075688772},"38":{"tf":1.0},"41":{"tf":1.7320508075688772},"42":{"tf":1.0},"45":{"tf":2.0},"49":{"tf":2.0},"53":{"tf":1.4142135623730951},"58":{"tf":1.0},"59":{"tf":2.0},"6":{"tf":1.4142135623730951},"63":{"tf":1.0},"67":{"tf":3.1622776601683795},"70":{"tf":3.3166247903554},"71":{"tf":2.0},"72":{"tf":1.0},"78":{"tf":1.4142135623730951},"84":{"tf":1.0},"85":{"tf":1.7320508075688772},"86":{"tf":1.0},"87":{"tf":1.4142135623730951},"88":{"tf":1.0},"89":{"tf":1.0},"91":{"tf":1.7320508075688772},"94":{"tf":1.4142135623730951},"95":{"tf":1.7320508075688772},"96":{"tf":1.4142135623730951},"97":{"tf":1.0}},"e":{"1":{"a":{"df":1,"docs":{"134":{"tf":1.0}}},"b":{"df":1,"docs":{"134":{"tf":1.0}}},"df":1,"docs":{"134":{"tf":1.4142135623730951}}},"2":{"a":{"df":1,"docs":{"134":{"tf":1.0}}},"b":{"df":1,"docs":{"134":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"i":{"df":11,"docs":{"105":{"tf":1.0},"119":{"tf":3.1622776601683795},"120":{"tf":1.7320508075688772},"125":{"tf":1.7320508075688772},"126":{"tf":2.0},"129":{"tf":1.0},"29":{"tf":1.0},"42":{"tf":1.0},"66":{"tf":1.0},"85":{"tf":1.0},"86":{"tf":1.4142135623730951}},"j":{"df":0,"docs":{},"α":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"α":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":2,"docs":{"131":{"tf":1.0},"87":{"tf":1.0}}}}}}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"​":{"=":{"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"j":{"df":2,"docs":{"131":{"tf":1.0},"87":{"tf":1.0}}}}}}}}},"df":0,"docs":{}}},"​":{"df":0,"docs":{},"∈":{"df":0,"docs":{},"γ":{"d":{"df":1,"docs":{"111":{"tf":1.0}}},"df":0,"docs":{}}}}},"j":{"df":1,"docs":{"86":{"tf":1.7320508075688772}},"​":{"df":0,"docs":{},"∂":{"a":{"df":0,"docs":{},"i":{"df":1,"docs":{"92":{"tf":1.0}}}},"df":0,"docs":{}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"df":0,"docs":{},"≈":{"df":0,"docs":{},"x":{"^":{"df":0,"docs":{},"k":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"66":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"​":{"df":0,"docs":{},"​":{"d":{"df":0,"docs":{},"k":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{"df":0,"docs":{},"∥":{"=":{"1":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"​":{"(":{"2":{"df":0,"docs":{},"m":{"df":0,"docs":{},"​":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"x":{"df":0,"docs":{},"−":{"(":{"df":0,"docs":{},"x":{"0":{"df":0,"docs":{},"​":{"+":{"df":0,"docs":{},"h":{"df":0,"docs":{},"v":{"0":{"df":0,"docs":{},"​":{")":{"df":0,"docs":{},"∥":{"2":{"+":{"df":0,"docs":{},"h":{"2":{"df":0,"docs":{},"p":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{")":{".":{"(":{"8":{".":{"1":{".":{"1":{"df":1,"docs":{"52":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}},"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":{},"h":{"2":{"df":0,"docs":{},"p":{"b":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{")":{".":{"(":{"7":{".":{"2":{".":{"2":{"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":{}},"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":{},"x":{"=":{"b":{",":{"(":{"2":{".":{"2":{".":{"1":{"df":1,"docs":{"15":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"16":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"≥":{"0":{"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":{}}}}}},"n":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"123":{"tf":1.0}}}},"+":{"1":{"df":2,"docs":{"124":{"tf":1.4142135623730951},"53":{"tf":1.0}},"v":{"df":0,"docs":{},"n":{"+":{"1":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"+":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"+":{"1":{",":{"=":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"+":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"−":{"1":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{"+":{"1":{",":{"df":0,"docs":{},"​":{"(":{"1":{".":{"5":{".":{"1":{"df":1,"docs":{"11":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"n":{"+":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"−":{"1":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{",":{"df":0,"docs":{},"​":{"(":{"1":{".":{"4":{".":{"3":{"df":1,"docs":{"10":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"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":{},"n":{"+":{"df":0,"docs":{},"δ":{"df":0,"docs":{},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"−":{"1":{"df":0,"docs":{},"f":{"df":0,"docs":{},"n":{".":{"df":0,"docs":{},"​":{"(":{"1":{".":{"4":{".":{"2":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"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":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"14":{"tf":1.0}}}}}}},"−":{"df":0,"docs":{},"x":{"df":0,"docs":{},"n":{"df":0,"docs":{},"":{"=":{"df":0,"docs":{},"h":{"^":{"df":0,"docs":{},"v":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"58":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"a":{"^":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"107":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":3,"docs":{"124":{"tf":1.4142135623730951},"53":{"tf":1.0},"63":{"tf":1.0}}},"p":{"df":2,"docs":{"125":{"tf":1.0},"134":{"tf":1.0}}},"t":{"1":{"df":1,"docs":{"134":{"tf":1.0}}},"2":{"df":1,"docs":{"134":{"tf":1.0}}},"3":{"df":1,"docs":{"134":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":2,"docs":{"142":{"tf":1.4142135623730951},"81":{"tf":1.0}}},"}":{"(":{"df":0,"docs":{},"x":{"^":{"df":0,"docs":{},"{":{"df":0,"docs":{},"n":{"+":{"1":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"14":{"tf":1.0}}}},"df":0,"docs":{},"{":{"\\":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"b":{"df":0,"docs":{},"f":{"df":0,"docs":{},"{":{"d":{"df":2,"docs":{"7":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"∂":{"df":0,"docs":{},"f":{"df":1,"docs":{"86":{"tf":1.0}}}},"∈":{"df":0,"docs":{},"r":{"3":{"df":2,"docs":{"45":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}},"γ":{"c":{"df":0,"docs":{},"​":{".":{"df":0,"docs":{},"​":{"(":{"1":{"8":{".":{"5":{".":{"1":{"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":{}}},"d":{"df":1,"docs":{"103":{"tf":1.0}}},"df":0,"docs":{},"n":{"df":1,"docs":{"103":{"tf":1.0}}}},"ω":{"0":{"df":5,"docs":{"103":{"tf":1.4142135623730951},"70":{"tf":1.0},"89":{"tf":1.0},"90":{"tf":1.4142135623730951},"91":{"tf":1.0}}},"df":0,"docs":{}}},"−":{"c":{"df":0,"docs":{},"∥":{"df":0,"docs":{},"≤":{"df":0,"docs":{},"r":{"df":2,"docs":{"45":{"tf":1.0},"5":{"tf":1.0}}}}}},"df":0,"docs":{}},"⋅":{"df":0,"docs":{},"p":{"(":{"df":0,"docs":{},"x":{",":{"df":0,"docs":{},"t":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}},")":{"df":0,"docs":{},"i":{"df":0,"docs":{},"​":{"=":{"df":0,"docs":{},"∑":{"df":0,"docs":{},"j":{"df":0,"docs":{},"​":{"df":0,"docs":{},"p":{"df":0,"docs":{},"i":{"df":0,"docs":{},"j":{",":{"df":0,"docs":{},"j":{"df":1,"docs":{"91":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"y":{"=":{"3":{"df":1,"docs":{"38":{"tf":1.0}}},"df":0,"docs":{},"y":{"_":{"0":{"df":1,"docs":{"54":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"_":{"0":{"df":1,"docs":{"54":{"tf":1.7320508075688772}}},"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"54":{"tf":3.1622776601683795}}},"df":0,"docs":{}}}}}},"i":{"df":1,"docs":{"45":{"tf":1.0}}},"j":{"df":1,"docs":{"45":{"tf":1.0}}}},"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"142":{"tf":1.0}}}}},"df":4,"docs":{"38":{"tf":1.4142135623730951},"41":{"tf":1.7320508075688772},"42":{"tf":1.4142135623730951},"45":{"tf":1.0}},"e":{"a":{"df":0,"docs":{},"r":{"=":{"df":0,"docs":{},"{":{"2":{"0":{"2":{"4":{"df":1,"docs":{"3":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"114":{"tf":1.4142135623730951}}}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":3,"docs":{"27":{"tf":1.0},"80":{"tf":1.0},"82":{"tf":1.0}}},"df":0,"docs":{}}},"n":{"df":1,"docs":{"142":{"tf":1.0}}}},"o":{"df":0,"docs":{},"u":{"'":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"'":{"df":5,"docs":{"101":{"tf":1.0},"117":{"tf":1.0},"119":{"tf":1.0},"74":{"tf":1.0},"85":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"u":{"df":0,"docs":{},"o":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"z":{"df":1,"docs":{"38":{"tf":1.0}}}},"z":{"a":{"c":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":1,"docs":{"95":{"tf":1.0}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":19,"docs":{"101":{"tf":1.0},"134":{"tf":1.0},"141":{"tf":1.0},"16":{"tf":1.7320508075688772},"20":{"tf":1.0},"22":{"tf":1.4142135623730951},"27":{"tf":1.0},"32":{"tf":1.0},"33":{"tf":1.4142135623730951},"34":{"tf":1.4142135623730951},"45":{"tf":1.4142135623730951},"48":{"tf":1.0},"50":{"tf":1.0},"52":{"tf":1.0},"7":{"tf":1.0},"71":{"tf":1.0},"82":{"tf":1.7320508075688772},"96":{"tf":1.0},"97":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"u":{"df":1,"docs":{"142":{"tf":1.0}}}},"i":{"df":0,"docs":{},"p":{"(":{"*":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"d":{"_":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{".":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":2,"docs":{"35":{"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":{}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"142":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"m":{"df":0,"docs":{},"z":{"=":{"df":0,"docs":{},"∫":{"df":0,"docs":{},"ω":{"0":{"df":0,"docs":{},"​":{"(":{"df":0,"docs":{},"z":{"df":0,"docs":{},"t":{"b":{")":{"2":{"d":{"df":0,"docs":{},"x":{"df":0,"docs":{},"≥":{"0":{"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":{}}}}}}},"title":{"root":{"1":{".":{"0":{".":{"0":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":1,"docs":{"4":{"tf":1.0}}},"2":{"0":{"2":{"4":{"/":{"5":{"df":1,"docs":{"2":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"d":{"df":3,"docs":{"116":{"tf":1.0},"122":{"tf":1.0},"24":{"tf":1.0}}},"df":1,"docs":{"13":{"tf":1.0}}},"3":{"d":{"df":2,"docs":{"128":{"tf":1.0},"133":{"tf":1.0}}},"df":0,"docs":{}},"a":{"c":{"c":{"d":{"df":1,"docs":{"138":{"tf":1.0}}},"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"a":{"c":{"df":0,"docs":{},"i":{"df":1,"docs":{"49":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"d":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"81":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"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":1,"docs":{"34":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"x":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":1,"docs":{"123":{"tf":1.0}}}}}}}}},"x":{"df":0,"docs":{},"i":{"df":1,"docs":{"38":{"tf":1.0}}}}},"b":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":6,"docs":{"101":{"tf":1.0},"119":{"tf":1.0},"134":{"tf":1.0},"44":{"tf":1.0},"46":{"tf":1.0},"48":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"22":{"tf":1.0}}}}},"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"142":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":1,"docs":{"3":{"tf":1.0}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":9,"docs":{"109":{"tf":1.0},"110":{"tf":1.0},"117":{"tf":1.0},"15":{"tf":1.0},"31":{"tf":1.0},"37":{"tf":1.0},"65":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}}},"df":1,"docs":{"137":{"tf":1.0}}},"df":0,"docs":{}}}},"r":{"df":0,"docs":{},"o":{"a":{"d":{"df":1,"docs":{"139":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"df":0,"docs":{},"h":{"df":1,"docs":{"137":{"tf":1.0}}}}},"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":7,"docs":{"116":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0}}}}},"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"40":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"39":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"d":{"df":0,"docs":{},"e":{"df":1,"docs":{"125":{"tf":1.0}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"117":{"tf":1.0}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"s":{"df":3,"docs":{"120":{"tf":1.0},"135":{"tf":1.0},"139":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"67":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"t":{"df":3,"docs":{"80":{"tf":1.0},"82":{"tf":1.0},"86":{"tf":1.0}}}}}},"n":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":7,"docs":{"110":{"tf":1.0},"15":{"tf":1.0},"31":{"tf":1.0},"37":{"tf":1.0},"65":{"tf":1.0},"98":{"tf":1.0},"99":{"tf":1.0}}}}},"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":2,"docs":{"90":{"tf":1.0},"91":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"47":{"tf":1.0}},"t":{"df":2,"docs":{"32":{"tf":1.0},"41":{"tf":1.0}}}}}},"df":0,"docs":{}}}},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":10,"docs":{"100":{"tf":1.0},"113":{"tf":1.0},"114":{"tf":1.0},"116":{"tf":1.0},"122":{"tf":1.0},"133":{"tf":1.0},"16":{"tf":1.0},"48":{"tf":1.0},"56":{"tf":1.0},"98":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"u":{"df":1,"docs":{"120":{"tf":1.0}},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"70":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"1":{"tf":1.0}}}}},"df":0,"docs":{}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":1,"docs":{"20":{"tf":1.0}}}}}}}}},"d":{"b":{"c":{"df":3,"docs":{"38":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"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":2,"docs":{"41":{"tf":1.0},"75":{"tf":1.0}}}}}}}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"71":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":3,"docs":{"119":{"tf":1.0},"126":{"tf":1.0},"78":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"120":{"tf":1.0},"135":{"tf":1.0},"139":{"tf":1.0}}}},"df":0,"docs":{}}}},"i":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":4,"docs":{"111":{"tf":1.0},"15":{"tf":1.0},"31":{"tf":1.0},"37":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"s":{"c":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":7,"docs":{"123":{"tf":1.0},"25":{"tf":1.0},"4":{"tf":1.0},"58":{"tf":1.0},"94":{"tf":1.0},"95":{"tf":1.0},"96":{"tf":1.0}}}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"a":{"c":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"n":{"c":{"df":5,"docs":{"118":{"tf":1.0},"134":{"tf":1.0},"44":{"tf":1.0},"45":{"tf":1.0},"46":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"f":{"df":2,"docs":{"33":{"tf":1.0},"40":{"tf":1.0}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":1,"docs":{"54":{"tf":1.0}}}}},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"57":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"e":{"d":{"df":0,"docs":{},"g":{"df":1,"docs":{"118":{"tf":1.0}}}},"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":3,"docs":{"107":{"tf":1.0},"131":{"tf":1.0},"84":{"tf":1.0}},"o":{"d":{"df":0,"docs":{},"y":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"m":{"df":1,"docs":{"128":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":3,"docs":{"104":{"tf":1.0},"117":{"tf":1.0},"85":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":2,"docs":{"33":{"tf":1.0},"40":{"tf":1.0}}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"df":5,"docs":{"119":{"tf":1.0},"126":{"tf":1.0},"27":{"tf":1.0},"73":{"tf":1.0},"86":{"tf":1.0}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"10":{"tf":1.0},"9":{"tf":1.0}}}}}},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"8":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"d":{"df":1,"docs":{"105":{"tf":1.0}}},"df":0,"docs":{}}},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"51":{"tf":1.0},"87":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"104":{"tf":1.0}}}}},"x":{"df":1,"docs":{"59":{"tf":1.0}}}},"o":{"df":0,"docs":{},"r":{"c":{"df":1,"docs":{"102":{"tf":1.0}}},"df":0,"docs":{},"m":{"df":3,"docs":{"89":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.0}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"32":{"tf":1.0}}}}},"w":{"a":{"df":0,"docs":{},"r":{"d":{"df":1,"docs":{"9":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"r":{"a":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"k":{"df":1,"docs":{"13":{"tf":1.0}}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"e":{"df":2,"docs":{"53":{"tf":1.0},"84":{"tf":1.0}}}},"i":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":9,"docs":{"102":{"tf":1.0},"122":{"tf":1.0},"126":{"tf":1.0},"133":{"tf":1.0},"140":{"tf":1.0},"17":{"tf":1.0},"56":{"tf":1.0},"63":{"tf":1.0},"98":{"tf":1.0}}}}}}},"df":0,"docs":{}}}},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":2,"docs":{"40":{"tf":1.0},"42":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}}},"r":{"a":{"d":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"22":{"tf":1.0},"86":{"tf":1.0}}}}}}},"df":0,"docs":{}},"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"62":{"tf":1.0}}},"df":0,"docs":{}}}}}},"h":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"35":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"df":1,"docs":{"136":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":1,"docs":{"86":{"tf":1.0}}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"137":{"tf":1.0}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"11":{"tf":1.0},"58":{"tf":1.0}}}}},"df":0,"docs":{}}}}},"n":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"99":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":1,"docs":{"26":{"tf":1.0}}},"df":0,"docs":{}}}}},"f":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"124":{"tf":1.0}}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"r":{"df":5,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"28":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0}}}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"74":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":2,"docs":{"84":{"tf":1.0},"87":{"tf":1.0}}},"t":{"df":1,"docs":{"76":{"tf":1.0}}}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":2,"docs":{"20":{"tf":1.0},"52":{"tf":1.0}}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":1,"docs":{"59":{"tf":1.0}}}}}},"k":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":2,"docs":{"129":{"tf":1.0},"69":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"l":{"a":{"df":0,"docs":{},"w":{"df":1,"docs":{"6":{"tf":1.0}}}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":2,"docs":{"13":{"tf":1.0},"4":{"tf":1.0}}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"104":{"tf":1.0},"105":{"tf":1.0},"109":{"tf":1.0},"85":{"tf":1.0}}}},"df":3,"docs":{"21":{"tf":1.0},"51":{"tf":1.0},"87":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"m":{"df":1,"docs":{"48":{"tf":1.0}}}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"106":{"tf":1.0}}}}}},"m":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":5,"docs":{"106":{"tf":1.0},"130":{"tf":1.0},"24":{"tf":1.0},"27":{"tf":1.0},"90":{"tf":1.0}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":2,"docs":{"106":{"tf":1.0},"130":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"d":{"df":5,"docs":{"138":{"tf":1.0},"20":{"tf":1.0},"33":{"tf":1.0},"40":{"tf":1.0},"66":{"tf":1.0}}},"df":0,"docs":{}}}}},"o":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":2,"docs":{"48":{"tf":1.0},"76":{"tf":1.0}}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"91":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"e":{"df":1,"docs":{"34":{"tf":1.0}}}},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":1,"docs":{"70":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":1,"docs":{"65":{"tf":1.0}}}}}},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":1,"docs":{"112":{"tf":1.0}}}}},"df":0,"docs":{}}},"w":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"'":{"df":2,"docs":{"20":{"tf":1.0},"6":{"tf":1.0}}},"df":1,"docs":{"19":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"n":{"df":2,"docs":{"100":{"tf":1.0},"87":{"tf":1.0}},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}}},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"100":{"tf":1.0},"124":{"tf":1.0}}}},"df":0,"docs":{}}}},"u":{"df":0,"docs":{},"l":{"df":0,"docs":{},"l":{"df":1,"docs":{"74":{"tf":1.0}}}}}},"o":{"b":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"l":{"df":1,"docs":{"113":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":5,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"22":{"tf":1.0},"28":{"tf":1.0},"47":{"tf":1.0}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}}},"p":{"(":{"df":0,"docs":{},"σ":{")":{"=":{"df":0,"docs":{},"p":{"df":1,"docs":{"81":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"/":{"df":0,"docs":{},"∂":{"df":0,"docs":{},"f":{"df":1,"docs":{"82":{"tf":1.0}}}}},"df":2,"docs":{"80":{"tf":1.0},"82":{"tf":1.0}},"e":{"df":0,"docs":{},"n":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":1,"docs":{"66":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":2,"docs":{"100":{"tf":1.0},"53":{"tf":1.0}}}}}}},"h":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"139":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"w":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":2,"docs":{"105":{"tf":1.0},"109":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":2,"docs":{"118":{"tf":1.0},"59":{"tf":1.0}}}}},"l":{"a":{"df":0,"docs":{},"r":{"df":1,"docs":{"75":{"tf":1.0}}}},"df":0,"docs":{}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"df":3,"docs":{"101":{"tf":1.0},"27":{"tf":1.0},"48":{"tf":1.0}}}}}}}},"r":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"124":{"tf":1.0}}}}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"19":{"tf":1.0}}}},"df":0,"docs":{}}},"o":{"df":0,"docs":{},"f":{"df":1,"docs":{"81":{"tf":1.0}}}}}}},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"2":{"tf":1.0}}}},"df":0,"docs":{}}},"p":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"5":{"tf":1.0}}}}}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"74":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"74":{"tf":1.0}}}},"df":0,"docs":{}}}},"s":{"c":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"117":{"tf":1.0}}}}}},"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":3,"docs":{"21":{"tf":1.0},"51":{"tf":1.0},"87":{"tf":1.0}}}},"df":0,"docs":{}}},"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"d":{"df":1,"docs":{"6":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"f":{"df":4,"docs":{"114":{"tf":1.0},"116":{"tf":1.0},"122":{"tf":1.0},"133":{"tf":1.0}}}},"m":{"df":0,"docs":{},"i":{"df":1,"docs":{"58":{"tf":1.0}}}},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"117":{"tf":1.0}}}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"n":{"df":1,"docs":{"45":{"tf":1.0}}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":2,"docs":{"41":{"tf":1.0},"76":{"tf":1.0}}}}}}},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"29":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"a":{"df":0,"docs":{},"r":{"df":2,"docs":{"41":{"tf":1.0},"75":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"p":{"df":4,"docs":{"37":{"tf":1.0},"38":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":3,"docs":{"61":{"tf":1.0},"62":{"tf":1.0},"63":{"tf":1.0}}}}}},"m":{"df":0,"docs":{},"o":{"df":0,"docs":{},"o":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":1,"docs":{"57":{"tf":1.0}}}}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"d":{"df":2,"docs":{"113":{"tf":1.0},"5":{"tf":1.0}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"49":{"tf":1.0}}}}}},"p":{"a":{"c":{"df":0,"docs":{},"e":{"df":3,"docs":{"4":{"tf":1.0},"74":{"tf":1.0},"95":{"tf":1.0}}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":2,"docs":{"136":{"tf":1.0},"25":{"tf":1.0}}}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":2,"docs":{"24":{"tf":1.0},"27":{"tf":1.0}}}}}}},"q":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"r":{"df":4,"docs":{"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0}}}},"df":0,"docs":{}}},"t":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"57":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":1,"docs":{"73":{"tf":1.0}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":2,"docs":{"78":{"tf":1.0},"79":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"89":{"tf":1.0}}}}}},"u":{"d":{"df":0,"docs":{},"i":{"df":7,"docs":{"116":{"tf":1.0},"24":{"tf":1.0},"35":{"tf":1.0},"54":{"tf":1.0},"61":{"tf":1.0},"67":{"tf":1.0},"84":{"tf":1.0}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":24,"docs":{"103":{"tf":1.0},"108":{"tf":1.0},"115":{"tf":1.0},"12":{"tf":1.0},"121":{"tf":1.0},"127":{"tf":1.0},"132":{"tf":1.0},"141":{"tf":1.0},"18":{"tf":1.0},"23":{"tf":1.0},"30":{"tf":1.0},"36":{"tf":1.0},"43":{"tf":1.0},"50":{"tf":1.0},"55":{"tf":1.0},"60":{"tf":1.0},"64":{"tf":1.0},"68":{"tf":1.0},"72":{"tf":1.0},"77":{"tf":1.0},"83":{"tf":1.0},"88":{"tf":1.0},"93":{"tf":1.0},"97":{"tf":1.0}}}}},"df":0,"docs":{}}}},"y":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"t":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":1,"docs":{"124":{"tf":1.0}}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"m":{"df":2,"docs":{"107":{"tf":1.0},"26":{"tf":1.0}}}}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"69":{"tf":1.0}}}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":7,"docs":{"11":{"tf":1.0},"14":{"tf":1.0},"28":{"tf":1.0},"4":{"tf":1.0},"7":{"tf":1.0},"8":{"tf":1.0},"96":{"tf":1.0}}}}},"r":{"a":{"df":0,"docs":{},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"53":{"tf":1.0}}}}}}},"df":0,"docs":{}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":1,"docs":{"57":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":0,"docs":{},"l":{"df":1,"docs":{"85":{"tf":1.0}}}}}},"df":0,"docs":{}}},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":1,"docs":{"52":{"tf":1.0}}}}}}}},"u":{"df":0,"docs":{},"s":{"df":1,"docs":{"41":{"tf":1.0}}}},"v":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":2,"docs":{"41":{"tf":1.0},"75":{"tf":1.0}}}},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":1,"docs":{"39":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"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":{"2":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"l":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":1,"docs":{"137":{"tf":1.0}}}}}}},"w":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"k":{"df":3,"docs":{"89":{"tf":1.0},"92":{"tf":1.0},"94":{"tf":1.0}}}},"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/solid-sim-tutorial/.gitignore b/solid-sim-tutorial/.gitignore new file mode 100644 index 0000000..687ca37 --- /dev/null +++ b/solid-sim-tutorial/.gitignore @@ -0,0 +1,4 @@ +.DS_Store +test.py +*.pyc +output/ \ No newline at end of file diff --git a/solid-sim-tutorial/1_mass_spring/InertiaEnergy.py b/solid-sim-tutorial/1_mass_spring/InertiaEnergy.py new file mode 100644 index 0000000..42f89aa --- /dev/null +++ b/solid-sim-tutorial/1_mass_spring/InertiaEnergy.py @@ -0,0 +1,23 @@ +import numpy as np + +def val(x, x_tilde, m): + sum = 0.0 + for i in range(0, len(x)): + diff = x[i] - x_tilde[i] + sum += 0.5 * m[i] * diff.dot(diff) + return sum + +def grad(x, x_tilde, m): + g = np.array([[0.0, 0.0]] * len(x)) + for i in range(0, len(x)): + g[i] = m[i] * (x[i] - x_tilde[i]) + return g + +def hess(x, x_tilde, m): + IJV = [[0] * (len(x) * 2), [0] * (len(x) * 2), np.array([0.0] * (len(x) * 2))] + for i in range(0, len(x)): + for d in range(0, 2): + IJV[0][i * 2 + d] = i * 2 + d + IJV[1][i * 2 + d] = i * 2 + d + IJV[2][i * 2 + d] = m[i] + return IJV \ No newline at end of file diff --git a/solid-sim-tutorial/1_mass_spring/MassSpringEnergy.py b/solid-sim-tutorial/1_mass_spring/MassSpringEnergy.py new file mode 100644 index 0000000..dd0679a --- /dev/null +++ b/solid-sim-tutorial/1_mass_spring/MassSpringEnergy.py @@ -0,0 +1,35 @@ +import numpy as np +import utils + +def val(x, e, l2, k): + sum = 0.0 + for i in range(0, len(e)): + diff = x[e[i][0]] - x[e[i][1]] + sum += l2[i] * 0.5 * k[i] * (diff.dot(diff) / l2[i] - 1) ** 2 + return sum + +def grad(x, e, l2, k): + g = np.array([[0.0, 0.0]] * len(x)) + for i in range(0, len(e)): + diff = x[e[i][0]] - x[e[i][1]] + g_diff = 2 * k[i] * (diff.dot(diff) / l2[i] - 1) * diff + g[e[i][0]] += g_diff + g[e[i][1]] -= g_diff + return g + +def hess(x, e, l2, k): + IJV = [[0] * (len(e) * 16), [0] * (len(e) * 16), np.array([0.0] * (len(e) * 16))] + for i in range(0, len(e)): + diff = x[e[i][0]] - x[e[i][1]] + H_diff = 2 * k[i] / l2[i] * (2 * np.outer(diff, diff) + (diff.dot(diff) - l2[i]) * np.identity(2)) + H_local = utils.make_PSD(np.block([[H_diff, -H_diff], [-H_diff, H_diff]])) + # add to global matrix + for nI in range(0, 2): + for nJ in range(0, 2): + indStart = i * 16 + (nI * 2 + nJ) * 4 + for r in range(0, 2): + for c in range(0, 2): + IJV[0][indStart + r * 2 + c] = e[i][nI] * 2 + r + IJV[1][indStart + r * 2 + c] = e[i][nJ] * 2 + c + IJV[2][indStart + r * 2 + c] = H_local[nI * 2 + r, nJ * 2 + c] + return IJV \ No newline at end of file diff --git a/solid-sim-tutorial/1_mass_spring/simulator.py b/solid-sim-tutorial/1_mass_spring/simulator.py new file mode 100755 index 0000000..99e4cdd --- /dev/null +++ b/solid-sim-tutorial/1_mass_spring/simulator.py @@ -0,0 +1,66 @@ +# Mass-Spring Solids Simulation + +import numpy as np # numpy for linear algebra +import pygame # pygame for visualization +pygame.init() + +import square_mesh # square mesh +import time_integrator + +# simulation setup +side_len = 1 +rho = 1000 # density of square +k = 1e5 # spring stiffness +initial_stretch = 1.4 +n_seg = 4 # num of segments per side of the square +h = 0.004 # time step size in s + +# initialize simulation +[x, e] = square_mesh.generate(side_len, n_seg) # node positions and edge node indices +v = np.array([[0.0, 0.0]] * len(x)) # velocity +m = [rho * side_len * side_len / ((n_seg + 1) * (n_seg + 1))] * len(x) # calculate node mass evenly +# rest length squared +l2 = [] +for i in range(0, len(e)): + diff = x[e[i][0]] - x[e[i][1]] + l2.append(diff.dot(diff)) +k = [k] * len(e) # spring stiffness +# apply initial stretch horizontally +for i in range(0, len(x)): + x[i][0] *= initial_stretch + +# simulation with visualization +resolution = np.array([900, 900]) +offset = resolution / 2 +scale = 200 +def screen_projection(x): + return [offset[0] + scale * x[0], resolution[1] - (offset[1] + scale * x[1])] + +time_step = 0 +square_mesh.write_to_file(time_step, x, n_seg) +screen = pygame.display.set_mode(resolution) +running = True +while running: + # run until the user asks to quit + for event in pygame.event.get(): + if event.type == pygame.QUIT: + running = False + + print('### Time step', time_step, '###') + + # fill the background and draw the square + screen.fill((255, 255, 255)) + for eI in e: + pygame.draw.aaline(screen, (0, 0, 255), screen_projection(x[eI[0]]), screen_projection(x[eI[1]])) + for xI in x: + pygame.draw.circle(screen, (0, 0, 255), screen_projection(xI), 0.1 * side_len / n_seg * scale) + + pygame.display.flip() # flip the display + + # step forward simulation and wait for screen refresh + [x, v] = time_integrator.step_forward(x, e, v, m, l2, k, h, 1e-2) + time_step += 1 + pygame.time.wait(int(h * 1000)) + square_mesh.write_to_file(time_step, x, n_seg) + +pygame.quit() \ No newline at end of file diff --git a/solid-sim-tutorial/1_mass_spring/square_mesh.py b/solid-sim-tutorial/1_mass_spring/square_mesh.py new file mode 100644 index 0000000..daee043 --- /dev/null +++ b/solid-sim-tutorial/1_mass_spring/square_mesh.py @@ -0,0 +1,50 @@ +# ANCHOR: generate +import numpy as np +import os + +def generate(side_length, n_seg): + # sample nodes uniformly on a square + x = np.array([[0.0, 0.0]] * ((n_seg + 1) ** 2)) + step = side_length / n_seg + for i in range(0, n_seg + 1): + for j in range(0, n_seg + 1): + x[i * (n_seg + 1) + j] = [-side_length / 2 + i * step, -side_length / 2 + j * step] + + # connect the nodes with edges + e = [] + # horizontal edges + for i in range(0, n_seg): + for j in range(0, n_seg + 1): + e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j]) + # vertical edges + for i in range(0, n_seg + 1): + for j in range(0, n_seg): + e.append([i * (n_seg + 1) + j, i * (n_seg + 1) + j + 1]) + # diagonals + for i in range(0, n_seg): + for j in range(0, n_seg): + e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j + 1]) + e.append([(i + 1) * (n_seg + 1) + j, i * (n_seg + 1) + j + 1]) + + return [x, e] +# ANCHOR_END: generate + +# ANCHOR: write_to_file +def write_to_file(frameNum, x, n_seg): + # Check if 'output' directory exists; if not, create it + if not os.path.exists('output'): + os.makedirs('output') + + # create obj file + filename = f"output/{frameNum}.obj" + with open(filename, 'w') as f: + # write vertex coordinates + for row in x: + f.write(f"v {float(row[0]):.6f} {float(row[1]):.6f} 0.0\n") + # write vertex indices for each triangle + for i in range(0, n_seg): + for j in range(0, n_seg): + #NOTE: each cell is exported as 2 triangles for rendering + f.write(f"f {i * (n_seg+1) + j + 1} {(i+1) * (n_seg+1) + j + 1} {(i+1) * (n_seg+1) + j+1 + 1}\n") + f.write(f"f {i * (n_seg+1) + j + 1} {(i+1) * (n_seg+1) + j+1 + 1} {i * (n_seg+1) + j+1 + 1}\n") +# ANCHOR_END: write_to_file \ No newline at end of file diff --git a/solid-sim-tutorial/1_mass_spring/time_integrator.py b/solid-sim-tutorial/1_mass_spring/time_integrator.py new file mode 100644 index 0000000..6d2fe20 --- /dev/null +++ b/solid-sim-tutorial/1_mass_spring/time_integrator.py @@ -0,0 +1,55 @@ +import copy +from cmath import inf + +import numpy as np +import numpy.linalg as LA +import scipy.sparse as sparse +from scipy.sparse.linalg import spsolve + +import InertiaEnergy +import MassSpringEnergy + +def step_forward(x, e, v, m, l2, k, h, tol): + x_tilde = x + v * h # implicit Euler predictive position + x_n = copy.deepcopy(x) + + # Newton loop + iter = 0 + E_last = IP_val(x, e, x_tilde, m, l2, k, h) + p = search_dir(x, e, x_tilde, m, l2, k, h) + while LA.norm(p, inf) / h > tol: + print('Iteration', iter, ':') + print('residual =', LA.norm(p, inf) / h) + + # line search + alpha = 1 + while IP_val(x + alpha * p, e, x_tilde, m, l2, k, h) > E_last: + alpha /= 2 + print('step size =', alpha) + + x += alpha * p + E_last = IP_val(x, e, x_tilde, m, l2, k, h) + p = search_dir(x, e, x_tilde, m, l2, k, h) + iter += 1 + + v = (x - x_n) / h # implicit Euler velocity update + return [x, v] + +def IP_val(x, e, x_tilde, m, l2, k, h): + return InertiaEnergy.val(x, x_tilde, m) + h * h * MassSpringEnergy.val(x, e, l2, k) # implicit Euler + +def IP_grad(x, e, x_tilde, m, l2, k, h): + return InertiaEnergy.grad(x, x_tilde, m) + h * h * MassSpringEnergy.grad(x, e, l2, k) # implicit Euler + +def IP_hess(x, e, x_tilde, m, l2, k, h): + IJV_In = InertiaEnergy.hess(x, x_tilde, m) + IJV_MS = MassSpringEnergy.hess(x, e, l2, k) + IJV_MS[2] *= h * h # implicit Euler + IJV = np.append(IJV_In, IJV_MS, axis=1) + H = sparse.coo_matrix((IJV[2], (IJV[0], IJV[1])), shape=(len(x) * 2, len(x) * 2)).tocsr() + return H + +def search_dir(x, e, x_tilde, m, l2, k, h): + projected_hess = IP_hess(x, e, x_tilde, m, l2, k, h) + reshaped_grad = IP_grad(x, e, x_tilde, m, l2, k, h).reshape(len(x) * 2, 1) + return spsolve(projected_hess, -reshaped_grad).reshape(len(x), 2) \ No newline at end of file diff --git a/solid-sim-tutorial/1_mass_spring/utils.py b/solid-sim-tutorial/1_mass_spring/utils.py new file mode 100644 index 0000000..31be49f --- /dev/null +++ b/solid-sim-tutorial/1_mass_spring/utils.py @@ -0,0 +1,9 @@ +import numpy as np +import numpy.linalg as LA + +def make_PSD(hess): + [lam, V] = LA.eigh(hess) # Eigen decomposition on symmetric matrix + # set all negative Eigenvalues to 0 + for i in range(0, len(lam)): + lam[i] = max(0, lam[i]) + return np.matmul(np.matmul(V, np.diag(lam)), np.transpose(V)) \ No newline at end of file diff --git a/solid-sim-tutorial/2_dirichlet/GravityEnergy.py b/solid-sim-tutorial/2_dirichlet/GravityEnergy.py new file mode 100644 index 0000000..dd9e0e9 --- /dev/null +++ b/solid-sim-tutorial/2_dirichlet/GravityEnergy.py @@ -0,0 +1,17 @@ +import numpy as np + +gravity = [0.0, -9.81] + +def val(x, m): + sum = 0.0 + for i in range(0, len(x)): + sum += -m[i] * x[i].dot(gravity) + return sum + +def grad(x, m): + g = np.array([gravity] * len(x)) + for i in range(0, len(x)): + g[i] *= -m[i] + return g + +# Hessian is 0 \ No newline at end of file diff --git a/solid-sim-tutorial/2_dirichlet/InertiaEnergy.py b/solid-sim-tutorial/2_dirichlet/InertiaEnergy.py new file mode 100644 index 0000000..42f89aa --- /dev/null +++ b/solid-sim-tutorial/2_dirichlet/InertiaEnergy.py @@ -0,0 +1,23 @@ +import numpy as np + +def val(x, x_tilde, m): + sum = 0.0 + for i in range(0, len(x)): + diff = x[i] - x_tilde[i] + sum += 0.5 * m[i] * diff.dot(diff) + return sum + +def grad(x, x_tilde, m): + g = np.array([[0.0, 0.0]] * len(x)) + for i in range(0, len(x)): + g[i] = m[i] * (x[i] - x_tilde[i]) + return g + +def hess(x, x_tilde, m): + IJV = [[0] * (len(x) * 2), [0] * (len(x) * 2), np.array([0.0] * (len(x) * 2))] + for i in range(0, len(x)): + for d in range(0, 2): + IJV[0][i * 2 + d] = i * 2 + d + IJV[1][i * 2 + d] = i * 2 + d + IJV[2][i * 2 + d] = m[i] + return IJV \ No newline at end of file diff --git a/solid-sim-tutorial/2_dirichlet/MassSpringEnergy.py b/solid-sim-tutorial/2_dirichlet/MassSpringEnergy.py new file mode 100644 index 0000000..dd0679a --- /dev/null +++ b/solid-sim-tutorial/2_dirichlet/MassSpringEnergy.py @@ -0,0 +1,35 @@ +import numpy as np +import utils + +def val(x, e, l2, k): + sum = 0.0 + for i in range(0, len(e)): + diff = x[e[i][0]] - x[e[i][1]] + sum += l2[i] * 0.5 * k[i] * (diff.dot(diff) / l2[i] - 1) ** 2 + return sum + +def grad(x, e, l2, k): + g = np.array([[0.0, 0.0]] * len(x)) + for i in range(0, len(e)): + diff = x[e[i][0]] - x[e[i][1]] + g_diff = 2 * k[i] * (diff.dot(diff) / l2[i] - 1) * diff + g[e[i][0]] += g_diff + g[e[i][1]] -= g_diff + return g + +def hess(x, e, l2, k): + IJV = [[0] * (len(e) * 16), [0] * (len(e) * 16), np.array([0.0] * (len(e) * 16))] + for i in range(0, len(e)): + diff = x[e[i][0]] - x[e[i][1]] + H_diff = 2 * k[i] / l2[i] * (2 * np.outer(diff, diff) + (diff.dot(diff) - l2[i]) * np.identity(2)) + H_local = utils.make_PSD(np.block([[H_diff, -H_diff], [-H_diff, H_diff]])) + # add to global matrix + for nI in range(0, 2): + for nJ in range(0, 2): + indStart = i * 16 + (nI * 2 + nJ) * 4 + for r in range(0, 2): + for c in range(0, 2): + IJV[0][indStart + r * 2 + c] = e[i][nI] * 2 + r + IJV[1][indStart + r * 2 + c] = e[i][nJ] * 2 + c + IJV[2][indStart + r * 2 + c] = H_local[nI * 2 + r, nJ * 2 + c] + return IJV \ No newline at end of file diff --git a/solid-sim-tutorial/2_dirichlet/simulator.py b/solid-sim-tutorial/2_dirichlet/simulator.py new file mode 100755 index 0000000..a226d03 --- /dev/null +++ b/solid-sim-tutorial/2_dirichlet/simulator.py @@ -0,0 +1,70 @@ +# Mass-Spring Solids Simulation + +import numpy as np # numpy for linear algebra +import pygame # pygame for visualization +pygame.init() + +import square_mesh # square mesh +import time_integrator + +# simulation setup +side_len = 1 +rho = 1000 # density of square +k = 1e3 # spring stiffness +n_seg = 4 # num of segments per side of the square +h = 0.02 # time step size in s +# ANCHOR: DBC_def +DBC = [n_seg, (n_seg + 1) * (n_seg + 1) - 1] # fix the left and right top nodes +# ANCHOR_END: DBC_def + +# initialize simulation +[x, e] = square_mesh.generate(side_len, n_seg) # node positions and edge node indices +v = np.array([[0.0, 0.0]] * len(x)) # velocity +m = [rho * side_len * side_len / ((n_seg + 1) * (n_seg + 1))] * len(x) # calculate node mass evenly +# rest length squared +l2 = [] +for i in range(0, len(e)): + diff = x[e[i][0]] - x[e[i][1]] + l2.append(diff.dot(diff)) +k = [k] * len(e) # spring stiffness +# ANCHOR: DBC_mask +# identify whether a node is Dirichlet +is_DBC = [False] * len(x) +for i in DBC: + is_DBC[i] = True +# ANCHOR_END: DBC_mask +# simulation with visualization +resolution = np.array([900, 900]) +offset = resolution / 2 +scale = 200 +def screen_projection(x): + return [offset[0] + scale * x[0], resolution[1] - (offset[1] + scale * x[1])] + +time_step = 0 +square_mesh.write_to_file(time_step, x, n_seg) +screen = pygame.display.set_mode(resolution) +running = True +while running: + # run until the user asks to quit + for event in pygame.event.get(): + if event.type == pygame.QUIT: + running = False + + print('### Time step', time_step, '###') + + # fill the background and draw the square + screen.fill((255, 255, 255)) + for eI in e: + pygame.draw.aaline(screen, (0, 0, 255), screen_projection(x[eI[0]]), screen_projection(x[eI[1]])) + for xI in x: + pygame.draw.circle(screen, (0, 0, 255), screen_projection(xI), 0.1 * side_len / n_seg * scale) + + pygame.display.flip() # flip the display + + # step forward simulation and wait for screen refresh + [x, v] = time_integrator.step_forward(x, e, v, m, l2, k, is_DBC, h, 1e-2) + time_step += 1 + pygame.time.wait(int(h * 1000)) + square_mesh.write_to_file(time_step, x, n_seg) + +pygame.quit() \ No newline at end of file diff --git a/solid-sim-tutorial/2_dirichlet/square_mesh.py b/solid-sim-tutorial/2_dirichlet/square_mesh.py new file mode 100644 index 0000000..7d329ce --- /dev/null +++ b/solid-sim-tutorial/2_dirichlet/square_mesh.py @@ -0,0 +1,46 @@ +import numpy as np +import os + +def generate(side_length, n_seg): + # sample nodes uniformly on a square + x = np.array([[0.0, 0.0]] * ((n_seg + 1) ** 2)) + step = side_length / n_seg + for i in range(0, n_seg + 1): + for j in range(0, n_seg + 1): + x[i * (n_seg + 1) + j] = [-side_length / 2 + i * step, -side_length / 2 + j * step] + + # connect the nodes with edges + e = [] + # horizontal edges + for i in range(0, n_seg): + for j in range(0, n_seg + 1): + e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j]) + # vertical edges + for i in range(0, n_seg + 1): + for j in range(0, n_seg): + e.append([i * (n_seg + 1) + j, i * (n_seg + 1) + j + 1]) + # diagonals + for i in range(0, n_seg): + for j in range(0, n_seg): + e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j + 1]) + e.append([(i + 1) * (n_seg + 1) + j, i * (n_seg + 1) + j + 1]) + + return [x, e] + +def write_to_file(frameNum, x, n_seg): + # Check if 'output' directory exists; if not, create it + if not os.path.exists('output'): + os.makedirs('output') + + # create obj file + filename = f"output/{frameNum}.obj" + with open(filename, 'w') as f: + # write vertex coordinates + for row in x: + f.write(f"v {float(row[0]):.6f} {float(row[1]):.6f} 0.0\n") + # write vertex indices for each triangle + for i in range(0, n_seg): + for j in range(0, n_seg): + #NOTE: each cell is exported as 2 triangles for rendering + f.write(f"f {i * (n_seg+1) + j + 1} {(i+1) * (n_seg+1) + j + 1} {(i+1) * (n_seg+1) + j+1 + 1}\n") + f.write(f"f {i * (n_seg+1) + j + 1} {(i+1) * (n_seg+1) + j+1 + 1} {i * (n_seg+1) + j+1 + 1}\n") \ No newline at end of file diff --git a/solid-sim-tutorial/2_dirichlet/time_integrator.py b/solid-sim-tutorial/2_dirichlet/time_integrator.py new file mode 100644 index 0000000..8a85f85 --- /dev/null +++ b/solid-sim-tutorial/2_dirichlet/time_integrator.py @@ -0,0 +1,67 @@ +import copy +from cmath import inf + +import numpy as np +import numpy.linalg as LA +import scipy.sparse as sparse +from scipy.sparse.linalg import spsolve + +import InertiaEnergy +import MassSpringEnergy +import GravityEnergy + +def step_forward(x, e, v, m, l2, k, is_DBC, h, tol): + x_tilde = x + v * h # implicit Euler predictive position + x_n = copy.deepcopy(x) + + # Newton loop + iter = 0 + E_last = IP_val(x, e, x_tilde, m, l2, k, h) + p = search_dir(x, e, x_tilde, m, l2, k, is_DBC, h) + while LA.norm(p, inf) / h > tol: + print('Iteration', iter, ':') + print('residual =', LA.norm(p, inf) / h) + + # line search + alpha = 1 + while IP_val(x + alpha * p, e, x_tilde, m, l2, k, h) > E_last: + alpha /= 2 + print('step size =', alpha) + + x += alpha * p + E_last = IP_val(x, e, x_tilde, m, l2, k, h) + p = search_dir(x, e, x_tilde, m, l2, k, is_DBC, h) + iter += 1 + + v = (x - x_n) / h # implicit Euler velocity update + return [x, v] + +# ANCHOR: ADDING_GRAVITY +def IP_val(x, e, x_tilde, m, l2, k, h): + return InertiaEnergy.val(x, x_tilde, m) + h * h * (MassSpringEnergy.val(x, e, l2, k) + GravityEnergy.val(x, m)) # implicit Euler + +def IP_grad(x, e, x_tilde, m, l2, k, h): + return InertiaEnergy.grad(x, x_tilde, m) + h * h * (MassSpringEnergy.grad(x, e, l2, k) + GravityEnergy.grad(x, m)) # implicit Euler +# ANCHOR_END: ADDING_GRAVITY + +def IP_hess(x, e, x_tilde, m, l2, k, h): + IJV_In = InertiaEnergy.hess(x, x_tilde, m) + IJV_MS = MassSpringEnergy.hess(x, e, l2, k) + IJV_MS[2] *= h * h # implicit Euler + IJV = np.append(IJV_In, IJV_MS, axis=1) + H = sparse.coo_matrix((IJV[2], (IJV[0], IJV[1])), shape=(len(x) * 2, len(x) * 2)).tocsr() + return H + +# ANCHOR: search_dir +def search_dir(x, e, x_tilde, m, l2, k, is_DBC, h): + projected_hess = IP_hess(x, e, x_tilde, m, l2, k, h) + reshaped_grad = IP_grad(x, e, x_tilde, m, l2, k, h).reshape(len(x) * 2, 1) + # eliminate DOF by modifying gradient and Hessian for DBC: + for i, j in zip(*projected_hess.nonzero()): + if is_DBC[int(i / 2)] | is_DBC[int(j / 2)]: + projected_hess[i, j] = (i == j) + for i in range(0, len(x)): + if is_DBC[i]: + reshaped_grad[i * 2] = reshaped_grad[i * 2 + 1] = 0.0 + return spsolve(projected_hess, -reshaped_grad).reshape(len(x), 2) +#ANCHOR_END: search_dir \ No newline at end of file diff --git a/solid-sim-tutorial/2_dirichlet/utils.py b/solid-sim-tutorial/2_dirichlet/utils.py new file mode 100644 index 0000000..31be49f --- /dev/null +++ b/solid-sim-tutorial/2_dirichlet/utils.py @@ -0,0 +1,9 @@ +import numpy as np +import numpy.linalg as LA + +def make_PSD(hess): + [lam, V] = LA.eigh(hess) # Eigen decomposition on symmetric matrix + # set all negative Eigenvalues to 0 + for i in range(0, len(lam)): + lam[i] = max(0, lam[i]) + return np.matmul(np.matmul(V, np.diag(lam)), np.transpose(V)) \ No newline at end of file diff --git a/solid-sim-tutorial/3_contact/BarrierEnergy.py b/solid-sim-tutorial/3_contact/BarrierEnergy.py new file mode 100644 index 0000000..193369d --- /dev/null +++ b/solid-sim-tutorial/3_contact/BarrierEnergy.py @@ -0,0 +1,46 @@ +# ANCHOR: val_grad_hess +import math +import numpy as np + +dhat = 0.01 +kappa = 1e5 + +def val(x, y_ground, contact_area): + sum = 0.0 + for i in range(0, len(x)): + d = x[i][1] - y_ground + if d < dhat: + s = d / dhat + sum += contact_area[i] * dhat * kappa / 2 * (s - 1) * math.log(s) + return sum + +def grad(x, y_ground, contact_area): + g = np.array([[0.0, 0.0]] * len(x)) + for i in range(0, len(x)): + d = x[i][1] - y_ground + if d < dhat: + s = d / dhat + g[i][1] = contact_area[i] * dhat * (kappa / 2 * (math.log(s) / dhat + (s - 1) / d)) + return g + +def hess(x, y_ground, contact_area): + IJV = [[0] * len(x), [0] * len(x), np.array([0.0] * len(x))] + for i in range(0, len(x)): + IJV[0][i] = i * 2 + 1 + IJV[1][i] = i * 2 + 1 + d = x[i][1] - y_ground + if d < dhat: + IJV[2][i] = contact_area[i] * dhat * kappa / (2 * d * d * dhat) * (d + dhat) + else: + IJV[2][i] = 0.0 + return IJV +# ANCHOR_END: val_grad_hess + +# ANCHOR: init_step_size +def init_step_size(x, y_ground, p): + alpha = 1 + for i in range(0, len(x)): + if p[i][1] < 0: + alpha = min(alpha, 0.9 * (y_ground - x[i][1]) / p[i][1]) + return alpha +# ANCHOR_END: init_step_size \ No newline at end of file diff --git a/solid-sim-tutorial/3_contact/GravityEnergy.py b/solid-sim-tutorial/3_contact/GravityEnergy.py new file mode 100644 index 0000000..dd9e0e9 --- /dev/null +++ b/solid-sim-tutorial/3_contact/GravityEnergy.py @@ -0,0 +1,17 @@ +import numpy as np + +gravity = [0.0, -9.81] + +def val(x, m): + sum = 0.0 + for i in range(0, len(x)): + sum += -m[i] * x[i].dot(gravity) + return sum + +def grad(x, m): + g = np.array([gravity] * len(x)) + for i in range(0, len(x)): + g[i] *= -m[i] + return g + +# Hessian is 0 \ No newline at end of file diff --git a/solid-sim-tutorial/3_contact/InertiaEnergy.py b/solid-sim-tutorial/3_contact/InertiaEnergy.py new file mode 100644 index 0000000..42f89aa --- /dev/null +++ b/solid-sim-tutorial/3_contact/InertiaEnergy.py @@ -0,0 +1,23 @@ +import numpy as np + +def val(x, x_tilde, m): + sum = 0.0 + for i in range(0, len(x)): + diff = x[i] - x_tilde[i] + sum += 0.5 * m[i] * diff.dot(diff) + return sum + +def grad(x, x_tilde, m): + g = np.array([[0.0, 0.0]] * len(x)) + for i in range(0, len(x)): + g[i] = m[i] * (x[i] - x_tilde[i]) + return g + +def hess(x, x_tilde, m): + IJV = [[0] * (len(x) * 2), [0] * (len(x) * 2), np.array([0.0] * (len(x) * 2))] + for i in range(0, len(x)): + for d in range(0, 2): + IJV[0][i * 2 + d] = i * 2 + d + IJV[1][i * 2 + d] = i * 2 + d + IJV[2][i * 2 + d] = m[i] + return IJV \ No newline at end of file diff --git a/solid-sim-tutorial/3_contact/MassSpringEnergy.py b/solid-sim-tutorial/3_contact/MassSpringEnergy.py new file mode 100644 index 0000000..dd0679a --- /dev/null +++ b/solid-sim-tutorial/3_contact/MassSpringEnergy.py @@ -0,0 +1,35 @@ +import numpy as np +import utils + +def val(x, e, l2, k): + sum = 0.0 + for i in range(0, len(e)): + diff = x[e[i][0]] - x[e[i][1]] + sum += l2[i] * 0.5 * k[i] * (diff.dot(diff) / l2[i] - 1) ** 2 + return sum + +def grad(x, e, l2, k): + g = np.array([[0.0, 0.0]] * len(x)) + for i in range(0, len(e)): + diff = x[e[i][0]] - x[e[i][1]] + g_diff = 2 * k[i] * (diff.dot(diff) / l2[i] - 1) * diff + g[e[i][0]] += g_diff + g[e[i][1]] -= g_diff + return g + +def hess(x, e, l2, k): + IJV = [[0] * (len(e) * 16), [0] * (len(e) * 16), np.array([0.0] * (len(e) * 16))] + for i in range(0, len(e)): + diff = x[e[i][0]] - x[e[i][1]] + H_diff = 2 * k[i] / l2[i] * (2 * np.outer(diff, diff) + (diff.dot(diff) - l2[i]) * np.identity(2)) + H_local = utils.make_PSD(np.block([[H_diff, -H_diff], [-H_diff, H_diff]])) + # add to global matrix + for nI in range(0, 2): + for nJ in range(0, 2): + indStart = i * 16 + (nI * 2 + nJ) * 4 + for r in range(0, 2): + for c in range(0, 2): + IJV[0][indStart + r * 2 + c] = e[i][nI] * 2 + r + IJV[1][indStart + r * 2 + c] = e[i][nJ] * 2 + c + IJV[2][indStart + r * 2 + c] = H_local[nI * 2 + r, nJ * 2 + c] + return IJV \ No newline at end of file diff --git a/solid-sim-tutorial/3_contact/simulator.py b/solid-sim-tutorial/3_contact/simulator.py new file mode 100755 index 0000000..4eda748 --- /dev/null +++ b/solid-sim-tutorial/3_contact/simulator.py @@ -0,0 +1,72 @@ +# Mass-Spring Solids Simulation + +import numpy as np # numpy for linear algebra +import pygame # pygame for visualization +pygame.init() + +import square_mesh # square mesh +import time_integrator + +# simulation setup +side_len = 1 +rho = 1000 # density of square +k = 2e4 # spring stiffness +n_seg = 4 # num of segments per side of the square +h = 0.01 # time step size in s +DBC = [] # no nodes need to be fixed +y_ground = -1 # height of the planar ground + +# initialize simulation +[x, e] = square_mesh.generate(side_len, n_seg) # node positions and edge node indices +v = np.array([[0.0, 0.0]] * len(x)) # velocity +m = [rho * side_len * side_len / ((n_seg + 1) * (n_seg + 1))] * len(x) # calculate node mass evenly +# rest length squared +l2 = [] +for i in range(0, len(e)): + diff = x[e[i][0]] - x[e[i][1]] + l2.append(diff.dot(diff)) +k = [k] * len(e) # spring stiffness +# identify whether a node is Dirichlet +is_DBC = [False] * len(x) +for i in DBC: + is_DBC[i] = True +# ANCHOR: contact_area +contact_area = [side_len / n_seg] * len(x) # perimeter split to each node +# ANCHOR_END: contact_area + +# simulation with visualization +resolution = np.array([900, 900]) +offset = resolution / 2 +scale = 200 +def screen_projection(x): + return [offset[0] + scale * x[0], resolution[1] - (offset[1] + scale * x[1])] + +time_step = 0 +square_mesh.write_to_file(time_step, x, n_seg) +screen = pygame.display.set_mode(resolution) +running = True +while running: + # run until the user asks to quit + for event in pygame.event.get(): + if event.type == pygame.QUIT: + running = False + + print('### Time step', time_step, '###') + + # fill the background and draw the square + screen.fill((255, 255, 255)) + pygame.draw.aaline(screen, (0, 0, 255), screen_projection([-2, y_ground]), screen_projection([2, y_ground])) # ground + for eI in e: + pygame.draw.aaline(screen, (0, 0, 255), screen_projection(x[eI[0]]), screen_projection(x[eI[1]])) + for xI in x: + pygame.draw.circle(screen, (0, 0, 255), screen_projection(xI), 0.1 * side_len / n_seg * scale) + + pygame.display.flip() # flip the display + + # step forward simulation and wait for screen refresh + [x, v] = time_integrator.step_forward(x, e, v, m, l2, k, y_ground, contact_area, is_DBC, h, 1e-2) + time_step += 1 + pygame.time.wait(int(h * 1000)) + square_mesh.write_to_file(time_step, x, n_seg) + +pygame.quit() \ No newline at end of file diff --git a/solid-sim-tutorial/3_contact/square_mesh.py b/solid-sim-tutorial/3_contact/square_mesh.py new file mode 100644 index 0000000..7d329ce --- /dev/null +++ b/solid-sim-tutorial/3_contact/square_mesh.py @@ -0,0 +1,46 @@ +import numpy as np +import os + +def generate(side_length, n_seg): + # sample nodes uniformly on a square + x = np.array([[0.0, 0.0]] * ((n_seg + 1) ** 2)) + step = side_length / n_seg + for i in range(0, n_seg + 1): + for j in range(0, n_seg + 1): + x[i * (n_seg + 1) + j] = [-side_length / 2 + i * step, -side_length / 2 + j * step] + + # connect the nodes with edges + e = [] + # horizontal edges + for i in range(0, n_seg): + for j in range(0, n_seg + 1): + e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j]) + # vertical edges + for i in range(0, n_seg + 1): + for j in range(0, n_seg): + e.append([i * (n_seg + 1) + j, i * (n_seg + 1) + j + 1]) + # diagonals + for i in range(0, n_seg): + for j in range(0, n_seg): + e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j + 1]) + e.append([(i + 1) * (n_seg + 1) + j, i * (n_seg + 1) + j + 1]) + + return [x, e] + +def write_to_file(frameNum, x, n_seg): + # Check if 'output' directory exists; if not, create it + if not os.path.exists('output'): + os.makedirs('output') + + # create obj file + filename = f"output/{frameNum}.obj" + with open(filename, 'w') as f: + # write vertex coordinates + for row in x: + f.write(f"v {float(row[0]):.6f} {float(row[1]):.6f} 0.0\n") + # write vertex indices for each triangle + for i in range(0, n_seg): + for j in range(0, n_seg): + #NOTE: each cell is exported as 2 triangles for rendering + f.write(f"f {i * (n_seg+1) + j + 1} {(i+1) * (n_seg+1) + j + 1} {(i+1) * (n_seg+1) + j+1 + 1}\n") + f.write(f"f {i * (n_seg+1) + j + 1} {(i+1) * (n_seg+1) + j+1 + 1} {i * (n_seg+1) + j+1 + 1}\n") \ No newline at end of file diff --git a/solid-sim-tutorial/3_contact/time_integrator.py b/solid-sim-tutorial/3_contact/time_integrator.py new file mode 100644 index 0000000..ccffc21 --- /dev/null +++ b/solid-sim-tutorial/3_contact/time_integrator.py @@ -0,0 +1,69 @@ +import copy +from cmath import inf + +import numpy as np +import numpy.linalg as LA +import scipy.sparse as sparse +from scipy.sparse.linalg import spsolve + +import InertiaEnergy +import MassSpringEnergy +import GravityEnergy +import BarrierEnergy + +def step_forward(x, e, v, m, l2, k, y_ground, contact_area, is_DBC, h, tol): + x_tilde = x + v * h # implicit Euler predictive position + x_n = copy.deepcopy(x) + + # Newton loop + iter = 0 + E_last = IP_val(x, e, x_tilde, m, l2, k, y_ground, contact_area, h) + p = search_dir(x, e, x_tilde, m, l2, k, y_ground, contact_area, is_DBC, h) + while LA.norm(p, inf) / h > tol: + print('Iteration', iter, ':') + print('residual =', LA.norm(p, inf) / h) + + # ANCHOR: filter_ls + # filter line search + alpha = BarrierEnergy.init_step_size(x, y_ground, p) # avoid interpenetration and tunneling + while IP_val(x + alpha * p, e, x_tilde, m, l2, k, y_ground, contact_area, h) > E_last: + alpha /= 2 + # ANCHOR_END: filter_ls + print('step size =', alpha) + + x += alpha * p + E_last = IP_val(x, e, x_tilde, m, l2, k, y_ground, contact_area, h) + p = search_dir(x, e, x_tilde, m, l2, k, y_ground, contact_area, is_DBC, h) + iter += 1 + + v = (x - x_n) / h # implicit Euler velocity update + return [x, v] + +def IP_val(x, e, x_tilde, m, l2, k, y_ground, contact_area, h): + return InertiaEnergy.val(x, x_tilde, m) + h * h * (MassSpringEnergy.val(x, e, l2, k) + GravityEnergy.val(x, m) + BarrierEnergy.val(x, y_ground, contact_area)) # implicit Euler + +def IP_grad(x, e, x_tilde, m, l2, k, y_ground, contact_area, h): + return InertiaEnergy.grad(x, x_tilde, m) + h * h * (MassSpringEnergy.grad(x, e, l2, k) + GravityEnergy.grad(x, m) + BarrierEnergy.grad(x, y_ground, contact_area)) # implicit Euler + +def IP_hess(x, e, x_tilde, m, l2, k, y_ground, contact_area, h): + IJV_In = InertiaEnergy.hess(x, x_tilde, m) + IJV_MS = MassSpringEnergy.hess(x, e, l2, k) + IJV_B = BarrierEnergy.hess(x, y_ground, contact_area) + IJV_MS[2] *= h * h # implicit Euler + IJV_B[2] *= h * h # implicit Euler + IJV_In_MS = np.append(IJV_In, IJV_MS, axis=1) + IJV = np.append(IJV_In_MS, IJV_B, axis=1) + H = sparse.coo_matrix((IJV[2], (IJV[0], IJV[1])), shape=(len(x) * 2, len(x) * 2)).tocsr() + return H + +def search_dir(x, e, x_tilde, m, l2, k, y_ground, contact_area, is_DBC, h): + projected_hess = IP_hess(x, e, x_tilde, m, l2, k, y_ground, contact_area, h) + reshaped_grad = IP_grad(x, e, x_tilde, m, l2, k, y_ground, contact_area, h).reshape(len(x) * 2, 1) + # eliminate DOF by modifying gradient and Hessian for DBC: + for i, j in zip(*projected_hess.nonzero()): + if is_DBC[int(i / 2)] | is_DBC[int(j / 2)]: + projected_hess[i, j] = (i == j) + for i in range(0, len(x)): + if is_DBC[i]: + reshaped_grad[i * 2] = reshaped_grad[i * 2 + 1] = 0.0 + return spsolve(projected_hess, -reshaped_grad).reshape(len(x), 2) \ No newline at end of file diff --git a/solid-sim-tutorial/3_contact/utils.py b/solid-sim-tutorial/3_contact/utils.py new file mode 100644 index 0000000..31be49f --- /dev/null +++ b/solid-sim-tutorial/3_contact/utils.py @@ -0,0 +1,9 @@ +import numpy as np +import numpy.linalg as LA + +def make_PSD(hess): + [lam, V] = LA.eigh(hess) # Eigen decomposition on symmetric matrix + # set all negative Eigenvalues to 0 + for i in range(0, len(lam)): + lam[i] = max(0, lam[i]) + return np.matmul(np.matmul(V, np.diag(lam)), np.transpose(V)) \ No newline at end of file diff --git a/solid-sim-tutorial/4_friction/BarrierEnergy.py b/solid-sim-tutorial/4_friction/BarrierEnergy.py new file mode 100644 index 0000000..0ff2468 --- /dev/null +++ b/solid-sim-tutorial/4_friction/BarrierEnergy.py @@ -0,0 +1,59 @@ +# ANCHOR: slope_barrier +import math +import numpy as np + +dhat = 0.01 +kappa = 1e5 + +def val(x, n, o, contact_area): + sum = 0.0 + for i in range(0, len(x)): + d = n.dot(x[i] - o) + if d < dhat: + s = d / dhat + sum += contact_area[i] * dhat * kappa / 2 * (s - 1) * math.log(s) + return sum + +def grad(x, n, o, contact_area): + g = np.array([[0.0, 0.0]] * len(x)) + for i in range(0, len(x)): + d = n.dot(x[i] - o) + if d < dhat: + s = d / dhat + g[i] = contact_area[i] * dhat * (kappa / 2 * (math.log(s) / dhat + (s - 1) / d)) * n + return g + +def hess(x, n, o, contact_area): + IJV = [[0] * 0, [0] * 0, np.array([0.0] * 0)] + for i in range(0, len(x)): + d = n.dot(x[i] - o) + if d < dhat: + local_hess = contact_area[i] * dhat * kappa / (2 * d * d * dhat) * (d + dhat) * np.outer(n, n) + for c in range(0, 2): + for r in range(0, 2): + IJV[0].append(i * 2 + r) + IJV[1].append(i * 2 + c) + IJV[2] = np.append(IJV[2], local_hess[r, c]) + return IJV +# ANCHOR_END: slope_barrier + +# ANCHOR: init_step_size +def init_step_size(x, n, o, p): + alpha = 1 + for i in range(0, len(x)): + p_n = p[i].dot(n) + if p_n < 0: + alpha = min(alpha, 0.9 * n.dot(x[i] - o) / -p_n) + return alpha +# ANCHOR_END: init_step_size + +# ANCHOR: compute_mu_lambda +def compute_mu_lambda(x, n, o, contact_area, mu): + mu_lambda = np.array([0.0] * len(x)) + for i in range(0, len(x)): + d = n.dot(x[i] - o) + if d < dhat: + s = d / dhat + mu_lambda[i] = mu * -contact_area[i] * dhat * (kappa / 2 * (math.log(s) / dhat + (s - 1) / d)) + return mu_lambda +# ANCHOR_END: compute_mu_lambda \ No newline at end of file diff --git a/solid-sim-tutorial/4_friction/FrictionEnergy.py b/solid-sim-tutorial/4_friction/FrictionEnergy.py new file mode 100644 index 0000000..bca7271 --- /dev/null +++ b/solid-sim-tutorial/4_friction/FrictionEnergy.py @@ -0,0 +1,64 @@ +# ANCHOR: f_terms +import numpy as np +import utils + +epsv = 1e-3 + +def f0(vbarnorm, epsv, hhat): + if vbarnorm >= epsv: + return vbarnorm * hhat + else: + vbarnormhhat = vbarnorm * hhat + epsvhhat = epsv * hhat + return vbarnormhhat * vbarnormhhat * (-vbarnormhhat / 3.0 + epsvhhat) / (epsvhhat * epsvhhat) + epsvhhat / 3.0 + +def f1_div_vbarnorm(vbarnorm, epsv): + if vbarnorm >= epsv: + return 1.0 / vbarnorm + else: + return (-vbarnorm + 2.0 * epsv) / (epsv * epsv) + +def f_hess_term(vbarnorm, epsv): + if vbarnorm >= epsv: + return -1.0 / (vbarnorm * vbarnorm) + else: + return -1.0 / (epsv * epsv) +# ANCHOR_END: f_terms + +# ANCHOR: val_grad_hess +def val(v, mu_lambda, hhat, n): + sum = 0.0 + T = np.identity(2) - np.outer(n, n) # tangent of slope is constant + for i in range(0, len(v)): + if mu_lambda[i] > 0: + vbar = np.transpose(T).dot(v[i]) + sum += mu_lambda[i] * f0(np.linalg.norm(vbar), epsv, hhat) + return sum + +def grad(v, mu_lambda, hhat, n): + g = np.array([[0.0, 0.0]] * len(v)) + T = np.identity(2) - np.outer(n, n) # tangent of slope is constant + for i in range(0, len(v)): + if mu_lambda[i] > 0: + vbar = np.transpose(T).dot(v[i]) + g[i] = mu_lambda[i] * f1_div_vbarnorm(np.linalg.norm(vbar), epsv) * T.dot(vbar) + return g + +def hess(v, mu_lambda, hhat, n): + IJV = [[0] * 0, [0] * 0, np.array([0.0] * 0)] + T = np.identity(2) - np.outer(n, n) # tangent of slope is constant + for i in range(0, len(v)): + if mu_lambda[i] > 0: + vbar = np.transpose(T).dot(v[i]) + vbarnorm = np.linalg.norm(vbar) + inner_term = f1_div_vbarnorm(vbarnorm, epsv) * np.identity(2) + if vbarnorm != 0: + inner_term += f_hess_term(vbarnorm, epsv) / vbarnorm * np.outer(vbar, vbar) + local_hess = mu_lambda[i] * T.dot(utils.make_PSD(inner_term)).dot(np.transpose(T)) / hhat + for c in range(0, 2): + for r in range(0, 2): + IJV[0].append(i * 2 + r) + IJV[1].append(i * 2 + c) + IJV[2] = np.append(IJV[2], local_hess[r, c]) + return IJV +# ANCHOR_END: val_grad_hess \ No newline at end of file diff --git a/solid-sim-tutorial/4_friction/GravityEnergy.py b/solid-sim-tutorial/4_friction/GravityEnergy.py new file mode 100644 index 0000000..dd9e0e9 --- /dev/null +++ b/solid-sim-tutorial/4_friction/GravityEnergy.py @@ -0,0 +1,17 @@ +import numpy as np + +gravity = [0.0, -9.81] + +def val(x, m): + sum = 0.0 + for i in range(0, len(x)): + sum += -m[i] * x[i].dot(gravity) + return sum + +def grad(x, m): + g = np.array([gravity] * len(x)) + for i in range(0, len(x)): + g[i] *= -m[i] + return g + +# Hessian is 0 \ No newline at end of file diff --git a/solid-sim-tutorial/4_friction/InertiaEnergy.py b/solid-sim-tutorial/4_friction/InertiaEnergy.py new file mode 100644 index 0000000..42f89aa --- /dev/null +++ b/solid-sim-tutorial/4_friction/InertiaEnergy.py @@ -0,0 +1,23 @@ +import numpy as np + +def val(x, x_tilde, m): + sum = 0.0 + for i in range(0, len(x)): + diff = x[i] - x_tilde[i] + sum += 0.5 * m[i] * diff.dot(diff) + return sum + +def grad(x, x_tilde, m): + g = np.array([[0.0, 0.0]] * len(x)) + for i in range(0, len(x)): + g[i] = m[i] * (x[i] - x_tilde[i]) + return g + +def hess(x, x_tilde, m): + IJV = [[0] * (len(x) * 2), [0] * (len(x) * 2), np.array([0.0] * (len(x) * 2))] + for i in range(0, len(x)): + for d in range(0, 2): + IJV[0][i * 2 + d] = i * 2 + d + IJV[1][i * 2 + d] = i * 2 + d + IJV[2][i * 2 + d] = m[i] + return IJV \ No newline at end of file diff --git a/solid-sim-tutorial/4_friction/MassSpringEnergy.py b/solid-sim-tutorial/4_friction/MassSpringEnergy.py new file mode 100644 index 0000000..dd0679a --- /dev/null +++ b/solid-sim-tutorial/4_friction/MassSpringEnergy.py @@ -0,0 +1,35 @@ +import numpy as np +import utils + +def val(x, e, l2, k): + sum = 0.0 + for i in range(0, len(e)): + diff = x[e[i][0]] - x[e[i][1]] + sum += l2[i] * 0.5 * k[i] * (diff.dot(diff) / l2[i] - 1) ** 2 + return sum + +def grad(x, e, l2, k): + g = np.array([[0.0, 0.0]] * len(x)) + for i in range(0, len(e)): + diff = x[e[i][0]] - x[e[i][1]] + g_diff = 2 * k[i] * (diff.dot(diff) / l2[i] - 1) * diff + g[e[i][0]] += g_diff + g[e[i][1]] -= g_diff + return g + +def hess(x, e, l2, k): + IJV = [[0] * (len(e) * 16), [0] * (len(e) * 16), np.array([0.0] * (len(e) * 16))] + for i in range(0, len(e)): + diff = x[e[i][0]] - x[e[i][1]] + H_diff = 2 * k[i] / l2[i] * (2 * np.outer(diff, diff) + (diff.dot(diff) - l2[i]) * np.identity(2)) + H_local = utils.make_PSD(np.block([[H_diff, -H_diff], [-H_diff, H_diff]])) + # add to global matrix + for nI in range(0, 2): + for nJ in range(0, 2): + indStart = i * 16 + (nI * 2 + nJ) * 4 + for r in range(0, 2): + for c in range(0, 2): + IJV[0][indStart + r * 2 + c] = e[i][nI] * 2 + r + IJV[1][indStart + r * 2 + c] = e[i][nJ] * 2 + c + IJV[2][indStart + r * 2 + c] = H_local[nI * 2 + r, nJ * 2 + c] + return IJV \ No newline at end of file diff --git a/solid-sim-tutorial/4_friction/simulator.py b/solid-sim-tutorial/4_friction/simulator.py new file mode 100755 index 0000000..35e4440 --- /dev/null +++ b/solid-sim-tutorial/4_friction/simulator.py @@ -0,0 +1,80 @@ +# Mass-Spring Solids Simulation + +import numpy as np # numpy for linear algebra +import pygame # pygame for visualization +pygame.init() + +import square_mesh # square mesh +import time_integrator + +# simulation setup +side_len = 1 +rho = 1000 # density of square +k = 2e4 # spring stiffness +n_seg = 4 # num of segments per side of the square +h = 0.01 # time step size in s +DBC = [] # no nodes need to be fixed +# ANCHOR: slope_setup +ground_n = np.array([0.1, 1.0]) # normal of the slope +ground_n /= np.linalg.norm(ground_n) # normalize ground normal vector just in case +ground_o = np.array([0.0, -1.0]) # a point on the slope +# ANCHOR_END: slope_setup +# ANCHOR: set_mu +mu = 0.11 # friction coefficient of the slope +# ANCHOR_END: set_mu + +# initialize simulation +[x, e] = square_mesh.generate(side_len, n_seg) # node positions and edge node indices +v = np.array([[0.0, 0.0]] * len(x)) # velocity +m = [rho * side_len * side_len / ((n_seg + 1) * (n_seg + 1))] * len(x) # calculate node mass evenly +# rest length squared +l2 = [] +for i in range(0, len(e)): + diff = x[e[i][0]] - x[e[i][1]] + l2.append(diff.dot(diff)) +k = [k] * len(e) # spring stiffness +# identify whether a node is Dirichlet +is_DBC = [False] * len(x) +for i in DBC: + is_DBC[i] = True +contact_area = [side_len / n_seg] * len(x) # perimeter split to each node + +# simulation with visualization +resolution = np.array([900, 900]) +offset = resolution / 2 +scale = 200 +def screen_projection(x): + return [offset[0] + scale * x[0], resolution[1] - (offset[1] + scale * x[1])] + +time_step = 0 +square_mesh.write_to_file(time_step, x, n_seg) +screen = pygame.display.set_mode(resolution) +running = True +while running: + # run until the user asks to quit + for event in pygame.event.get(): + if event.type == pygame.QUIT: + running = False + + print('### Time step', time_step, '###') + + # fill the background and draw the square + screen.fill((255, 255, 255)) + # ANCHOR: slope_vis + pygame.draw.aaline(screen, (0, 0, 255), screen_projection([ground_o[0] - 3.0 * ground_n[1], ground_o[1] + 3.0 * ground_n[0]]), + screen_projection([ground_o[0] + 3.0 * ground_n[1], ground_o[1] - 3.0 * ground_n[0]])) # slope + # ANCHOR_END: slope_vis + for eI in e: + pygame.draw.aaline(screen, (0, 0, 255), screen_projection(x[eI[0]]), screen_projection(x[eI[1]])) + for xI in x: + pygame.draw.circle(screen, (0, 0, 255), screen_projection(xI), 0.1 * side_len / n_seg * scale) + + pygame.display.flip() # flip the display + + # step forward simulation and wait for screen refresh + [x, v] = time_integrator.step_forward(x, e, v, m, l2, k, ground_n, ground_o, contact_area, mu, is_DBC, h, 1e-2) + time_step += 1 + pygame.time.wait(int(h * 1000)) + square_mesh.write_to_file(time_step, x, n_seg) + +pygame.quit() \ No newline at end of file diff --git a/solid-sim-tutorial/4_friction/square_mesh.py b/solid-sim-tutorial/4_friction/square_mesh.py new file mode 100644 index 0000000..7d329ce --- /dev/null +++ b/solid-sim-tutorial/4_friction/square_mesh.py @@ -0,0 +1,46 @@ +import numpy as np +import os + +def generate(side_length, n_seg): + # sample nodes uniformly on a square + x = np.array([[0.0, 0.0]] * ((n_seg + 1) ** 2)) + step = side_length / n_seg + for i in range(0, n_seg + 1): + for j in range(0, n_seg + 1): + x[i * (n_seg + 1) + j] = [-side_length / 2 + i * step, -side_length / 2 + j * step] + + # connect the nodes with edges + e = [] + # horizontal edges + for i in range(0, n_seg): + for j in range(0, n_seg + 1): + e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j]) + # vertical edges + for i in range(0, n_seg + 1): + for j in range(0, n_seg): + e.append([i * (n_seg + 1) + j, i * (n_seg + 1) + j + 1]) + # diagonals + for i in range(0, n_seg): + for j in range(0, n_seg): + e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j + 1]) + e.append([(i + 1) * (n_seg + 1) + j, i * (n_seg + 1) + j + 1]) + + return [x, e] + +def write_to_file(frameNum, x, n_seg): + # Check if 'output' directory exists; if not, create it + if not os.path.exists('output'): + os.makedirs('output') + + # create obj file + filename = f"output/{frameNum}.obj" + with open(filename, 'w') as f: + # write vertex coordinates + for row in x: + f.write(f"v {float(row[0]):.6f} {float(row[1]):.6f} 0.0\n") + # write vertex indices for each triangle + for i in range(0, n_seg): + for j in range(0, n_seg): + #NOTE: each cell is exported as 2 triangles for rendering + f.write(f"f {i * (n_seg+1) + j + 1} {(i+1) * (n_seg+1) + j + 1} {(i+1) * (n_seg+1) + j+1 + 1}\n") + f.write(f"f {i * (n_seg+1) + j + 1} {(i+1) * (n_seg+1) + j+1 + 1} {i * (n_seg+1) + j+1 + 1}\n") \ No newline at end of file diff --git a/solid-sim-tutorial/4_friction/time_integrator.py b/solid-sim-tutorial/4_friction/time_integrator.py new file mode 100644 index 0000000..07dd906 --- /dev/null +++ b/solid-sim-tutorial/4_friction/time_integrator.py @@ -0,0 +1,74 @@ +import copy +from cmath import inf + +import numpy as np +import numpy.linalg as LA +import scipy.sparse as sparse +from scipy.sparse.linalg import spsolve + +import InertiaEnergy +import MassSpringEnergy +import GravityEnergy +import BarrierEnergy +import FrictionEnergy + +# ANCHOR: mu_lambda +def step_forward(x, e, v, m, l2, k, n, o, contact_area, mu, is_DBC, h, tol): + x_tilde = x + v * h # implicit Euler predictive position + x_n = copy.deepcopy(x) + mu_lambda = BarrierEnergy.compute_mu_lambda(x, n, o, contact_area, mu) # compute mu * lambda for each node using x^n + + # Newton loop +# ANCHOR_END: mu_lambda + iter = 0 + E_last = IP_val(x, e, x_tilde, m, l2, k, n, o, contact_area, (x - x_n) / h, mu_lambda, h) + p = search_dir(x, e, x_tilde, m, l2, k, n, o, contact_area, (x - x_n) / h, mu_lambda, is_DBC, h) + while LA.norm(p, inf) / h > tol: + print('Iteration', iter, ':') + print('residual =', LA.norm(p, inf) / h) + + # filter line search + alpha = BarrierEnergy.init_step_size(x, n, o, p) # avoid interpenetration and tunneling + while IP_val(x + alpha * p, e, x_tilde, m, l2, k, n, o, contact_area, (x + alpha * p - x_n) / h, mu_lambda, h) > E_last: + alpha /= 2 + print('step size =', alpha) + + x += alpha * p + E_last = IP_val(x, e, x_tilde, m, l2, k, n, o, contact_area, (x - x_n) / h, mu_lambda, h) + p = search_dir(x, e, x_tilde, m, l2, k, n, o, contact_area, (x - x_n) / h, mu_lambda, is_DBC, h) + iter += 1 + + v = (x - x_n) / h # implicit Euler velocity update + return [x, v] + +def IP_val(x, e, x_tilde, m, l2, k, n, o, contact_area, v, mu_lambda, h): + return InertiaEnergy.val(x, x_tilde, m) + h * h * (MassSpringEnergy.val(x, e, l2, k) + GravityEnergy.val(x, m) + BarrierEnergy.val(x, n, o, contact_area) + FrictionEnergy.val(v, mu_lambda, h, n)) # implicit Euler + +def IP_grad(x, e, x_tilde, m, l2, k, n, o, contact_area, v, mu_lambda, h): + return InertiaEnergy.grad(x, x_tilde, m) + h * h * (MassSpringEnergy.grad(x, e, l2, k) + GravityEnergy.grad(x, m) + BarrierEnergy.grad(x, n, o, contact_area) + FrictionEnergy.grad(v, mu_lambda, h, n)) # implicit Euler + +def IP_hess(x, e, x_tilde, m, l2, k, n, o, contact_area, v, mu_lambda, h): + IJV_In = InertiaEnergy.hess(x, x_tilde, m) + IJV_MS = MassSpringEnergy.hess(x, e, l2, k) + IJV_B = BarrierEnergy.hess(x, n, o, contact_area) + IJV_F = FrictionEnergy.hess(v, mu_lambda, h, n) + IJV_MS[2] *= h * h # implicit Euler + IJV_B[2] *= h * h # implicit Euler + IJV_F[2] *= h * h # implicit Euler + IJV_In_MS = np.append(IJV_In, IJV_MS, axis=1) + IJV_In_MS_B = np.append(IJV_In_MS, IJV_B, axis=1) + IJV = np.append(IJV_In_MS_B, IJV_F, axis=1) + H = sparse.coo_matrix((IJV[2], (IJV[0], IJV[1])), shape=(len(x) * 2, len(x) * 2)).tocsr() + return H + +def search_dir(x, e, x_tilde, m, l2, k, n, o, contact_area, v, mu_lambda, is_DBC, h): + projected_hess = IP_hess(x, e, x_tilde, m, l2, k, n, o, contact_area, v, mu_lambda, h) + reshaped_grad = IP_grad(x, e, x_tilde, m, l2, k, n, o, contact_area, v, mu_lambda, h).reshape(len(x) * 2, 1) + # eliminate DOF by modifying gradient and Hessian for DBC: + for i, j in zip(*projected_hess.nonzero()): + if is_DBC[int(i / 2)] | is_DBC[int(j / 2)]: + projected_hess[i, j] = (i == j) + for i in range(0, len(x)): + if is_DBC[i]: + reshaped_grad[i * 2] = reshaped_grad[i * 2 + 1] = 0.0 + return spsolve(projected_hess, -reshaped_grad).reshape(len(x), 2) \ No newline at end of file diff --git a/solid-sim-tutorial/4_friction/utils.py b/solid-sim-tutorial/4_friction/utils.py new file mode 100644 index 0000000..31be49f --- /dev/null +++ b/solid-sim-tutorial/4_friction/utils.py @@ -0,0 +1,9 @@ +import numpy as np +import numpy.linalg as LA + +def make_PSD(hess): + [lam, V] = LA.eigh(hess) # Eigen decomposition on symmetric matrix + # set all negative Eigenvalues to 0 + for i in range(0, len(lam)): + lam[i] = max(0, lam[i]) + return np.matmul(np.matmul(V, np.diag(lam)), np.transpose(V)) \ No newline at end of file diff --git a/solid-sim-tutorial/5_mov_dirichlet/BarrierEnergy.py b/solid-sim-tutorial/5_mov_dirichlet/BarrierEnergy.py new file mode 100644 index 0000000..cde9215 --- /dev/null +++ b/solid-sim-tutorial/5_mov_dirichlet/BarrierEnergy.py @@ -0,0 +1,97 @@ +import math +import numpy as np + +dhat = 0.01 +kappa = 1e5 + +def val(x, n, o, contact_area): + sum = 0.0 + # floor: + for i in range(0, len(x)): + d = n.dot(x[i] - o) + if d < dhat: + s = d / dhat + sum += contact_area[i] * dhat * kappa / 2 * (s - 1) * math.log(s) + # ANCHOR: ceiling_val + n = np.array([0.0, -1.0]) + for i in range(0, len(x) - 1): + d = n.dot(x[i] - x[-1]) + if d < dhat: + s = d / dhat + sum += contact_area[i] * dhat * kappa / 2 * (s - 1) * math.log(s) + # ANCHOR_END: ceiling_val + return sum + +def grad(x, n, o, contact_area): + g = np.array([[0.0, 0.0]] * len(x)) + # floor: + for i in range(0, len(x)): + d = n.dot(x[i] - o) + if d < dhat: + s = d / dhat + g[i] = contact_area[i] * dhat * (kappa / 2 * (math.log(s) / dhat + (s - 1) / d)) * n + # ANCHOR: ceiling_grad + n = np.array([0.0, -1.0]) + for i in range(0, len(x) - 1): + d = n.dot(x[i] - x[-1]) + if d < dhat: + s = d / dhat + local_grad = contact_area[i] * dhat * (kappa / 2 * (math.log(s) / dhat + (s - 1) / d)) * n + g[i] += local_grad + g[-1] -= local_grad + # ANCHOR_END: ceiling_grad + return g + +def hess(x, n, o, contact_area): + IJV = [[0] * 0, [0] * 0, np.array([0.0] * 0)] + # floor: + for i in range(0, len(x)): + d = n.dot(x[i] - o) + if d < dhat: + local_hess = contact_area[i] * dhat * kappa / (2 * d * d * dhat) * (d + dhat) * np.outer(n, n) + for c in range(0, 2): + for r in range(0, 2): + IJV[0].append(i * 2 + r) + IJV[1].append(i * 2 + c) + IJV[2] = np.append(IJV[2], local_hess[r, c]) + # ANCHOR: ceiling_hess + n = np.array([0.0, -1.0]) + for i in range(0, len(x) - 1): + d = n.dot(x[i] - x[-1]) + if d < dhat: + local_hess = contact_area[i] * dhat * kappa / (2 * d * d * dhat) * (d + dhat) * np.outer(n, n) + index = [i, len(x) - 1] + for nI in range(0, 2): + for nJ in range(0, 2): + for c in range(0, 2): + for r in range(0, 2): + IJV[0].append(index[nI] * 2 + r) + IJV[1].append(index[nJ] * 2 + c) + IJV[2] = np.append(IJV[2], ((-1) ** (nI != nJ)) * local_hess[r, c]) + # ANCHOR_END: ceiling_hess + return IJV + +def init_step_size(x, n, o, p): + alpha = 1 + # floor: + for i in range(0, len(x)): + p_n = p[i].dot(n) + if p_n < 0: + alpha = min(alpha, 0.9 * n.dot(x[i] - o) / -p_n) + # ANCHOR: ceiling_ccd + n = np.array([0.0, -1.0]) + for i in range(0, len(x) - 1): + p_n = (p[i] - p[-1]).dot(n) + if p_n < 0: + alpha = min(alpha, 0.9 * n.dot(x[i] - x[-1]) / -p_n) + # ANCHOR_END: ceiling_ccd + return alpha + +def compute_mu_lambda(x, n, o, contact_area, mu): + mu_lambda = np.array([0.0] * len(x)) + for i in range(0, len(x)): + d = n.dot(x[i] - o) + if d < dhat: + s = d / dhat + mu_lambda[i] = mu * -contact_area[i] * dhat * (kappa / 2 * (math.log(s) / dhat + (s - 1) / d)) + return mu_lambda \ No newline at end of file diff --git a/solid-sim-tutorial/5_mov_dirichlet/FrictionEnergy.py b/solid-sim-tutorial/5_mov_dirichlet/FrictionEnergy.py new file mode 100644 index 0000000..f62add3 --- /dev/null +++ b/solid-sim-tutorial/5_mov_dirichlet/FrictionEnergy.py @@ -0,0 +1,60 @@ +import numpy as np +import utils + +epsv = 1e-3 + +def f0(vbarnorm, epsv, hhat): + if vbarnorm >= epsv: + return vbarnorm * hhat + else: + vbarnormhhat = vbarnorm * hhat + epsvhhat = epsv * hhat + return vbarnormhhat * vbarnormhhat * (-vbarnormhhat / 3.0 + epsvhhat) / (epsvhhat * epsvhhat) + epsvhhat / 3.0 + +def f1_div_vbarnorm(vbarnorm, epsv): + if vbarnorm >= epsv: + return 1.0 / vbarnorm + else: + return (-vbarnorm + 2.0 * epsv) / (epsv * epsv) + +def f_hess_term(vbarnorm, epsv): + if vbarnorm >= epsv: + return -1.0 / (vbarnorm * vbarnorm) + else: + return -1.0 / (epsv * epsv) + +def val(v, mu_lambda, hhat, n): + sum = 0.0 + T = np.identity(2) - np.outer(n, n) # tangent of slope is constant + for i in range(0, len(v)): + if mu_lambda[i] > 0: + vbar = np.transpose(T).dot(v[i]) + sum += mu_lambda[i] * f0(np.linalg.norm(vbar), epsv, hhat) + return sum + +def grad(v, mu_lambda, hhat, n): + g = np.array([[0.0, 0.0]] * len(v)) + T = np.identity(2) - np.outer(n, n) # tangent of slope is constant + for i in range(0, len(v)): + if mu_lambda[i] > 0: + vbar = np.transpose(T).dot(v[i]) + g[i] = mu_lambda[i] * f1_div_vbarnorm(np.linalg.norm(vbar), epsv) * T.dot(vbar) + return g + +def hess(v, mu_lambda, hhat, n): + IJV = [[0] * 0, [0] * 0, np.array([0.0] * 0)] + T = np.identity(2) - np.outer(n, n) # tangent of slope is constant + for i in range(0, len(v)): + if mu_lambda[i] > 0: + vbar = np.transpose(T).dot(v[i]) + vbarnorm = np.linalg.norm(vbar) + inner_term = f1_div_vbarnorm(vbarnorm, epsv) * np.identity(2) + if vbarnorm != 0: + inner_term += f_hess_term(vbarnorm, epsv) / vbarnorm * np.outer(vbar, vbar) + local_hess = mu_lambda[i] * T.dot(utils.make_PSD(inner_term)).dot(np.transpose(T)) / hhat + for c in range(0, 2): + for r in range(0, 2): + IJV[0].append(i * 2 + r) + IJV[1].append(i * 2 + c) + IJV[2] = np.append(IJV[2], local_hess[r, c]) + return IJV \ No newline at end of file diff --git a/solid-sim-tutorial/5_mov_dirichlet/GravityEnergy.py b/solid-sim-tutorial/5_mov_dirichlet/GravityEnergy.py new file mode 100644 index 0000000..dd9e0e9 --- /dev/null +++ b/solid-sim-tutorial/5_mov_dirichlet/GravityEnergy.py @@ -0,0 +1,17 @@ +import numpy as np + +gravity = [0.0, -9.81] + +def val(x, m): + sum = 0.0 + for i in range(0, len(x)): + sum += -m[i] * x[i].dot(gravity) + return sum + +def grad(x, m): + g = np.array([gravity] * len(x)) + for i in range(0, len(x)): + g[i] *= -m[i] + return g + +# Hessian is 0 \ No newline at end of file diff --git a/solid-sim-tutorial/5_mov_dirichlet/InertiaEnergy.py b/solid-sim-tutorial/5_mov_dirichlet/InertiaEnergy.py new file mode 100644 index 0000000..42f89aa --- /dev/null +++ b/solid-sim-tutorial/5_mov_dirichlet/InertiaEnergy.py @@ -0,0 +1,23 @@ +import numpy as np + +def val(x, x_tilde, m): + sum = 0.0 + for i in range(0, len(x)): + diff = x[i] - x_tilde[i] + sum += 0.5 * m[i] * diff.dot(diff) + return sum + +def grad(x, x_tilde, m): + g = np.array([[0.0, 0.0]] * len(x)) + for i in range(0, len(x)): + g[i] = m[i] * (x[i] - x_tilde[i]) + return g + +def hess(x, x_tilde, m): + IJV = [[0] * (len(x) * 2), [0] * (len(x) * 2), np.array([0.0] * (len(x) * 2))] + for i in range(0, len(x)): + for d in range(0, 2): + IJV[0][i * 2 + d] = i * 2 + d + IJV[1][i * 2 + d] = i * 2 + d + IJV[2][i * 2 + d] = m[i] + return IJV \ No newline at end of file diff --git a/solid-sim-tutorial/5_mov_dirichlet/MassSpringEnergy.py b/solid-sim-tutorial/5_mov_dirichlet/MassSpringEnergy.py new file mode 100644 index 0000000..dd0679a --- /dev/null +++ b/solid-sim-tutorial/5_mov_dirichlet/MassSpringEnergy.py @@ -0,0 +1,35 @@ +import numpy as np +import utils + +def val(x, e, l2, k): + sum = 0.0 + for i in range(0, len(e)): + diff = x[e[i][0]] - x[e[i][1]] + sum += l2[i] * 0.5 * k[i] * (diff.dot(diff) / l2[i] - 1) ** 2 + return sum + +def grad(x, e, l2, k): + g = np.array([[0.0, 0.0]] * len(x)) + for i in range(0, len(e)): + diff = x[e[i][0]] - x[e[i][1]] + g_diff = 2 * k[i] * (diff.dot(diff) / l2[i] - 1) * diff + g[e[i][0]] += g_diff + g[e[i][1]] -= g_diff + return g + +def hess(x, e, l2, k): + IJV = [[0] * (len(e) * 16), [0] * (len(e) * 16), np.array([0.0] * (len(e) * 16))] + for i in range(0, len(e)): + diff = x[e[i][0]] - x[e[i][1]] + H_diff = 2 * k[i] / l2[i] * (2 * np.outer(diff, diff) + (diff.dot(diff) - l2[i]) * np.identity(2)) + H_local = utils.make_PSD(np.block([[H_diff, -H_diff], [-H_diff, H_diff]])) + # add to global matrix + for nI in range(0, 2): + for nJ in range(0, 2): + indStart = i * 16 + (nI * 2 + nJ) * 4 + for r in range(0, 2): + for c in range(0, 2): + IJV[0][indStart + r * 2 + c] = e[i][nI] * 2 + r + IJV[1][indStart + r * 2 + c] = e[i][nJ] * 2 + c + IJV[2][indStart + r * 2 + c] = H_local[nI * 2 + r, nJ * 2 + c] + return IJV \ No newline at end of file diff --git a/solid-sim-tutorial/5_mov_dirichlet/SpringEnergy.py b/solid-sim-tutorial/5_mov_dirichlet/SpringEnergy.py new file mode 100644 index 0000000..609e177 --- /dev/null +++ b/solid-sim-tutorial/5_mov_dirichlet/SpringEnergy.py @@ -0,0 +1,23 @@ +import numpy as np + +def val(x, m, DBC, DBC_target, k): + sum = 0.0 + for i in range(0, len(DBC)): + diff = x[DBC[i]] - DBC_target[i] + sum += 0.5 * k * m[DBC[i]] * diff.dot(diff) + return sum + +def grad(x, m, DBC, DBC_target, k): + g = np.array([[0.0, 0.0]] * len(x)) + for i in range(0, len(DBC)): + g[DBC[i]] = k * m[DBC[i]] * (x[DBC[i]] - DBC_target[i]) + return g + +def hess(x, m, DBC, DBC_target, k): + IJV = [[0] * 0, [0] * 0, np.array([0.0] * 0)] + for i in range(0, len(DBC)): + for d in range(0, 2): + IJV[0].append(DBC[i] * 2 + d) + IJV[1].append(DBC[i] * 2 + d) + IJV[2] = np.append(IJV[2], k * m[DBC[i]]) + return IJV \ No newline at end of file diff --git a/solid-sim-tutorial/5_mov_dirichlet/simulator.py b/solid-sim-tutorial/5_mov_dirichlet/simulator.py new file mode 100755 index 0000000..ff8b8fb --- /dev/null +++ b/solid-sim-tutorial/5_mov_dirichlet/simulator.py @@ -0,0 +1,84 @@ +# Mass-Spring Solids Simulation + +import numpy as np # numpy for linear algebra +import pygame # pygame for visualization +pygame.init() + +import square_mesh # square mesh +import time_integrator + +# simulation setup +side_len = 1 +rho = 1000 # density of square +k = 2e4 # spring stiffness +n_seg = 4 # num of segments per side of the square +h = 0.01 # time step size in s +# ANCHOR: ceiling_dbc_setup +DBC = [(n_seg + 1) * (n_seg + 1)] # dirichlet node index +DBC_v = [np.array([0.0, -0.5])] # dirichlet node velocity +DBC_limit = [np.array([0.0, -0.6])] # dirichlet node limit position +# ANCHOR_END: ceiling_dbc_setup +ground_n = np.array([0.0, 1.0]) # normal of the slope +ground_n /= np.linalg.norm(ground_n) # normalize ground normal vector just in case +ground_o = np.array([0.0, -1.0]) # a point on the slope +mu = 0.11 # friction coefficient of the slope + +# initialize simulation +# ANCHOR: ceiling_dof +[x, e] = square_mesh.generate(side_len, n_seg) # node positions and edge node indices +x = np.append(x, [[0.0, side_len * 0.6]], axis=0) # ceil origin (with normal [0.0, -1.0]) +# ANCHOR_END: ceiling_dof +v = np.array([[0.0, 0.0]] * len(x)) # velocity +m = [rho * side_len * side_len / ((n_seg + 1) * (n_seg + 1))] * len(x) # calculate node mass evenly +# rest length squared +l2 = [] +for i in range(0, len(e)): + diff = x[e[i][0]] - x[e[i][1]] + l2.append(diff.dot(diff)) +k = [k] * len(e) # spring stiffness +# identify whether a node is Dirichlet +is_DBC = [False] * len(x) +for i in DBC: + is_DBC[i] = True +contact_area = [side_len / n_seg] * len(x) # perimeter split to each node + +# simulation with visualization +resolution = np.array([900, 900]) +offset = resolution / 2 +scale = 200 +def screen_projection(x): + return [offset[0] + scale * x[0], resolution[1] - (offset[1] + scale * x[1])] + +time_step = 0 +square_mesh.write_to_file(time_step, x, n_seg) +screen = pygame.display.set_mode(resolution) +running = True +while running: + # run until the user asks to quit + for event in pygame.event.get(): + if event.type == pygame.QUIT: + running = False + + print('### Time step', time_step, '###') + + # fill the background and draw the square + screen.fill((255, 255, 255)) + pygame.draw.aaline(screen, (0, 0, 255), screen_projection([ground_o[0] - 3.0 * ground_n[1], ground_o[1] + 3.0 * ground_n[0]]), + screen_projection([ground_o[0] + 3.0 * ground_n[1], ground_o[1] - 3.0 * ground_n[0]])) # ground + pygame.draw.aaline(screen, (0, 0, 255), screen_projection([x[-1][0] + 3.0, x[-1][1]]), + screen_projection([x[-1][0] - 3.0, x[-1][1]])) # ceil + for eI in e: + pygame.draw.aaline(screen, (0, 0, 255), screen_projection(x[eI[0]]), screen_projection(x[eI[1]])) + for xId in range(0, len(x) - 1): + xI = x[xId] + pygame.draw.circle(screen, (0, 0, 255), screen_projection(xI), 0.1 * side_len / n_seg * scale) + + pygame.display.flip() # flip the display + + # step forward simulation and wait for screen refresh + [x, v] = time_integrator.step_forward(x, e, v, m, l2, k, ground_n, ground_o, contact_area, mu, is_DBC, DBC, DBC_v, DBC_limit, h, 1e-2) + time_step += 1 + pygame.time.wait(int(h * 1000)) + square_mesh.write_to_file(time_step, x, n_seg) + +pygame.quit() \ No newline at end of file diff --git a/solid-sim-tutorial/5_mov_dirichlet/square_mesh.py b/solid-sim-tutorial/5_mov_dirichlet/square_mesh.py new file mode 100644 index 0000000..7d329ce --- /dev/null +++ b/solid-sim-tutorial/5_mov_dirichlet/square_mesh.py @@ -0,0 +1,46 @@ +import numpy as np +import os + +def generate(side_length, n_seg): + # sample nodes uniformly on a square + x = np.array([[0.0, 0.0]] * ((n_seg + 1) ** 2)) + step = side_length / n_seg + for i in range(0, n_seg + 1): + for j in range(0, n_seg + 1): + x[i * (n_seg + 1) + j] = [-side_length / 2 + i * step, -side_length / 2 + j * step] + + # connect the nodes with edges + e = [] + # horizontal edges + for i in range(0, n_seg): + for j in range(0, n_seg + 1): + e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j]) + # vertical edges + for i in range(0, n_seg + 1): + for j in range(0, n_seg): + e.append([i * (n_seg + 1) + j, i * (n_seg + 1) + j + 1]) + # diagonals + for i in range(0, n_seg): + for j in range(0, n_seg): + e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j + 1]) + e.append([(i + 1) * (n_seg + 1) + j, i * (n_seg + 1) + j + 1]) + + return [x, e] + +def write_to_file(frameNum, x, n_seg): + # Check if 'output' directory exists; if not, create it + if not os.path.exists('output'): + os.makedirs('output') + + # create obj file + filename = f"output/{frameNum}.obj" + with open(filename, 'w') as f: + # write vertex coordinates + for row in x: + f.write(f"v {float(row[0]):.6f} {float(row[1]):.6f} 0.0\n") + # write vertex indices for each triangle + for i in range(0, n_seg): + for j in range(0, n_seg): + #NOTE: each cell is exported as 2 triangles for rendering + f.write(f"f {i * (n_seg+1) + j + 1} {(i+1) * (n_seg+1) + j + 1} {(i+1) * (n_seg+1) + j+1 + 1}\n") + f.write(f"f {i * (n_seg+1) + j + 1} {(i+1) * (n_seg+1) + j+1 + 1} {i * (n_seg+1) + j+1 + 1}\n") \ No newline at end of file diff --git a/solid-sim-tutorial/5_mov_dirichlet/time_integrator.py b/solid-sim-tutorial/5_mov_dirichlet/time_integrator.py new file mode 100644 index 0000000..d72cced --- /dev/null +++ b/solid-sim-tutorial/5_mov_dirichlet/time_integrator.py @@ -0,0 +1,110 @@ +import copy +from cmath import inf + +import numpy as np +import numpy.linalg as LA +import scipy.sparse as sparse +from scipy.sparse.linalg import spsolve + +import InertiaEnergy +import MassSpringEnergy +import GravityEnergy +import BarrierEnergy +import FrictionEnergy +import SpringEnergy + +def step_forward(x, e, v, m, l2, k, n, o, contact_area, mu, is_DBC, DBC, DBC_v, DBC_limit, h, tol): + x_tilde = x + v * h # implicit Euler predictive position + x_n = copy.deepcopy(x) + mu_lambda = BarrierEnergy.compute_mu_lambda(x, n, o, contact_area, mu) # compute mu * lambda for each node using x^n + # ANCHOR: dbc_initialization + DBC_target = [] # target position of each DBC in the current time step + for i in range(0, len(DBC)): + if (DBC_limit[i] - x_n[DBC[i]]).dot(DBC_v[i]) > 0: + DBC_target.append(x_n[DBC[i]] + h * DBC_v[i]) + else: + DBC_target.append(x_n[DBC[i]]) + DBC_stiff = 10 # initialize stiffness for DBC springs + # ANCHOR_END: dbc_initialization + + # Newton loop + iter = 0 + E_last = IP_val(x, e, x_tilde, m, l2, k, n, o, contact_area, (x - x_n) / h, mu_lambda, DBC, DBC_target, DBC_stiff, h) + # ANCHOR: convergence_criteria + [p, DBC_satisfied] = search_dir(x, e, x_tilde, m, l2, k, n, o, contact_area, (x - x_n) / h, mu_lambda, is_DBC, DBC, DBC_target, DBC_stiff, tol, h) + while (LA.norm(p, inf) / h > tol) | (sum(DBC_satisfied) != len(DBC)): # also check whether all DBCs are satisfied + print('Iteration', iter, ':') + print('residual =', LA.norm(p, inf) / h) + + if (LA.norm(p, inf) / h <= tol) & (sum(DBC_satisfied) != len(DBC)): + # increase DBC stiffness and recompute energy value record + DBC_stiff *= 2 + E_last = IP_val(x, e, x_tilde, m, l2, k, n, o, contact_area, (x - x_n) / h, mu_lambda, DBC, DBC_target, DBC_stiff, h) + # ANCHOR_END: convergence_criteria + + # filter line search + alpha = BarrierEnergy.init_step_size(x, n, o, p) # avoid interpenetration and tunneling + while IP_val(x + alpha * p, e, x_tilde, m, l2, k, n, o, contact_area, (x + alpha * p - x_n) / h, mu_lambda, DBC, DBC_target, DBC_stiff, h) > E_last: + alpha /= 2 + print('step size =', alpha) + + x += alpha * p + E_last = IP_val(x, e, x_tilde, m, l2, k, n, o, contact_area, (x - x_n) / h, mu_lambda, DBC, DBC_target, DBC_stiff, h) + [p, DBC_satisfied] = search_dir(x, e, x_tilde, m, l2, k, n, o, contact_area, (x - x_n) / h, mu_lambda, is_DBC, DBC, DBC_target, DBC_stiff, tol, h) + iter += 1 + + v = (x - x_n) / h # implicit Euler velocity update + return [x, v] + +def IP_val(x, e, x_tilde, m, l2, k, n, o, contact_area, v, mu_lambda, DBC, DBC_target, DBC_stiff, h): + return InertiaEnergy.val(x, x_tilde, m) + h * h * ( # implicit Euler + MassSpringEnergy.val(x, e, l2, k) + + GravityEnergy.val(x, m) + + BarrierEnergy.val(x, n, o, contact_area) + + FrictionEnergy.val(v, mu_lambda, h, n) + ) + SpringEnergy.val(x, m, DBC, DBC_target, DBC_stiff) + +def IP_grad(x, e, x_tilde, m, l2, k, n, o, contact_area, v, mu_lambda, DBC, DBC_target, DBC_stiff, h): + return InertiaEnergy.grad(x, x_tilde, m) + h * h * ( # implicit Euler + MassSpringEnergy.grad(x, e, l2, k) + + GravityEnergy.grad(x, m) + + BarrierEnergy.grad(x, n, o, contact_area) + + FrictionEnergy.grad(v, mu_lambda, h, n) + ) + SpringEnergy.grad(x, m, DBC, DBC_target, DBC_stiff) + +def IP_hess(x, e, x_tilde, m, l2, k, n, o, contact_area, v, mu_lambda, DBC, DBC_target, DBC_stiff, h): + IJV_In = InertiaEnergy.hess(x, x_tilde, m) + IJV_MS = MassSpringEnergy.hess(x, e, l2, k) + IJV_B = BarrierEnergy.hess(x, n, o, contact_area) + IJV_F = FrictionEnergy.hess(v, mu_lambda, h, n) + IJV_S = SpringEnergy.hess(x, m, DBC, DBC_target, DBC_stiff) + IJV_MS[2] *= h * h # implicit Euler + IJV_B[2] *= h * h # implicit Euler + IJV_F[2] *= h * h # implicit Euler + IJV_In_MS = np.append(IJV_In, IJV_MS, axis=1) + IJV_In_MS_B = np.append(IJV_In_MS, IJV_B, axis=1) + IJV_In_MS_B_F = np.append(IJV_In_MS_B, IJV_F, axis=1) + IJV = np.append(IJV_In_MS_B_F, IJV_S, axis=1) + H = sparse.coo_matrix((IJV[2], (IJV[0], IJV[1])), shape=(len(x) * 2, len(x) * 2)).tocsr() + return H + +def search_dir(x, e, x_tilde, m, l2, k, n, o, contact_area, v, mu_lambda, is_DBC, DBC, DBC_target, DBC_stiff, tol, h): + projected_hess = IP_hess(x, e, x_tilde, m, l2, k, n, o, contact_area, v, mu_lambda, DBC, DBC_target, DBC_stiff, h) + reshaped_grad = IP_grad(x, e, x_tilde, m, l2, k, n, o, contact_area, v, mu_lambda, DBC, DBC_target, DBC_stiff, h).reshape(len(x) * 2, 1) + # ANCHOR: dbc_check + # check whether each DBC is satisfied + DBC_satisfied = [False] * len(x) + for i in range(0, len(DBC)): + if LA.norm(x[DBC[i]] - DBC_target[i]) / h < tol: + DBC_satisfied[DBC[i]] = True + # ANCHOR_END: dbc_check + # ANCHOR: dof_elimination + # eliminate DOF if it's a satisfied DBC by modifying gradient and Hessian for DBC: + for i, j in zip(*projected_hess.nonzero()): + if (is_DBC[int(i / 2)] & DBC_satisfied[int(i / 2)]) | (is_DBC[int(j / 2)] & DBC_satisfied[int(i / 2)]): + projected_hess[i, j] = (i == j) + for i in range(0, len(x)): + if is_DBC[i] & DBC_satisfied[i]: + reshaped_grad[i * 2] = reshaped_grad[i * 2 + 1] = 0.0 + return [spsolve(projected_hess, -reshaped_grad).reshape(len(x), 2), DBC_satisfied] + # ANCHOR_END: dof_elimination \ No newline at end of file diff --git a/solid-sim-tutorial/5_mov_dirichlet/utils.py b/solid-sim-tutorial/5_mov_dirichlet/utils.py new file mode 100644 index 0000000..31be49f --- /dev/null +++ b/solid-sim-tutorial/5_mov_dirichlet/utils.py @@ -0,0 +1,9 @@ +import numpy as np +import numpy.linalg as LA + +def make_PSD(hess): + [lam, V] = LA.eigh(hess) # Eigen decomposition on symmetric matrix + # set all negative Eigenvalues to 0 + for i in range(0, len(lam)): + lam[i] = max(0, lam[i]) + return np.matmul(np.matmul(V, np.diag(lam)), np.transpose(V)) \ No newline at end of file diff --git a/solid-sim-tutorial/6_inv_free/BarrierEnergy.py b/solid-sim-tutorial/6_inv_free/BarrierEnergy.py new file mode 100644 index 0000000..ca81c30 --- /dev/null +++ b/solid-sim-tutorial/6_inv_free/BarrierEnergy.py @@ -0,0 +1,93 @@ +import math +import numpy as np + +dhat = 0.01 +kappa = 1e5 + +def val(x, n, o, contact_area): + sum = 0.0 + # floor: + for i in range(0, len(x)): + d = n.dot(x[i] - o) + if d < dhat: + s = d / dhat + sum += contact_area[i] * dhat * kappa / 2 * (s - 1) * math.log(s) + # ceil: + n = np.array([0.0, -1.0]) + for i in range(0, len(x) - 1): + d = n.dot(x[i] - x[-1]) + if d < dhat: + s = d / dhat + sum += contact_area[i] * dhat * kappa / 2 * (s - 1) * math.log(s) + return sum + +def grad(x, n, o, contact_area): + g = np.array([[0.0, 0.0]] * len(x)) + # floor: + for i in range(0, len(x)): + d = n.dot(x[i] - o) + if d < dhat: + s = d / dhat + g[i] = contact_area[i] * dhat * (kappa / 2 * (math.log(s) / dhat + (s - 1) / d)) * n + # ceil: + n = np.array([0.0, -1.0]) + for i in range(0, len(x) - 1): + d = n.dot(x[i] - x[-1]) + if d < dhat: + s = d / dhat + local_grad = contact_area[i] * dhat * (kappa / 2 * (math.log(s) / dhat + (s - 1) / d)) * n + g[i] += local_grad + g[-1] -= local_grad + return g + +def hess(x, n, o, contact_area): + IJV = [[0] * 0, [0] * 0, np.array([0.0] * 0)] + # floor: + for i in range(0, len(x)): + d = n.dot(x[i] - o) + if d < dhat: + local_hess = contact_area[i] * dhat * kappa / (2 * d * d * dhat) * (d + dhat) * np.outer(n, n) + for c in range(0, 2): + for r in range(0, 2): + IJV[0].append(i * 2 + r) + IJV[1].append(i * 2 + c) + IJV[2] = np.append(IJV[2], local_hess[r, c]) + # ceil: + n = np.array([0.0, -1.0]) + for i in range(0, len(x) - 1): + d = n.dot(x[i] - x[-1]) + if d < dhat: + local_hess = contact_area[i] * dhat * kappa / (2 * d * d * dhat) * (d + dhat) * np.outer(n, n) + index = [i, len(x) - 1] + for nI in range(0, 2): + for nJ in range(0, 2): + for c in range(0, 2): + for r in range(0, 2): + IJV[0].append(index[nI] * 2 + r) + IJV[1].append(index[nJ] * 2 + c) + IJV[2] = np.append(IJV[2], ((-1) ** (nI != nJ)) * local_hess[r, c]) + return IJV + +def init_step_size(x, n, o, p): + alpha = 1 + # floor: + for i in range(0, len(x)): + p_n = p[i].dot(n) + if p_n < 0: + alpha = min(alpha, 0.9 * n.dot(x[i] - o) / -p_n) + # ceil: + n = np.array([0.0, -1.0]) + for i in range(0, len(x) - 1): + p_n = (p[i] - p[-1]).dot(n) + if p_n < 0: + alpha = min(alpha, 0.9 * n.dot(x[i] - x[-1]) / -p_n) + return alpha + +def compute_mu_lambda(x, n, o, contact_area, mu): + mu_lambda = np.array([0.0] * len(x)) + for i in range(0, len(x)): + d = n.dot(x[i] - o) + if d < dhat: + s = d / dhat + mu_lambda[i] = mu * -contact_area[i] * dhat * (kappa / 2 * (math.log(s) / dhat + (s - 1) / d)) + return mu_lambda \ No newline at end of file diff --git a/solid-sim-tutorial/6_inv_free/FrictionEnergy.py b/solid-sim-tutorial/6_inv_free/FrictionEnergy.py new file mode 100644 index 0000000..f62add3 --- /dev/null +++ b/solid-sim-tutorial/6_inv_free/FrictionEnergy.py @@ -0,0 +1,60 @@ +import numpy as np +import utils + +epsv = 1e-3 + +def f0(vbarnorm, epsv, hhat): + if vbarnorm >= epsv: + return vbarnorm * hhat + else: + vbarnormhhat = vbarnorm * hhat + epsvhhat = epsv * hhat + return vbarnormhhat * vbarnormhhat * (-vbarnormhhat / 3.0 + epsvhhat) / (epsvhhat * epsvhhat) + epsvhhat / 3.0 + +def f1_div_vbarnorm(vbarnorm, epsv): + if vbarnorm >= epsv: + return 1.0 / vbarnorm + else: + return (-vbarnorm + 2.0 * epsv) / (epsv * epsv) + +def f_hess_term(vbarnorm, epsv): + if vbarnorm >= epsv: + return -1.0 / (vbarnorm * vbarnorm) + else: + return -1.0 / (epsv * epsv) + +def val(v, mu_lambda, hhat, n): + sum = 0.0 + T = np.identity(2) - np.outer(n, n) # tangent of slope is constant + for i in range(0, len(v)): + if mu_lambda[i] > 0: + vbar = np.transpose(T).dot(v[i]) + sum += mu_lambda[i] * f0(np.linalg.norm(vbar), epsv, hhat) + return sum + +def grad(v, mu_lambda, hhat, n): + g = np.array([[0.0, 0.0]] * len(v)) + T = np.identity(2) - np.outer(n, n) # tangent of slope is constant + for i in range(0, len(v)): + if mu_lambda[i] > 0: + vbar = np.transpose(T).dot(v[i]) + g[i] = mu_lambda[i] * f1_div_vbarnorm(np.linalg.norm(vbar), epsv) * T.dot(vbar) + return g + +def hess(v, mu_lambda, hhat, n): + IJV = [[0] * 0, [0] * 0, np.array([0.0] * 0)] + T = np.identity(2) - np.outer(n, n) # tangent of slope is constant + for i in range(0, len(v)): + if mu_lambda[i] > 0: + vbar = np.transpose(T).dot(v[i]) + vbarnorm = np.linalg.norm(vbar) + inner_term = f1_div_vbarnorm(vbarnorm, epsv) * np.identity(2) + if vbarnorm != 0: + inner_term += f_hess_term(vbarnorm, epsv) / vbarnorm * np.outer(vbar, vbar) + local_hess = mu_lambda[i] * T.dot(utils.make_PSD(inner_term)).dot(np.transpose(T)) / hhat + for c in range(0, 2): + for r in range(0, 2): + IJV[0].append(i * 2 + r) + IJV[1].append(i * 2 + c) + IJV[2] = np.append(IJV[2], local_hess[r, c]) + return IJV \ No newline at end of file diff --git a/solid-sim-tutorial/6_inv_free/GravityEnergy.py b/solid-sim-tutorial/6_inv_free/GravityEnergy.py new file mode 100644 index 0000000..dd9e0e9 --- /dev/null +++ b/solid-sim-tutorial/6_inv_free/GravityEnergy.py @@ -0,0 +1,17 @@ +import numpy as np + +gravity = [0.0, -9.81] + +def val(x, m): + sum = 0.0 + for i in range(0, len(x)): + sum += -m[i] * x[i].dot(gravity) + return sum + +def grad(x, m): + g = np.array([gravity] * len(x)) + for i in range(0, len(x)): + g[i] *= -m[i] + return g + +# Hessian is 0 \ No newline at end of file diff --git a/solid-sim-tutorial/6_inv_free/InertiaEnergy.py b/solid-sim-tutorial/6_inv_free/InertiaEnergy.py new file mode 100644 index 0000000..42f89aa --- /dev/null +++ b/solid-sim-tutorial/6_inv_free/InertiaEnergy.py @@ -0,0 +1,23 @@ +import numpy as np + +def val(x, x_tilde, m): + sum = 0.0 + for i in range(0, len(x)): + diff = x[i] - x_tilde[i] + sum += 0.5 * m[i] * diff.dot(diff) + return sum + +def grad(x, x_tilde, m): + g = np.array([[0.0, 0.0]] * len(x)) + for i in range(0, len(x)): + g[i] = m[i] * (x[i] - x_tilde[i]) + return g + +def hess(x, x_tilde, m): + IJV = [[0] * (len(x) * 2), [0] * (len(x) * 2), np.array([0.0] * (len(x) * 2))] + for i in range(0, len(x)): + for d in range(0, 2): + IJV[0][i * 2 + d] = i * 2 + d + IJV[1][i * 2 + d] = i * 2 + d + IJV[2][i * 2 + d] = m[i] + return IJV \ No newline at end of file diff --git a/solid-sim-tutorial/6_inv_free/NeoHookeanEnergy.py b/solid-sim-tutorial/6_inv_free/NeoHookeanEnergy.py new file mode 100644 index 0000000..ec24dfa --- /dev/null +++ b/solid-sim-tutorial/6_inv_free/NeoHookeanEnergy.py @@ -0,0 +1,183 @@ +# ANCHOR: helper_func +import utils +import numpy as np +import math + +def polar_svd(F): + [U, s, VT] = np.linalg.svd(F) + if np.linalg.det(U) < 0: + U[:, 1] = -U[:, 1] + s[1] = -s[1] + if np.linalg.det(VT) < 0: + VT[1, :] = -VT[1, :] + s[1] = -s[1] + return [U, s, VT] + +def dPsi_div_dsigma(s, mu, lam): + ln_sigma_prod = math.log(s[0] * s[1]) + inv0 = 1.0 / s[0] + dPsi_dsigma_0 = mu * (s[0] - inv0) + lam * inv0 * ln_sigma_prod + inv1 = 1.0 / s[1] + dPsi_dsigma_1 = mu * (s[1] - inv1) + lam * inv1 * ln_sigma_prod + return [dPsi_dsigma_0, dPsi_dsigma_1] + +def d2Psi_div_dsigma2(s, mu, lam): + ln_sigma_prod = math.log(s[0] * s[1]) + inv2_0 = 1 / (s[0] * s[0]) + d2Psi_dsigma2_00 = mu * (1 + inv2_0) - lam * inv2_0 * (ln_sigma_prod - 1) + inv2_1 = 1 / (s[1] * s[1]) + d2Psi_dsigma2_11 = mu * (1 + inv2_1) - lam * inv2_1 * (ln_sigma_prod - 1) + d2Psi_dsigma2_01 = lam / (s[0] * s[1]) + return [[d2Psi_dsigma2_00, d2Psi_dsigma2_01], [d2Psi_dsigma2_01, d2Psi_dsigma2_11]] + +def B_left_coef(s, mu, lam): + sigma_prod = s[0] * s[1] + return (mu + (mu - lam * math.log(sigma_prod)) / sigma_prod) / 2 + +def Psi(F, mu, lam): + J = np.linalg.det(F) + lnJ = math.log(J) + return mu / 2 * (np.trace(np.transpose(F).dot(F)) - 2) - mu * lnJ + lam / 2 * lnJ * lnJ + +def dPsi_div_dF(F, mu, lam): + FinvT = np.transpose(np.linalg.inv(F)) + return mu * (F - FinvT) + lam * math.log(np.linalg.det(F)) * FinvT + +def d2Psi_div_dF2(F, mu, lam): + [U, sigma, VT] = polar_svd(F) + + Psi_sigma_sigma = utils.make_PSD(d2Psi_div_dsigma2(sigma, mu, lam)) + + B_left = B_left_coef(sigma, mu, lam) + Psi_sigma = dPsi_div_dsigma(sigma, mu, lam) + B_right = (Psi_sigma[0] + Psi_sigma[1]) / (2 * max(sigma[0] + sigma[1], 1e-6)) + B = utils.make_PSD([[B_left + B_right, B_left - B_right], [B_left - B_right, B_left + B_right]]) + + M = np.array([[0, 0, 0, 0]] * 4) + M[0, 0] = Psi_sigma_sigma[0, 0] + M[0, 3] = Psi_sigma_sigma[0, 1] + M[1, 1] = B[0, 0] + M[1, 2] = B[0, 1] + M[2, 1] = B[1, 0] + M[2, 2] = B[1, 1] + M[3, 0] = Psi_sigma_sigma[1, 0] + M[3, 3] = Psi_sigma_sigma[1, 1] + + dP_div_dF = np.array([[0, 0, 0, 0]] * 4) + for j in range(0, 2): + for i in range(0, 2): + ij = j * 2 + i + for s in range(0, 2): + for r in range(0, 2): + rs = s * 2 + r + dP_div_dF[ij, rs] = M[0, 0] * U[i, 0] * VT[0, j] * U[r, 0] * VT[0, s] \ + + M[0, 3] * U[i, 0] * VT[0, j] * U[r, 1] * VT[1, s] \ + + M[1, 1] * U[i, 1] * VT[0, j] * U[r, 1] * VT[0, s] \ + + M[1, 2] * U[i, 1] * VT[0, j] * U[r, 0] * VT[1, s] \ + + M[2, 1] * U[i, 0] * VT[1, j] * U[r, 1] * VT[0, s] \ + + M[2, 2] * U[i, 0] * VT[1, j] * U[r, 0] * VT[1, s] \ + + M[3, 0] * U[i, 1] * VT[1, j] * U[r, 0] * VT[0, s] \ + + M[3, 3] * U[i, 1] * VT[1, j] * U[r, 1] * VT[1, s] + return dP_div_dF +# ANCHOR_END: helper_func + +# ANCHOR: stress_deriv +def deformation_grad(x, elemVInd, IB): + F = [x[elemVInd[1]] - x[elemVInd[0]], x[elemVInd[2]] - x[elemVInd[0]]] + return np.transpose(F).dot(IB) + +def dPsi_div_dx(P, IB): # applying chain-rule, dPsi_div_dx = dPsi_div_dF * dF_div_dx + dPsi_dx_2 = P[0, 0] * IB[0, 0] + P[0, 1] * IB[0, 1] + dPsi_dx_3 = P[1, 0] * IB[0, 0] + P[1, 1] * IB[0, 1] + dPsi_dx_4 = P[0, 0] * IB[1, 0] + P[0, 1] * IB[1, 1] + dPsi_dx_5 = P[1, 0] * IB[1, 0] + P[1, 1] * IB[1, 1] + return [np.array([-dPsi_dx_2 - dPsi_dx_4, -dPsi_dx_3 - dPsi_dx_5]), np.array([dPsi_dx_2, dPsi_dx_3]), np.array([dPsi_dx_4, dPsi_dx_5])] + +def d2Psi_div_dx2(dP_div_dF, IB): # applying chain-rule, d2Psi_div_dx2 = dF_div_dx^T * d2Psi_div_dF2 * dF_div_dx (note that d2F_div_dx2 = 0) + intermediate = np.array([[0.0, 0.0, 0.0, 0.0]] * 6) + for colI in range(0, 4): + _000 = dP_div_dF[0, colI] * IB[0, 0] + _010 = dP_div_dF[0, colI] * IB[1, 0] + _101 = dP_div_dF[2, colI] * IB[0, 1] + _111 = dP_div_dF[2, colI] * IB[1, 1] + _200 = dP_div_dF[1, colI] * IB[0, 0] + _210 = dP_div_dF[1, colI] * IB[1, 0] + _301 = dP_div_dF[3, colI] * IB[0, 1] + _311 = dP_div_dF[3, colI] * IB[1, 1] + intermediate[2, colI] = _000 + _101 + intermediate[3, colI] = _200 + _301 + intermediate[4, colI] = _010 + _111 + intermediate[5, colI] = _210 + _311 + intermediate[0, colI] = -intermediate[2, colI] - intermediate[4, colI] + intermediate[1, colI] = -intermediate[3, colI] - intermediate[5, colI] + result = np.array([[0.0, 0.0, 0.0, 0.0, 0.0, 0.0]] * 6) + for colI in range(0, 6): + _000 = intermediate[colI, 0] * IB[0, 0] + _010 = intermediate[colI, 0] * IB[1, 0] + _101 = intermediate[colI, 2] * IB[0, 1] + _111 = intermediate[colI, 2] * IB[1, 1] + _200 = intermediate[colI, 1] * IB[0, 0] + _210 = intermediate[colI, 1] * IB[1, 0] + _301 = intermediate[colI, 3] * IB[0, 1] + _311 = intermediate[colI, 3] * IB[1, 1] + result[2, colI] = _000 + _101 + result[3, colI] = _200 + _301 + result[4, colI] = _010 + _111 + result[5, colI] = _210 + _311 + result[0, colI] = -_000 - _101 - _010 - _111 + result[1, colI] = -_200 - _301 - _210 - _311 + return result +# ANCHOR_END: stress_deriv + +# ANCHOR: val_grad_hess +def val(x, e, vol, IB, mu, lam): + sum = 0.0 + for i in range(0, len(e)): + F = deformation_grad(x, e[i], IB[i]) + sum += vol[i] * Psi(F, mu[i], lam[i]) + return sum + +def grad(x, e, vol, IB, mu, lam): + g = np.array([[0.0, 0.0]] * len(x)) + for i in range(0, len(e)): + F = deformation_grad(x, e[i], IB[i]) + P = vol[i] * dPsi_div_dF(F, mu[i], lam[i]) + g_local = dPsi_div_dx(P, IB[i]) + for j in range(0, 3): + g[e[i][j]] += g_local[j] + return g + +def hess(x, e, vol, IB, mu, lam): + IJV = [[0] * (len(e) * 36), [0] * (len(e) * 36), np.array([0.0] * (len(e) * 36))] + for i in range(0, len(e)): + F = deformation_grad(x, e[i], IB[i]) + dP_div_dF = vol[i] * d2Psi_div_dF2(F, mu[i], lam[i]) + local_hess = d2Psi_div_dx2(dP_div_dF, IB[i]) + for xI in range(0, 3): + for xJ in range(0, 3): + for dI in range(0, 2): + for dJ in range(0, 2): + ind = i * 36 + (xI * 3 + xJ) * 4 + dI * 2 + dJ + IJV[0][ind] = e[i][xI] * 2 + dI + IJV[1][ind] = e[i][xJ] * 2 + dJ + IJV[2][ind] = local_hess[xI * 2 + dI, xJ * 2 + dJ] + return IJV +# ANCHOR_END: val_grad_hess + +# ANCHOR: filter_line_search +def init_step_size(x, e, p): + alpha = 1 + for i in range(0, len(e)): + x21 = x[e[i][1]] - x[e[i][0]] + x31 = x[e[i][2]] - x[e[i][0]] + p21 = p[e[i][1]] - p[e[i][0]] + p31 = p[e[i][2]] - p[e[i][0]] + detT = np.linalg.det(np.transpose([x21, x31])) + a = np.linalg.det(np.transpose([p21, p31])) / detT + b = (np.linalg.det(np.transpose([x21, p31])) + np.linalg.det(np.transpose([p21, x31]))) / detT + c = 0.9 # solve for alpha that first brings the new volume to 0.1x the old volume for slackness + critical_alpha = utils.smallest_positive_real_root_quad(a, b, c) + if critical_alpha > 0: + alpha = min(alpha, critical_alpha) + return alpha +# ANCHOR_END: filter_line_search \ No newline at end of file diff --git a/solid-sim-tutorial/6_inv_free/SpringEnergy.py b/solid-sim-tutorial/6_inv_free/SpringEnergy.py new file mode 100644 index 0000000..609e177 --- /dev/null +++ b/solid-sim-tutorial/6_inv_free/SpringEnergy.py @@ -0,0 +1,23 @@ +import numpy as np + +def val(x, m, DBC, DBC_target, k): + sum = 0.0 + for i in range(0, len(DBC)): + diff = x[DBC[i]] - DBC_target[i] + sum += 0.5 * k * m[DBC[i]] * diff.dot(diff) + return sum + +def grad(x, m, DBC, DBC_target, k): + g = np.array([[0.0, 0.0]] * len(x)) + for i in range(0, len(DBC)): + g[DBC[i]] = k * m[DBC[i]] * (x[DBC[i]] - DBC_target[i]) + return g + +def hess(x, m, DBC, DBC_target, k): + IJV = [[0] * 0, [0] * 0, np.array([0.0] * 0)] + for i in range(0, len(DBC)): + for d in range(0, 2): + IJV[0].append(DBC[i] * 2 + d) + IJV[1].append(DBC[i] * 2 + d) + IJV[2] = np.append(IJV[2], k * m[DBC[i]]) + return IJV \ No newline at end of file diff --git a/solid-sim-tutorial/6_inv_free/simulator.py b/solid-sim-tutorial/6_inv_free/simulator.py new file mode 100755 index 0000000..28e6e46 --- /dev/null +++ b/solid-sim-tutorial/6_inv_free/simulator.py @@ -0,0 +1,92 @@ +# FEM Solids Simulation + +import numpy as np # numpy for linear algebra +import pygame # pygame for visualization +pygame.init() + +import square_mesh # square mesh +import time_integrator + +# simulation setup +side_len = 1 +rho = 1000 # density of square +# ANCHOR: lame_param +E = 1e5 # Young's modulus +nu = 0.4 # Poisson's ratio +# ANCHOR_END: lame_param +n_seg = 4 # num of segments per side of the square +h = 0.01 # time step size in s +DBC = [(n_seg + 1) * (n_seg + 1)] # dirichlet node index +DBC_v = [np.array([0.0, -0.5])] # dirichlet node velocity +DBC_limit = [np.array([0.0, -0.7])] # dirichlet node limit position +ground_n = np.array([0.0, 1.0]) # normal of the slope +ground_n /= np.linalg.norm(ground_n) # normalize ground normal vector just in case +ground_o = np.array([0.0, -1.0]) # a point on the slope +mu = 0.11 # friction coefficient of the slope + +# initialize simulation +[x, e] = square_mesh.generate(side_len, n_seg) # node positions and triangle node indices +x = np.append(x, [[0.0, side_len * 0.6]], axis=0) # ceil origin (with normal [0.0, -1.0]) +v = np.array([[0.0, 0.0]] * len(x)) # velocity +m = [rho * side_len * side_len / ((n_seg + 1) * (n_seg + 1))] * len(x) # calculate node mass evenly +# ANCHOR: elem_precomp +# rest shape basis, volume, and lame parameters +vol = [0.0] * len(e) +IB = [np.array([[0.0, 0.0]] * 2)] * len(e) +for i in range(0, len(e)): + TB = [x[e[i][1]] - x[e[i][0]], x[e[i][2]] - x[e[i][0]]] + vol[i] = np.linalg.det(np.transpose(TB)) / 2 + IB[i] = np.linalg.inv(np.transpose(TB)) +mu_lame = [0.5 * E / (1 + nu)] * len(e) +lam = [E * nu / ((1 + nu) * (1 - 2 * nu))] * len(e) +# ANCHOR_END: elem_precomp +# identify whether a node is Dirichlet +is_DBC = [False] * len(x) +for i in DBC: + is_DBC[i] = True +contact_area = [side_len / n_seg] * len(x) # perimeter split to each node + +# simulation with visualization +resolution = np.array([900, 900]) +offset = resolution / 2 +scale = 200 +def screen_projection(x): + return [offset[0] + scale * x[0], resolution[1] - (offset[1] + scale * x[1])] + +time_step = 0 +square_mesh.write_to_file(time_step, x, e) +screen = pygame.display.set_mode(resolution) +running = True +while running: + # run until the user asks to quit + for event in pygame.event.get(): + if event.type == pygame.QUIT: + running = False + + print('### Time step', time_step, '###') + + # fill the background and draw the square + screen.fill((255, 255, 255)) + pygame.draw.aaline(screen, (0, 0, 255), screen_projection([ground_o[0] - 3.0 * ground_n[1], ground_o[1] + 3.0 * ground_n[0]]), + screen_projection([ground_o[0] + 3.0 * ground_n[1], ground_o[1] - 3.0 * ground_n[0]])) # ground + pygame.draw.aaline(screen, (0, 0, 255), screen_projection([x[-1][0] + 3.0, x[-1][1]]), + screen_projection([x[-1][0] - 3.0, x[-1][1]])) # ceil + for eI in e: + # ANCHOR: draw_tri + pygame.draw.aaline(screen, (0, 0, 255), screen_projection(x[eI[0]]), screen_projection(x[eI[1]])) + pygame.draw.aaline(screen, (0, 0, 255), screen_projection(x[eI[1]]), screen_projection(x[eI[2]])) + pygame.draw.aaline(screen, (0, 0, 255), screen_projection(x[eI[2]]), screen_projection(x[eI[0]])) + # ANCHOR_END: draw_tri + for xId in range(0, len(x) - 1): + xI = x[xId] + pygame.draw.circle(screen, (0, 0, 255), screen_projection(xI), 0.1 * side_len / n_seg * scale) + + pygame.display.flip() # flip the display + + # step forward simulation and wait for screen refresh + [x, v] = time_integrator.step_forward(x, e, v, m, vol, IB, mu_lame, lam, ground_n, ground_o, contact_area, mu, is_DBC, DBC, DBC_v, DBC_limit, h, 1e-2) + time_step += 1 + pygame.time.wait(int(h * 1000)) + square_mesh.write_to_file(time_step, x, e) + +pygame.quit() \ No newline at end of file diff --git a/solid-sim-tutorial/6_inv_free/square_mesh.py b/solid-sim-tutorial/6_inv_free/square_mesh.py new file mode 100644 index 0000000..15cfbee --- /dev/null +++ b/solid-sim-tutorial/6_inv_free/square_mesh.py @@ -0,0 +1,42 @@ +import numpy as np +import os + +def generate(side_length, n_seg): + # sample nodes uniformly on a square + x = np.array([[0.0, 0.0]] * ((n_seg + 1) ** 2)) + step = side_length / n_seg + for i in range(0, n_seg + 1): + for j in range(0, n_seg + 1): + x[i * (n_seg + 1) + j] = [-side_length / 2 + i * step, -side_length / 2 + j * step] + + # ANCHOR: tri_vert_ind + # connect the nodes with triangle elements + e = [] + for i in range(0, n_seg): + for j in range(0, n_seg): + # triangulate each cell following a symmetric pattern: + if (i % 2)^(j % 2): + e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j, i * (n_seg + 1) + j + 1]) + e.append([(i + 1) * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j + 1, i * (n_seg + 1) + j + 1]) + else: + e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j + 1]) + e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j + 1, i * (n_seg + 1) + j + 1]) + # ANCHOR_END: tri_vert_ind + + return [x, e] + +def write_to_file(frameNum, x, e): + # Check if 'output' directory exists; if not, create it + if not os.path.exists('output'): + os.makedirs('output') + + # create obj file + filename = f"output/{frameNum}.obj" + with open(filename, 'w') as f: + # write vertex coordinates + for row in x: + f.write(f"v {float(row[0]):.6f} {float(row[1]):.6f} 0.0\n") + # write vertex indices for each triangle + for row in e: + #NOTE: vertex indices start from 1 in obj file format + f.write(f"f {row[0] + 1} {row[1] + 1} {row[2] + 1}\n") \ No newline at end of file diff --git a/solid-sim-tutorial/6_inv_free/time_integrator.py b/solid-sim-tutorial/6_inv_free/time_integrator.py new file mode 100644 index 0000000..ecf68d9 --- /dev/null +++ b/solid-sim-tutorial/6_inv_free/time_integrator.py @@ -0,0 +1,104 @@ +import copy +from cmath import inf + +import numpy as np +import numpy.linalg as LA +import scipy.sparse as sparse +from scipy.sparse.linalg import spsolve + +import InertiaEnergy +import NeoHookeanEnergy +import GravityEnergy +import BarrierEnergy +import FrictionEnergy +import SpringEnergy + +def step_forward(x, e, v, m, vol, IB, mu_lame, lam, n, o, contact_area, mu, is_DBC, DBC, DBC_v, DBC_limit, h, tol): + x_tilde = x + v * h # implicit Euler predictive position + x_n = copy.deepcopy(x) + mu_lambda = BarrierEnergy.compute_mu_lambda(x, n, o, contact_area, mu) # compute mu * lambda for each node using x^n + DBC_target = [] # target position of each DBC in the current time step + for i in range(0, len(DBC)): + if (DBC_limit[i] - x_n[DBC[i]]).dot(DBC_v[i]) > 0: + DBC_target.append(x_n[DBC[i]] + h * DBC_v[i]) + else: + DBC_target.append(x_n[DBC[i]]) + DBC_stiff = 1000 # initialize stiffness for DBC springs + + # Newton loop + iter = 0 + E_last = IP_val(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, contact_area, (x - x_n) / h, mu_lambda, DBC, DBC_target, DBC_stiff, h) + [p, DBC_satisfied] = search_dir(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, contact_area, (x - x_n) / h, mu_lambda, is_DBC, DBC, DBC_target, DBC_stiff, tol, h) + while (LA.norm(p, inf) / h > tol) | (sum(DBC_satisfied) != len(DBC)): # also check whether all DBCs are satisfied + print('Iteration', iter, ':') + print('residual =', LA.norm(p, inf) / h) + + if (LA.norm(p, inf) / h <= tol) & (sum(DBC_satisfied) != len(DBC)): + # increase DBC stiffness and recompute energy value record + DBC_stiff *= 2 + E_last = IP_val(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, contact_area, (x - x_n) / h, mu_lambda, DBC, DBC_target, DBC_stiff, h) + + # filter line search + # ANCHOR: apply_filter + alpha = min(BarrierEnergy.init_step_size(x, n, o, p), NeoHookeanEnergy.init_step_size(x, e, p)) # avoid interpenetration, tunneling, and inversion + # ANCHOR_END: apply_filter + while IP_val(x + alpha * p, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, contact_area, (x + alpha * p - x_n) / h, mu_lambda, DBC, DBC_target, DBC_stiff, h) > E_last: + alpha /= 2 + print('step size =', alpha) + + x += alpha * p + E_last = IP_val(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, contact_area, (x - x_n) / h, mu_lambda, DBC, DBC_target, DBC_stiff, h) + [p, DBC_satisfied] = search_dir(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, contact_area, (x - x_n) / h, mu_lambda, is_DBC, DBC, DBC_target, DBC_stiff, tol, h) + iter += 1 + + v = (x - x_n) / h # implicit Euler velocity update + return [x, v] + +def IP_val(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, contact_area, v, mu_lambda, DBC, DBC_target, DBC_stiff, h): + return InertiaEnergy.val(x, x_tilde, m) + h * h * ( # implicit Euler + NeoHookeanEnergy.val(x, e, vol, IB, mu_lame, lam) + + GravityEnergy.val(x, m) + + BarrierEnergy.val(x, n, o, contact_area) + + FrictionEnergy.val(v, mu_lambda, h, n) + ) + SpringEnergy.val(x, m, DBC, DBC_target, DBC_stiff) + +def IP_grad(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, contact_area, v, mu_lambda, DBC, DBC_target, DBC_stiff, h): + return InertiaEnergy.grad(x, x_tilde, m) + h * h * ( # implicit Euler + NeoHookeanEnergy.grad(x, e, vol, IB, mu_lame, lam) + + GravityEnergy.grad(x, m) + + BarrierEnergy.grad(x, n, o, contact_area) + + FrictionEnergy.grad(v, mu_lambda, h, n) + ) + SpringEnergy.grad(x, m, DBC, DBC_target, DBC_stiff) + +def IP_hess(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, contact_area, v, mu_lambda, DBC, DBC_target, DBC_stiff, h): + IJV_In = InertiaEnergy.hess(x, x_tilde, m) + IJV_MS = NeoHookeanEnergy.hess(x, e, vol, IB, mu_lame, lam) + IJV_B = BarrierEnergy.hess(x, n, o, contact_area) + IJV_F = FrictionEnergy.hess(v, mu_lambda, h, n) + IJV_S = SpringEnergy.hess(x, m, DBC, DBC_target, DBC_stiff) + IJV_MS[2] *= h * h # implicit Euler + IJV_B[2] *= h * h # implicit Euler + IJV_F[2] *= h * h # implicit Euler + IJV_In_MS = np.append(IJV_In, IJV_MS, axis=1) + IJV_In_MS_B = np.append(IJV_In_MS, IJV_B, axis=1) + IJV_In_MS_B_F = np.append(IJV_In_MS_B, IJV_F, axis=1) + IJV = np.append(IJV_In_MS_B_F, IJV_S, axis=1) + H = sparse.coo_matrix((IJV[2], (IJV[0], IJV[1])), shape=(len(x) * 2, len(x) * 2)).tocsr() + return H + +def search_dir(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, contact_area, v, mu_lambda, is_DBC, DBC, DBC_target, DBC_stiff, tol, h): + projected_hess = IP_hess(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, contact_area, v, mu_lambda, DBC, DBC_target, DBC_stiff, h) + reshaped_grad = IP_grad(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, contact_area, v, mu_lambda, DBC, DBC_target, DBC_stiff, h).reshape(len(x) * 2, 1) + # check whether each DBC is satisfied + DBC_satisfied = [False] * len(x) + for i in range(0, len(DBC)): + if LA.norm(x[DBC[i]] - DBC_target[i]) / h < tol: + DBC_satisfied[DBC[i]] = True + # eliminate DOF if it's a satisfied DBC by modifying gradient and Hessian for DBC: + for i, j in zip(*projected_hess.nonzero()): + if (is_DBC[int(i / 2)] & DBC_satisfied[int(i / 2)]) | (is_DBC[int(j / 2)] & DBC_satisfied[int(i / 2)]): + projected_hess[i, j] = (i == j) + for i in range(0, len(x)): + if is_DBC[i] & DBC_satisfied[i]: + reshaped_grad[i * 2] = reshaped_grad[i * 2 + 1] = 0.0 + return [spsolve(projected_hess, -reshaped_grad).reshape(len(x), 2), DBC_satisfied] \ No newline at end of file diff --git a/solid-sim-tutorial/6_inv_free/utils.py b/solid-sim-tutorial/6_inv_free/utils.py new file mode 100644 index 0000000..3678c23 --- /dev/null +++ b/solid-sim-tutorial/6_inv_free/utils.py @@ -0,0 +1,30 @@ +import numpy as np +import numpy.linalg as LA +import math + +def make_PSD(hess): + [lam, V] = LA.eigh(hess) # Eigen decomposition on symmetric matrix + # set all negative Eigenvalues to 0 + for i in range(0, len(lam)): + lam[i] = max(0, lam[i]) + return np.matmul(np.matmul(V, np.diag(lam)), np.transpose(V)) + +# ANCHOR: find_positive_real_root +def smallest_positive_real_root_quad(a, b, c, tol = 1e-6): + # return negative value if no positive real root is found + t = 0 + if abs(a) <= tol: + if abs(b) <= tol: # f(x) = c > 0 for all x + t = -1 + else: + t = -c / b + else: + desc = b * b - 4 * a * c + if desc > 0: + t = (-b - math.sqrt(desc)) / (2 * a) + if t < 0: + t = (-b + math.sqrt(desc)) / (2 * a) + else: # desv<0 ==> imag, f(x) > 0 for all x > 0 + t = -1 + return t +# ANCHOR_END: find_positive_real_root \ No newline at end of file diff --git a/solid-sim-tutorial/7_self_contact/BarrierEnergy.py b/solid-sim-tutorial/7_self_contact/BarrierEnergy.py new file mode 100644 index 0000000..4d4755c --- /dev/null +++ b/solid-sim-tutorial/7_self_contact/BarrierEnergy.py @@ -0,0 +1,158 @@ +import math +import numpy as np + +import distance.PointEdgeDistance as PE +import distance.CCD as CCD + +import utils + +dhat = 0.01 +kappa = 1e5 + +def val(x, n, o, bp, be, contact_area): + sum = 0.0 + # floor: + for i in range(0, len(x)): + d = n.dot(x[i] - o) + if d < dhat: + s = d / dhat + sum += contact_area[i] * dhat * kappa / 2 * (s - 1) * math.log(s) + # ceil: + n = np.array([0.0, -1.0]) + for i in range(0, len(x) - 1): + d = n.dot(x[i] - x[-1]) + if d < dhat: + s = d / dhat + sum += contact_area[i] * dhat * kappa / 2 * (s - 1) * math.log(s) + # ANCHOR: value + # self-contact + dhat_sqr = dhat * dhat + for xI in bp: + for eI in be: + if xI != eI[0] and xI != eI[1]: # do not consider a point and its incident edge + d_sqr = PE.val(x[xI], x[eI[0]], x[eI[1]]) + if d_sqr < dhat_sqr: + s = d_sqr / dhat_sqr + # since d_sqr is used, need to divide by 8 not 2 here for consistency to linear elasticity: + sum += 0.5 * contact_area[xI] * dhat * kappa / 8 * (s - 1) * math.log(s) + # ANCHOR_END: value + return sum + +def grad(x, n, o, bp, be, contact_area): + g = np.array([[0.0, 0.0]] * len(x)) + # floor: + for i in range(0, len(x)): + d = n.dot(x[i] - o) + if d < dhat: + s = d / dhat + g[i] = contact_area[i] * dhat * (kappa / 2 * (math.log(s) / dhat + (s - 1) / d)) * n + # ceil: + n = np.array([0.0, -1.0]) + for i in range(0, len(x) - 1): + d = n.dot(x[i] - x[-1]) + if d < dhat: + s = d / dhat + local_grad = contact_area[i] * dhat * (kappa / 2 * (math.log(s) / dhat + (s - 1) / d)) * n + g[i] += local_grad + g[-1] -= local_grad + # ANCHOR: gradient + # self-contact + dhat_sqr = dhat * dhat + for xI in bp: + for eI in be: + if xI != eI[0] and xI != eI[1]: # do not consider a point and its incident edge + d_sqr = PE.val(x[xI], x[eI[0]], x[eI[1]]) + if d_sqr < dhat_sqr: + s = d_sqr / dhat_sqr + # since d_sqr is used, need to divide by 8 not 2 here for consistency to linear elasticity: + local_grad = 0.5 * contact_area[xI] * dhat * (kappa / 8 * (math.log(s) / dhat_sqr + (s - 1) / d_sqr)) * PE.grad(x[xI], x[eI[0]], x[eI[1]]) + g[xI] += local_grad[0:2] + g[eI[0]] += local_grad[2:4] + g[eI[1]] += local_grad[4:6] + # ANCHOR_END: gradient + return g + +def hess(x, n, o, bp, be, contact_area): + IJV = [[0] * 0, [0] * 0, np.array([0.0] * 0)] + # floor: + for i in range(0, len(x)): + d = n.dot(x[i] - o) + if d < dhat: + local_hess = contact_area[i] * dhat * kappa / (2 * d * d * dhat) * (d + dhat) * np.outer(n, n) + for c in range(0, 2): + for r in range(0, 2): + IJV[0].append(i * 2 + r) + IJV[1].append(i * 2 + c) + IJV[2] = np.append(IJV[2], local_hess[r, c]) + # ceil: + n = np.array([0.0, -1.0]) + for i in range(0, len(x) - 1): + d = n.dot(x[i] - x[-1]) + if d < dhat: + local_hess = contact_area[i] * dhat * kappa / (2 * d * d * dhat) * (d + dhat) * np.outer(n, n) + index = [i, len(x) - 1] + for nI in range(0, 2): + for nJ in range(0, 2): + for c in range(0, 2): + for r in range(0, 2): + IJV[0].append(index[nI] * 2 + r) + IJV[1].append(index[nJ] * 2 + c) + IJV[2] = np.append(IJV[2], ((-1) ** (nI != nJ)) * local_hess[r, c]) + # ANCHOR: Hessian + # self-contact + dhat_sqr = dhat * dhat + for xI in bp: + for eI in be: + if xI != eI[0] and xI != eI[1]: # do not consider a point and its incident edge + d_sqr = PE.val(x[xI], x[eI[0]], x[eI[1]]) + if d_sqr < dhat_sqr: + d_sqr_grad = PE.grad(x[xI], x[eI[0]], x[eI[1]]) + s = d_sqr / dhat_sqr + # since d_sqr is used, need to divide by 8 not 2 here for consistency to linear elasticity: + local_hess = 0.5 * contact_area[xI] * dhat * utils.make_PSD(kappa / (8 * d_sqr * d_sqr * dhat_sqr) * (d_sqr + dhat_sqr) * np.outer(d_sqr_grad, d_sqr_grad) \ + + (kappa / 8 * (math.log(s) / dhat_sqr + (s - 1) / d_sqr)) * PE.hess(x[xI], x[eI[0]], x[eI[1]])) + index = [xI, eI[0], eI[1]] + for nI in range(0, 3): + for nJ in range(0, 3): + for c in range(0, 2): + for r in range(0, 2): + IJV[0].append(index[nI] * 2 + r) + IJV[1].append(index[nJ] * 2 + c) + IJV[2] = np.append(IJV[2], local_hess[nI * 2 + r, nJ * 2 + c]) + # ANCHOR_END: Hessian + return IJV + +def init_step_size(x, n, o, bp, be, p): + alpha = 1 + # floor: + for i in range(0, len(x)): + p_n = p[i].dot(n) + if p_n < 0: + alpha = min(alpha, 0.9 * n.dot(x[i] - o) / -p_n) + # ceil: + n = np.array([0.0, -1.0]) + for i in range(0, len(x) - 1): + p_n = (p[i] - p[-1]).dot(n) + if p_n < 0: + alpha = min(alpha, 0.9 * n.dot(x[i] - x[-1]) / -p_n) + # ANCHOR: line_search_filtering + # self-contact + for xI in bp: + for eI in be: + if xI != eI[0] and xI != eI[1]: # do not consider a point and its incident edge + if CCD.bbox_overlap(x[xI], x[eI[0]], x[eI[1]], p[xI], p[eI[0]], p[eI[1]], alpha): + toc = CCD.narrow_phase_CCD(x[xI], x[eI[0]], x[eI[1]], p[xI], p[eI[0]], p[eI[1]], alpha) + if alpha > toc: + alpha = toc + # ANCHOR_END: line_search_filtering + return alpha + +def compute_mu_lambda(x, n, o, bp, be, contact_area, mu): + # floor: + mu_lambda = np.array([0.0] * len(x)) + for i in range(0, len(x)): + d = n.dot(x[i] - o) + if d < dhat: + s = d / dhat + mu_lambda[i] = mu * -contact_area[i] * dhat * (kappa / 2 * (math.log(s) / dhat + (s - 1) / d)) + return mu_lambda \ No newline at end of file diff --git a/solid-sim-tutorial/7_self_contact/FrictionEnergy.py b/solid-sim-tutorial/7_self_contact/FrictionEnergy.py new file mode 100644 index 0000000..b033879 --- /dev/null +++ b/solid-sim-tutorial/7_self_contact/FrictionEnergy.py @@ -0,0 +1,63 @@ +import numpy as np +import utils + +epsv = 1e-3 + +def f0(vbarnorm, epsv, hhat): + if vbarnorm >= epsv: + return vbarnorm * hhat + else: + vbarnormhhat = vbarnorm * hhat + epsvhhat = epsv * hhat + return vbarnormhhat * vbarnormhhat * (-vbarnormhhat / 3.0 + epsvhhat) / (epsvhhat * epsvhhat) + epsvhhat / 3.0 + +def f1_div_vbarnorm(vbarnorm, epsv): + if vbarnorm >= epsv: + return 1.0 / vbarnorm + else: + return (-vbarnorm + 2.0 * epsv) / (epsv * epsv) + +def f_hess_term(vbarnorm, epsv): + if vbarnorm >= epsv: + return -1.0 / (vbarnorm * vbarnorm) + else: + return -1.0 / (epsv * epsv) + +def val(v, mu_lambda, hhat, n): + sum = 0.0 + # floor: + T = np.identity(2) - np.outer(n, n) # tangent of slope is constant + for i in range(0, len(v)): + if mu_lambda[i] > 0: + vbar = np.transpose(T).dot(v[i]) + sum += mu_lambda[i] * f0(np.linalg.norm(vbar), epsv, hhat) + return sum + +def grad(v, mu_lambda, hhat, n): + g = np.array([[0.0, 0.0]] * len(v)) + # floor: + T = np.identity(2) - np.outer(n, n) # tangent of slope is constant + for i in range(0, len(v)): + if mu_lambda[i] > 0: + vbar = np.transpose(T).dot(v[i]) + g[i] = mu_lambda[i] * f1_div_vbarnorm(np.linalg.norm(vbar), epsv) * T.dot(vbar) + return g + +def hess(v, mu_lambda, hhat, n): + IJV = [[0] * 0, [0] * 0, np.array([0.0] * 0)] + # floor: + T = np.identity(2) - np.outer(n, n) # tangent of slope is constant + for i in range(0, len(v)): + if mu_lambda[i] > 0: + vbar = np.transpose(T).dot(v[i]) + vbarnorm = np.linalg.norm(vbar) + inner_term = f1_div_vbarnorm(vbarnorm, epsv) * np.identity(2) + if vbarnorm != 0: + inner_term += f_hess_term(vbarnorm, epsv) / vbarnorm * np.outer(vbar, vbar) + local_hess = mu_lambda[i] * T.dot(utils.make_PSD(inner_term)).dot(np.transpose(T)) / hhat + for c in range(0, 2): + for r in range(0, 2): + IJV[0].append(i * 2 + r) + IJV[1].append(i * 2 + c) + IJV[2] = np.append(IJV[2], local_hess[r, c]) + return IJV \ No newline at end of file diff --git a/solid-sim-tutorial/7_self_contact/GravityEnergy.py b/solid-sim-tutorial/7_self_contact/GravityEnergy.py new file mode 100644 index 0000000..dd9e0e9 --- /dev/null +++ b/solid-sim-tutorial/7_self_contact/GravityEnergy.py @@ -0,0 +1,17 @@ +import numpy as np + +gravity = [0.0, -9.81] + +def val(x, m): + sum = 0.0 + for i in range(0, len(x)): + sum += -m[i] * x[i].dot(gravity) + return sum + +def grad(x, m): + g = np.array([gravity] * len(x)) + for i in range(0, len(x)): + g[i] *= -m[i] + return g + +# Hessian is 0 \ No newline at end of file diff --git a/solid-sim-tutorial/7_self_contact/InertiaEnergy.py b/solid-sim-tutorial/7_self_contact/InertiaEnergy.py new file mode 100644 index 0000000..42f89aa --- /dev/null +++ b/solid-sim-tutorial/7_self_contact/InertiaEnergy.py @@ -0,0 +1,23 @@ +import numpy as np + +def val(x, x_tilde, m): + sum = 0.0 + for i in range(0, len(x)): + diff = x[i] - x_tilde[i] + sum += 0.5 * m[i] * diff.dot(diff) + return sum + +def grad(x, x_tilde, m): + g = np.array([[0.0, 0.0]] * len(x)) + for i in range(0, len(x)): + g[i] = m[i] * (x[i] - x_tilde[i]) + return g + +def hess(x, x_tilde, m): + IJV = [[0] * (len(x) * 2), [0] * (len(x) * 2), np.array([0.0] * (len(x) * 2))] + for i in range(0, len(x)): + for d in range(0, 2): + IJV[0][i * 2 + d] = i * 2 + d + IJV[1][i * 2 + d] = i * 2 + d + IJV[2][i * 2 + d] = m[i] + return IJV \ No newline at end of file diff --git a/solid-sim-tutorial/7_self_contact/NeoHookeanEnergy.py b/solid-sim-tutorial/7_self_contact/NeoHookeanEnergy.py new file mode 100644 index 0000000..01d21e2 --- /dev/null +++ b/solid-sim-tutorial/7_self_contact/NeoHookeanEnergy.py @@ -0,0 +1,175 @@ +import utils +import numpy as np +import math + +def polar_svd(F): + [U, s, VT] = np.linalg.svd(F) + if np.linalg.det(U) < 0: + U[:, 1] = -U[:, 1] + s[1] = -s[1] + if np.linalg.det(VT) < 0: + VT[1, :] = -VT[1, :] + s[1] = -s[1] + return [U, s, VT] + +def dPsi_div_dsigma(s, mu, lam): + ln_sigma_prod = math.log(s[0] * s[1]) + inv0 = 1.0 / s[0] + dPsi_dsigma_0 = mu * (s[0] - inv0) + lam * inv0 * ln_sigma_prod + inv1 = 1.0 / s[1] + dPsi_dsigma_1 = mu * (s[1] - inv1) + lam * inv1 * ln_sigma_prod + return [dPsi_dsigma_0, dPsi_dsigma_1] + +def d2Psi_div_dsigma2(s, mu, lam): + ln_sigma_prod = math.log(s[0] * s[1]) + inv2_0 = 1 / (s[0] * s[0]) + d2Psi_dsigma2_00 = mu * (1 + inv2_0) - lam * inv2_0 * (ln_sigma_prod - 1) + inv2_1 = 1 / (s[1] * s[1]) + d2Psi_dsigma2_11 = mu * (1 + inv2_1) - lam * inv2_1 * (ln_sigma_prod - 1) + d2Psi_dsigma2_01 = lam / (s[0] * s[1]) + return [[d2Psi_dsigma2_00, d2Psi_dsigma2_01], [d2Psi_dsigma2_01, d2Psi_dsigma2_11]] + +def B_left_coef(s, mu, lam): + sigma_prod = s[0] * s[1] + return (mu + (mu - lam * math.log(sigma_prod)) / sigma_prod) / 2 + +def Psi(F, mu, lam): + J = np.linalg.det(F) + lnJ = math.log(J) + return mu / 2 * (np.trace(np.transpose(F).dot(F)) - 2) - mu * lnJ + lam / 2 * lnJ * lnJ + +def dPsi_div_dF(F, mu, lam): + FinvT = np.transpose(np.linalg.inv(F)) + return mu * (F - FinvT) + lam * math.log(np.linalg.det(F)) * FinvT + +def d2Psi_div_dF2(F, mu, lam): + [U, sigma, VT] = polar_svd(F) + + Psi_sigma_sigma = utils.make_PSD(d2Psi_div_dsigma2(sigma, mu, lam)) + + B_left = B_left_coef(sigma, mu, lam) + Psi_sigma = dPsi_div_dsigma(sigma, mu, lam) + B_right = (Psi_sigma[0] + Psi_sigma[1]) / (2 * max(sigma[0] + sigma[1], 1e-6)) + B = utils.make_PSD([[B_left + B_right, B_left - B_right], [B_left - B_right, B_left + B_right]]) + + M = np.array([[0, 0, 0, 0]] * 4) + M[0, 0] = Psi_sigma_sigma[0, 0] + M[0, 3] = Psi_sigma_sigma[0, 1] + M[1, 1] = B[0, 0] + M[1, 2] = B[0, 1] + M[2, 1] = B[1, 0] + M[2, 2] = B[1, 1] + M[3, 0] = Psi_sigma_sigma[1, 0] + M[3, 3] = Psi_sigma_sigma[1, 1] + + dP_div_dF = np.array([[0, 0, 0, 0]] * 4) + for j in range(0, 2): + for i in range(0, 2): + ij = j * 2 + i + for s in range(0, 2): + for r in range(0, 2): + rs = s * 2 + r + dP_div_dF[ij, rs] = M[0, 0] * U[i, 0] * VT[0, j] * U[r, 0] * VT[0, s] \ + + M[0, 3] * U[i, 0] * VT[0, j] * U[r, 1] * VT[1, s] \ + + M[1, 1] * U[i, 1] * VT[0, j] * U[r, 1] * VT[0, s] \ + + M[1, 2] * U[i, 1] * VT[0, j] * U[r, 0] * VT[1, s] \ + + M[2, 1] * U[i, 0] * VT[1, j] * U[r, 1] * VT[0, s] \ + + M[2, 2] * U[i, 0] * VT[1, j] * U[r, 0] * VT[1, s] \ + + M[3, 0] * U[i, 1] * VT[1, j] * U[r, 0] * VT[0, s] \ + + M[3, 3] * U[i, 1] * VT[1, j] * U[r, 1] * VT[1, s] + return dP_div_dF + +def deformation_grad(x, elemVInd, IB): + F = [x[elemVInd[1]] - x[elemVInd[0]], x[elemVInd[2]] - x[elemVInd[0]]] + return np.transpose(F).dot(IB) + +def dPsi_div_dx(P, IB): # applying chain-rule, dPsi_div_dx = dPsi_div_dF * dF_div_dx + dPsi_dx_2 = P[0, 0] * IB[0, 0] + P[0, 1] * IB[0, 1] + dPsi_dx_3 = P[1, 0] * IB[0, 0] + P[1, 1] * IB[0, 1] + dPsi_dx_4 = P[0, 0] * IB[1, 0] + P[0, 1] * IB[1, 1] + dPsi_dx_5 = P[1, 0] * IB[1, 0] + P[1, 1] * IB[1, 1] + return [np.array([-dPsi_dx_2 - dPsi_dx_4, -dPsi_dx_3 - dPsi_dx_5]), np.array([dPsi_dx_2, dPsi_dx_3]), np.array([dPsi_dx_4, dPsi_dx_5])] + +def d2Psi_div_dx2(dP_div_dF, IB): # applying chain-rule, d2Psi_div_dx2 = dF_div_dx^T * d2Psi_div_dF2 * dF_div_dx (note that d2F_div_dx2 = 0) + intermediate = np.array([[0.0, 0.0, 0.0, 0.0]] * 6) + for colI in range(0, 4): + _000 = dP_div_dF[0, colI] * IB[0, 0] + _010 = dP_div_dF[0, colI] * IB[1, 0] + _101 = dP_div_dF[2, colI] * IB[0, 1] + _111 = dP_div_dF[2, colI] * IB[1, 1] + _200 = dP_div_dF[1, colI] * IB[0, 0] + _210 = dP_div_dF[1, colI] * IB[1, 0] + _301 = dP_div_dF[3, colI] * IB[0, 1] + _311 = dP_div_dF[3, colI] * IB[1, 1] + intermediate[2, colI] = _000 + _101 + intermediate[3, colI] = _200 + _301 + intermediate[4, colI] = _010 + _111 + intermediate[5, colI] = _210 + _311 + intermediate[0, colI] = -intermediate[2, colI] - intermediate[4, colI] + intermediate[1, colI] = -intermediate[3, colI] - intermediate[5, colI] + result = np.array([[0.0, 0.0, 0.0, 0.0, 0.0, 0.0]] * 6) + for colI in range(0, 6): + _000 = intermediate[colI, 0] * IB[0, 0] + _010 = intermediate[colI, 0] * IB[1, 0] + _101 = intermediate[colI, 2] * IB[0, 1] + _111 = intermediate[colI, 2] * IB[1, 1] + _200 = intermediate[colI, 1] * IB[0, 0] + _210 = intermediate[colI, 1] * IB[1, 0] + _301 = intermediate[colI, 3] * IB[0, 1] + _311 = intermediate[colI, 3] * IB[1, 1] + result[2, colI] = _000 + _101 + result[3, colI] = _200 + _301 + result[4, colI] = _010 + _111 + result[5, colI] = _210 + _311 + result[0, colI] = -_000 - _101 - _010 - _111 + result[1, colI] = -_200 - _301 - _210 - _311 + return result + +def val(x, e, vol, IB, mu, lam): + sum = 0.0 + for i in range(0, len(e)): + F = deformation_grad(x, e[i], IB[i]) + sum += vol[i] * Psi(F, mu[i], lam[i]) + return sum + +def grad(x, e, vol, IB, mu, lam): + g = np.array([[0.0, 0.0]] * len(x)) + for i in range(0, len(e)): + F = deformation_grad(x, e[i], IB[i]) + P = vol[i] * dPsi_div_dF(F, mu[i], lam[i]) + g_local = dPsi_div_dx(P, IB[i]) + for j in range(0, 3): + g[e[i][j]] += g_local[j] + return g + +def hess(x, e, vol, IB, mu, lam): + IJV = [[0] * (len(e) * 36), [0] * (len(e) * 36), np.array([0.0] * (len(e) * 36))] + for i in range(0, len(e)): + F = deformation_grad(x, e[i], IB[i]) + dP_div_dF = vol[i] * d2Psi_div_dF2(F, mu[i], lam[i]) + local_hess = d2Psi_div_dx2(dP_div_dF, IB[i]) + for xI in range(0, 3): + for xJ in range(0, 3): + for dI in range(0, 2): + for dJ in range(0, 2): + ind = i * 36 + (xI * 3 + xJ) * 4 + dI * 2 + dJ + IJV[0][ind] = e[i][xI] * 2 + dI + IJV[1][ind] = e[i][xJ] * 2 + dJ + IJV[2][ind] = local_hess[xI * 2 + dI, xJ * 2 + dJ] + return IJV + +def init_step_size(x, e, p): + alpha = 1 + for i in range(0, len(e)): + x21 = x[e[i][1]] - x[e[i][0]] + x31 = x[e[i][2]] - x[e[i][0]] + p21 = p[e[i][1]] - p[e[i][0]] + p31 = p[e[i][2]] - p[e[i][0]] + detT = np.linalg.det(np.transpose([x21, x31])) + a = np.linalg.det(np.transpose([p21, p31])) / detT + b = (np.linalg.det(np.transpose([x21, p31])) + np.linalg.det(np.transpose([p21, x31]))) / detT + c = 0.9 # solve for alpha that first brings the new volume to 0.1x the old volume for slackness + critical_alpha = utils.smallest_positive_real_root_quad(a, b, c) + if critical_alpha > 0: + alpha = min(alpha, critical_alpha) + return alpha \ No newline at end of file diff --git a/solid-sim-tutorial/7_self_contact/SpringEnergy.py b/solid-sim-tutorial/7_self_contact/SpringEnergy.py new file mode 100644 index 0000000..609e177 --- /dev/null +++ b/solid-sim-tutorial/7_self_contact/SpringEnergy.py @@ -0,0 +1,23 @@ +import numpy as np + +def val(x, m, DBC, DBC_target, k): + sum = 0.0 + for i in range(0, len(DBC)): + diff = x[DBC[i]] - DBC_target[i] + sum += 0.5 * k * m[DBC[i]] * diff.dot(diff) + return sum + +def grad(x, m, DBC, DBC_target, k): + g = np.array([[0.0, 0.0]] * len(x)) + for i in range(0, len(DBC)): + g[DBC[i]] = k * m[DBC[i]] * (x[DBC[i]] - DBC_target[i]) + return g + +def hess(x, m, DBC, DBC_target, k): + IJV = [[0] * 0, [0] * 0, np.array([0.0] * 0)] + for i in range(0, len(DBC)): + for d in range(0, 2): + IJV[0].append(DBC[i] * 2 + d) + IJV[1].append(DBC[i] * 2 + d) + IJV[2] = np.append(IJV[2], k * m[DBC[i]]) + return IJV \ No newline at end of file diff --git a/solid-sim-tutorial/7_self_contact/distance/CCD.py b/solid-sim-tutorial/7_self_contact/distance/CCD.py new file mode 100644 index 0000000..79bffa1 --- /dev/null +++ b/solid-sim-tutorial/7_self_contact/distance/CCD.py @@ -0,0 +1,63 @@ +# ANCHOR: broad_phase +from copy import deepcopy +import numpy as np +import math + +import distance.PointEdgeDistance as PE + +# check whether the bounding box of the trajectory of the point and the edge overlap +def bbox_overlap(p, e0, e1, dp, de0, de1, toc_upperbound): + max_p = np.maximum(p, p + toc_upperbound * dp) # point trajectory bbox top-right + min_p = np.minimum(p, p + toc_upperbound * dp) # point trajectory bbox bottom-left + max_e = np.maximum(np.maximum(e0, e0 + toc_upperbound * de0), np.maximum(e1, e1 + toc_upperbound * de1)) # edge trajectory bbox top-right + min_e = np.minimum(np.minimum(e0, e0 + toc_upperbound * de0), np.minimum(e1, e1 + toc_upperbound * de1)) # edge trajectory bbox bottom-left + if np.any(np.greater(min_p, max_e)) or np.any(np.greater(min_e, max_p)): + return False + else: + return True +# ANCHOR_END: broad_phase + +# ANCHOR: accd +# compute the first "time" of contact, or toc, +# return the computed toc only if it is smaller than the previously computed toc_upperbound +def narrow_phase_CCD(_p, _e0, _e1, _dp, _de0, _de1, toc_upperbound): + p = deepcopy(_p) + e0 = deepcopy(_e0) + e1 = deepcopy(_e1) + dp = deepcopy(_dp) + de0 = deepcopy(_de0) + de1 = deepcopy(_de1) + + # use relative displacement for faster convergence + mov = (dp + de0 + de1) / 3 + de0 -= mov + de1 -= mov + dp -= mov + maxDispMag = np.linalg.norm(dp) + math.sqrt(max(np.dot(de0, de0), np.dot(de1, de1))) + if maxDispMag == 0: + return toc_upperbound + + eta = 0.1 # calculate the toc that first brings the distance to 0.1x the current distance + dist2_cur = PE.val(p, e0, e1) + dist_cur = math.sqrt(dist2_cur) + gap = eta * dist_cur + # iteratively move the point and edge towards each other and + # grow the toc estimate without numerical errors + toc = 0 + while True: + tocLowerBound = (1 - eta) * dist_cur / maxDispMag + + p += tocLowerBound * dp + e0 += tocLowerBound * de0 + e1 += tocLowerBound * de1 + dist2_cur = PE.val(p, e0, e1) + dist_cur = math.sqrt(dist2_cur) + if toc != 0 and dist_cur < gap: + break + + toc += tocLowerBound + if toc > toc_upperbound: + return toc_upperbound + + return toc +# ANCHOR_END: accd \ No newline at end of file diff --git a/solid-sim-tutorial/7_self_contact/distance/PointEdgeDistance.py b/solid-sim-tutorial/7_self_contact/distance/PointEdgeDistance.py new file mode 100644 index 0000000..948bedc --- /dev/null +++ b/solid-sim-tutorial/7_self_contact/distance/PointEdgeDistance.py @@ -0,0 +1,50 @@ +# ANCHOR: PE_val_grad +import numpy as np + +import distance.PointPointDistance as PP +import distance.PointLineDistance as PL + +def val(p, e0, e1): + e = e1 - e0 + ratio = np.dot(e, p - e0) / np.dot(e, e) + if ratio < 0: # point(p)-point(e0) expression + return PP.val(p, e0) + elif ratio > 1: # point(p)-point(e1) expression + return PP.val(p, e1) + else: # point(p)-line(e0e1) expression + return PL.val(p, e0, e1) + +def grad(p, e0, e1): + e = e1 - e0 + ratio = np.dot(e, p - e0) / np.dot(e, e) + if ratio < 0: # point(p)-point(e0) expression + g_PP = PP.grad(p, e0) + return np.reshape([g_PP[0:2], g_PP[2:4], np.array([0.0, 0.0])], (1, 6))[0] + elif ratio > 1: # point(p)-point(e1) expression + g_PP = PP.grad(p, e1) + return np.reshape([g_PP[0:2], np.array([0.0, 0.0]), g_PP[2:4]], (1, 6))[0] + else: # point(p)-line(e0e1) expression + return PL.grad(p, e0, e1) +# ANCHOR_END: PE_val_grad + +def hess(p, e0, e1): + e = e1 - e0 + ratio = np.dot(e, p - e0) / np.dot(e, e) + if ratio < 0: # point(p)-point(e0) expression + H_PP = PP.hess(p, e0) + return np.array([np.reshape([H_PP[0, 0:2], H_PP[0, 2:4], np.array([0.0, 0.0])], (1, 6))[0], \ + np.reshape([H_PP[1, 0:2], H_PP[1, 2:4], np.array([0.0, 0.0])], (1, 6))[0], \ + np.reshape([H_PP[2, 0:2], H_PP[2, 2:4], np.array([0.0, 0.0])], (1, 6))[0], \ + np.reshape([H_PP[3, 0:2], H_PP[3, 2:4], np.array([0.0, 0.0])], (1, 6))[0], \ + np.array([0.0] * 6), \ + np.array([0.0] * 6)]) + elif ratio > 1: # point(p)-point(e1) expression + H_PP = PP.hess(p, e1) + return np.array([np.reshape([H_PP[0, 0:2], np.array([0.0, 0.0]), H_PP[0, 2:4]], (1, 6))[0], \ + np.reshape([H_PP[1, 0:2], np.array([0.0, 0.0]), H_PP[1, 2:4]], (1, 6))[0], \ + np.array([0.0] * 6), \ + np.array([0.0] * 6), \ + np.reshape([H_PP[2, 0:2], np.array([0.0, 0.0]), H_PP[2, 2:4]], (1, 6))[0], \ + np.reshape([H_PP[3, 0:2], np.array([0.0, 0.0]), H_PP[3, 2:4]], (1, 6))[0]]) + else: # point(p)-line(e0e1) expression + return PL.hess(p, e0, e1) \ No newline at end of file diff --git a/solid-sim-tutorial/7_self_contact/distance/PointLineDistance.py b/solid-sim-tutorial/7_self_contact/distance/PointLineDistance.py new file mode 100644 index 0000000..311892d --- /dev/null +++ b/solid-sim-tutorial/7_self_contact/distance/PointLineDistance.py @@ -0,0 +1,116 @@ +# ANCHOR: PL_val_grad +import numpy as np + +def val(p, e0, e1): + e = e1 - e0 + numerator = e[1] * p[0] - e[0] * p[1] + e1[0] * e0[1] - e1[1] * e0[0] + return numerator * numerator / np.dot(e, e) + +def grad(p, e0, e1): + g = np.array([0.0] * 6) + t13 = -e1[0] + e0[0] + t14 = -e1[1] + e0[1] + t23 = 1.0 / (t13 * t13 + t14 * t14) + t25 = ((e0[0] * e1[1] + -(e0[1] * e1[0])) + t14 * p[0]) + -(t13 * p[1]) + t24 = t23 * t23 + t26 = t25 * t25 + t27 = (e0[0] * 2.0 + -(e1[0] * 2.0)) * t24 * t26 + t26 *= (e0[1] * 2.0 + -(e1[1] * 2.0)) * t24 + g[0] = t14 * t23 * t25 * 2.0 + g[1] = t13 * t23 * t25 * -2.0 + t24 = t23 * t25 + g[2] = -t27 - t24 * (-e1[1] + p[1]) * 2.0 + g[3] = -t26 + t24 * (-e1[0] + p[0]) * 2.0 + g[4] = t27 + t24 * (p[1] - e0[1]) * 2.0 + g[5] = t26 - t24 * (p[0] - e0[0]) * 2.0 + return g +# ANCHOR_END: PL_val_grad + +def hess(p, e0, e1): + H = np.array([0.0] * 36) + t15 = -e0[0] + p[0] + t16 = -e0[1] + p[1] + t17 = -e1[0] + p[0] + t18 = -e1[1] + p[1] + t19 = -e1[0] + e0[0] + t20 = -e1[1] + e0[1] + t21 = e0[0] * 2.0 + -(e1[0] * 2.0) + t22 = e0[1] * 2.0 + -(e1[1] * 2.0) + t23 = t19 * t19 + t24 = t20 * t20 + t31 = 1.0 / (t23 + t24) + t34 = ((e0[0] * e1[1] + -(e0[1] * e1[0])) + t20 * p[0]) + -(t19 * p[1]) + t32 = t31 * t31 + t33 = t32 * t31 + t35 = t34 * t34 + t60 = t31 * t34 * 2.0 + t59 = -(t19 * t20 * t31 * 2.0) + t62 = t32 * t35 * 2.0 + t64 = t21 * t21 * t33 * t35 * 2.0 + t65 = t22 * t22 * t33 * t35 * 2.0 + t68 = t15 * t21 * t32 * t34 * 2.0 + t71 = t16 * t22 * t32 * t34 * 2.0 + t72 = t17 * t21 * t32 * t34 * 2.0 + t75 = t18 * t22 * t32 * t34 * 2.0 + t76 = t19 * t21 * t32 * t34 * 2.0 + t77 = t20 * t21 * t32 * t34 * 2.0 + t78 = t19 * t22 * t32 * t34 * 2.0 + t79 = t20 * t22 * t32 * t34 * 2.0 + t90 = t21 * t22 * t33 * t35 * 2.0 + t92 = t16 * t20 * t31 * 2.0 + t77 + t94 = -(t17 * t19 * t31 * 2.0) + t78 + t96 = (t18 * t19 * t31 * 2.0 + -t60) + t76 + t99 = (-(t15 * t20 * t31 * 2.0) + -t60) + t79 + t93 = t15 * t19 * t31 * 2.0 + -t78 + t35 = -(t18 * t20 * t31 * 2.0) + -t77 + t97 = (t17 * t20 * t31 * 2.0 + t60) + -t79 + t98 = (-(t16 * t19 * t31 * 2.0) + t60) + -t76 + t100 = ((-(t15 * t16 * t31 * 2.0) + t71) + -t68) + t90 + t19 = ((-(t17 * t18 * t31 * 2.0) + t75) + -t72) + t90 + t102_tmp = t17 * t22 * t32 * t34 + t76 = t15 * t22 * t32 * t34 + t22 = (((-(t15 * t17 * t31 * 2.0) + t62) + -t65) + t76 * 2.0) + t102_tmp * 2.0 + t33 = t18 * t21 * t32 * t34 + t20 = t16 * t21 * t32 * t34 + t79 = (((-(t16 * t18 * t31 * 2.0) + t62) + -t64) + -(t20 * 2.0)) + -(t33 * 2.0) + t77 = (((t15 * t18 * t31 * 2.0 + t60) + t68) + -t75) + -t90 + t78 = (((t16 * t17 * t31 * 2.0 + -t60) + t72) + -t71) + -t90 + H[0] = t24 * t31 * 2.0 + H[1] = t59 + H[2] = t35 + H[3] = t97 + H[4] = t92 + H[5] = t99 + H[6] = t59 + H[7] = t23 * t31 * 2.0 + H[8] = t96 + H[9] = t94 + H[10] = t98 + H[11] = t93 + H[12] = t35 + H[13] = t96 + t35 = -t62 + t64 + H[14] = (t35 + t18 * t18 * t31 * 2.0) + t33 * 4.0 + H[15] = t19 + H[16] = t79 + H[17] = t77 + H[18] = t97 + H[19] = t94 + H[20] = t19 + t33 = -t62 + t65 + H[21] = (t33 + t17 * t17 * t31 * 2.0) - t102_tmp * 4.0 + H[22] = t78 + H[23] = t22 + H[24] = t92 + H[25] = t98 + H[26] = t79 + H[27] = t78 + H[28] = (t35 + t16 * t16 * t31 * 2.0) + t20 * 4.0 + H[29] = t100 + H[30] = t99 + H[31] = t93 + H[32] = t77 + H[33] = t22 + H[34] = t100 + H[35] = (t33 + t15 * t15 * t31 * 2.0) - t76 * 4.0 + return np.reshape(H, (6, 6)) \ No newline at end of file diff --git a/solid-sim-tutorial/7_self_contact/distance/PointPointDistance.py b/solid-sim-tutorial/7_self_contact/distance/PointPointDistance.py new file mode 100644 index 0000000..8718a19 --- /dev/null +++ b/solid-sim-tutorial/7_self_contact/distance/PointPointDistance.py @@ -0,0 +1,15 @@ +import numpy as np + +def val(p0, p1): + e = p0 - p1 + return np.dot(e, e) + +def grad(p0, p1): + e = p0 - p1 + return np.reshape([2 * e, -2 * e], (1, 4))[0] + +def hess(p0, p1): + H = np.array([[0.0] * 4] * 4) + H[0, 0] = H[1, 1] = H[2, 2] = H[3, 3] = 2 + H[0, 2] = H[1, 3] = H[2, 0] = H[3, 1] = -2 + return H \ No newline at end of file diff --git a/solid-sim-tutorial/7_self_contact/simulator.py b/solid-sim-tutorial/7_self_contact/simulator.py new file mode 100755 index 0000000..891f154 --- /dev/null +++ b/solid-sim-tutorial/7_self_contact/simulator.py @@ -0,0 +1,91 @@ +# FEM Solids Simulation + +import numpy as np # numpy for linear algebra +import pygame # pygame for visualization +pygame.init() + +import square_mesh # square mesh +import time_integrator + +# ANCHOR: sim_setup +# simulation setup +side_len = 0.45 +rho = 1000 # density of square +E = 1e5 # Young's modulus +nu = 0.4 # Poisson's ratio +n_seg = 2 # num of segments per side of the square +h = 0.01 # time step size in s +DBC = [(n_seg + 1) * (n_seg + 1) * 2] # dirichlet node index +DBC_v = [np.array([0.0, -0.5])] # dirichlet node velocity +DBC_limit = [np.array([0.0, -0.7])] # dirichlet node limit position +ground_n = np.array([0.0, 1.0]) # normal of the slope +ground_n /= np.linalg.norm(ground_n) # normalize ground normal vector just in case +ground_o = np.array([0.0, -1.0]) # a point on the slope +mu = 0.4 # friction coefficient of the slope + +# initialize simulation +[x, e] = square_mesh.generate(side_len, n_seg) # node positions and triangle node indices of the top square +e = np.append(e, np.array(e) + [len(x)] * 3, axis=0) # add triangle node indices of the bottom square +x = np.append(x, x + [side_len * 0.1, -side_len * 1.1], axis=0) # add node positions of the bottom square +# ANCHOR_END: sim_setup +[bp, be] = square_mesh.find_boundary(e) # find boundary points and edges for self-contact +x = np.append(x, [[0.0, side_len * 0.6]], axis=0) # ceil origin (with normal [0.0, -1.0]) +v = np.array([[0.0, 0.0]] * len(x)) # velocity +m = [rho * side_len * side_len / ((n_seg + 1) * (n_seg + 1))] * len(x) # calculate node mass evenly +# rest shape basis, volume, and lame parameters +vol = [0.0] * len(e) +IB = [np.array([[0.0, 0.0]] * 2)] * len(e) +for i in range(0, len(e)): + TB = [x[e[i][1]] - x[e[i][0]], x[e[i][2]] - x[e[i][0]]] + vol[i] = np.linalg.det(np.transpose(TB)) / 2 + IB[i] = np.linalg.inv(np.transpose(TB)) +mu_lame = [0.5 * E / (1 + nu)] * len(e) +lam = [E * nu / ((1 + nu) * (1 - 2 * nu))] * len(e) +# identify whether a node is Dirichlet +is_DBC = [False] * len(x) +for i in DBC: + is_DBC[i] = True +contact_area = [side_len / n_seg] * len(x) # perimeter split to each node + +# simulation with visualization +resolution = np.array([900, 900]) +offset = resolution / 2 +scale = 200 +def screen_projection(x): + return [offset[0] + scale * x[0], resolution[1] - (offset[1] + scale * x[1])] + +time_step = 0 +square_mesh.write_to_file(time_step, x, e) +screen = pygame.display.set_mode(resolution) +running = True +while running: + # run until the user asks to quit + for event in pygame.event.get(): + if event.type == pygame.QUIT: + running = False + + print('### Time step', time_step, '###') + + # fill the background and draw the square + screen.fill((255, 255, 255)) + pygame.draw.aaline(screen, (0, 0, 255), screen_projection([ground_o[0] - 3.0 * ground_n[1], ground_o[1] + 3.0 * ground_n[0]]), + screen_projection([ground_o[0] + 3.0 * ground_n[1], ground_o[1] - 3.0 * ground_n[0]])) # ground + pygame.draw.aaline(screen, (0, 0, 255), screen_projection([x[-1][0] + 3.0, x[-1][1]]), + screen_projection([x[-1][0] - 3.0, x[-1][1]])) # ceil + for eI in e: + pygame.draw.aaline(screen, (0, 0, 255), screen_projection(x[eI[0]]), screen_projection(x[eI[1]])) + pygame.draw.aaline(screen, (0, 0, 255), screen_projection(x[eI[1]]), screen_projection(x[eI[2]])) + pygame.draw.aaline(screen, (0, 0, 255), screen_projection(x[eI[2]]), screen_projection(x[eI[0]])) + for xId in range(0, len(x) - 1): + xI = x[xId] + pygame.draw.circle(screen, (0, 0, 255), screen_projection(xI), 0.1 * side_len / n_seg * scale) + + pygame.display.flip() # flip the display + + # step forward simulation and wait for screen refresh + [x, v] = time_integrator.step_forward(x, e, v, m, vol, IB, mu_lame, lam, ground_n, ground_o, bp, be, contact_area, mu, is_DBC, DBC, DBC_v, DBC_limit, h, 1e-2) + time_step += 1 + pygame.time.wait(int(h * 1000)) + square_mesh.write_to_file(time_step, x, e) + +pygame.quit() \ No newline at end of file diff --git a/solid-sim-tutorial/7_self_contact/square_mesh.py b/solid-sim-tutorial/7_self_contact/square_mesh.py new file mode 100644 index 0000000..f467567 --- /dev/null +++ b/solid-sim-tutorial/7_self_contact/square_mesh.py @@ -0,0 +1,61 @@ +import numpy as np +import os + +def generate(side_length, n_seg): + # sample nodes uniformly on a square + x = np.array([[0.0, 0.0]] * ((n_seg + 1) ** 2)) + step = side_length / n_seg + for i in range(0, n_seg + 1): + for j in range(0, n_seg + 1): + x[i * (n_seg + 1) + j] = [-side_length / 2 + i * step, -side_length / 2 + j * step] + + # connect the nodes with triangle elements + e = [] + for i in range(0, n_seg): + for j in range(0, n_seg): + # triangulate each cell following a symmetric pattern: + if (i % 2)^(j % 2): + e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j, i * (n_seg + 1) + j + 1]) + e.append([(i + 1) * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j + 1, i * (n_seg + 1) + j + 1]) + else: + e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j + 1]) + e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j + 1, i * (n_seg + 1) + j + 1]) + + return [x, e] + +# ANCHOR: find_boundary +def find_boundary(e): + # index all half-edges for fast query + edge_set = set() + for i in range(0, len(e)): + for j in range(0, 3): + edge_set.add((e[i][j], e[i][(j + 1) % 3])) + + # find boundary points and edges + bp_set = set() + be = [] + for eI in edge_set: + if (eI[1], eI[0]) not in edge_set: + # if the inverse edge of a half-edge does not exist, + # then it is a boundary edge + be.append([eI[0], eI[1]]) + bp_set.add(eI[0]) + bp_set.add(eI[1]) + return [list(bp_set), be] +# ANCHOR_END: find_boundary + +def write_to_file(frameNum, x, e): + # Check if 'output' directory exists; if not, create it + if not os.path.exists('output'): + os.makedirs('output') + + # create obj file + filename = f"output/{frameNum}.obj" + with open(filename, 'w') as f: + # write vertex coordinates + for row in x: + f.write(f"v {float(row[0]):.6f} {float(row[1]):.6f} 0.0\n") + # write vertex indices for each triangle + for row in e: + #NOTE: vertex indices start from 1 in obj file format + f.write(f"f {row[0] + 1} {row[1] + 1} {row[2] + 1}\n") \ No newline at end of file diff --git a/solid-sim-tutorial/7_self_contact/time_integrator.py b/solid-sim-tutorial/7_self_contact/time_integrator.py new file mode 100644 index 0000000..9ba4847 --- /dev/null +++ b/solid-sim-tutorial/7_self_contact/time_integrator.py @@ -0,0 +1,102 @@ +import copy +from cmath import inf + +import numpy as np +import numpy.linalg as LA +import scipy.sparse as sparse +from scipy.sparse.linalg import spsolve + +import InertiaEnergy +import NeoHookeanEnergy +import GravityEnergy +import BarrierEnergy +import FrictionEnergy +import SpringEnergy + +def step_forward(x, e, v, m, vol, IB, mu_lame, lam, n, o, bp, be, contact_area, mu, is_DBC, DBC, DBC_v, DBC_limit, h, tol): + x_tilde = x + v * h # implicit Euler predictive position + x_n = copy.deepcopy(x) + mu_lambda = BarrierEnergy.compute_mu_lambda(x, n, o, bp, be, contact_area, mu) # compute mu * lambda for each node using x^n + DBC_target = [] # target position of each DBC in the current time step + for i in range(0, len(DBC)): + if (DBC_limit[i] - x_n[DBC[i]]).dot(DBC_v[i]) > 0: + DBC_target.append(x_n[DBC[i]] + h * DBC_v[i]) + else: + DBC_target.append(x_n[DBC[i]]) + DBC_stiff = 1000 # initialize stiffness for DBC springs + + # Newton loop + iter = 0 + E_last = IP_val(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, bp, be, contact_area, (x - x_n) / h, mu_lambda, DBC, DBC_target, DBC_stiff, h) + [p, DBC_satisfied] = search_dir(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, bp, be, contact_area, (x - x_n) / h, mu_lambda, is_DBC, DBC, DBC_target, DBC_stiff, tol, h) + while (LA.norm(p, inf) / h > tol) | (sum(DBC_satisfied) != len(DBC)): # also check whether all DBCs are satisfied + print('Iteration', iter, ':') + print('residual =', LA.norm(p, inf) / h) + + if (LA.norm(p, inf) / h <= tol) & (sum(DBC_satisfied) != len(DBC)): + # increase DBC stiffness and recompute energy value record + DBC_stiff *= 2 + E_last = IP_val(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, bp, be, contact_area, (x - x_n) / h, mu_lambda, DBC, DBC_target, DBC_stiff, h) + + # filter line search + alpha = min(BarrierEnergy.init_step_size(x, n, o, bp, be, p), NeoHookeanEnergy.init_step_size(x, e, p)) # avoid interpenetration, tunneling, and inversion + while IP_val(x + alpha * p, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, bp, be, contact_area, (x + alpha * p - x_n) / h, mu_lambda, DBC, DBC_target, DBC_stiff, h) > E_last: + alpha /= 2 + print('step size =', alpha) + + x += alpha * p + E_last = IP_val(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, bp, be, contact_area, (x - x_n) / h, mu_lambda, DBC, DBC_target, DBC_stiff, h) + [p, DBC_satisfied] = search_dir(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, bp, be, contact_area, (x - x_n) / h, mu_lambda, is_DBC, DBC, DBC_target, DBC_stiff, tol, h) + iter += 1 + + v = (x - x_n) / h # implicit Euler velocity update + return [x, v] + +def IP_val(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, bp, be, contact_area, v, mu_lambda, DBC, DBC_target, DBC_stiff, h): + return InertiaEnergy.val(x, x_tilde, m) + h * h * ( # implicit Euler + NeoHookeanEnergy.val(x, e, vol, IB, mu_lame, lam) + + GravityEnergy.val(x, m) + + BarrierEnergy.val(x, n, o, bp, be, contact_area) + + FrictionEnergy.val(v, mu_lambda, h, n) + ) + SpringEnergy.val(x, m, DBC, DBC_target, DBC_stiff) + +def IP_grad(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, bp, be, contact_area, v, mu_lambda, DBC, DBC_target, DBC_stiff, h): + return InertiaEnergy.grad(x, x_tilde, m) + h * h * ( # implicit Euler + NeoHookeanEnergy.grad(x, e, vol, IB, mu_lame, lam) + + GravityEnergy.grad(x, m) + + BarrierEnergy.grad(x, n, o, bp, be, contact_area) + + FrictionEnergy.grad(v, mu_lambda, h, n) + ) + SpringEnergy.grad(x, m, DBC, DBC_target, DBC_stiff) + +def IP_hess(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, bp, be, contact_area, v, mu_lambda, DBC, DBC_target, DBC_stiff, h): + IJV_In = InertiaEnergy.hess(x, x_tilde, m) + IJV_MS = NeoHookeanEnergy.hess(x, e, vol, IB, mu_lame, lam) + IJV_B = BarrierEnergy.hess(x, n, o, bp, be, contact_area) + IJV_F = FrictionEnergy.hess(v, mu_lambda, h, n) + IJV_S = SpringEnergy.hess(x, m, DBC, DBC_target, DBC_stiff) + IJV_MS[2] *= h * h # implicit Euler + IJV_B[2] *= h * h # implicit Euler + IJV_F[2] *= h * h # implicit Euler + IJV_In_MS = np.append(IJV_In, IJV_MS, axis=1) + IJV_In_MS_B = np.append(IJV_In_MS, IJV_B, axis=1) + IJV_In_MS_B_F = np.append(IJV_In_MS_B, IJV_F, axis=1) + IJV = np.append(IJV_In_MS_B_F, IJV_S, axis=1) + H = sparse.coo_matrix((IJV[2], (IJV[0], IJV[1])), shape=(len(x) * 2, len(x) * 2)).tocsr() + return H + +def search_dir(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, bp, be, contact_area, v, mu_lambda, is_DBC, DBC, DBC_target, DBC_stiff, tol, h): + projected_hess = IP_hess(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, bp, be, contact_area, v, mu_lambda, DBC, DBC_target, DBC_stiff, h) + reshaped_grad = IP_grad(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, bp, be, contact_area, v, mu_lambda, DBC, DBC_target, DBC_stiff, h).reshape(len(x) * 2, 1) + # check whether each DBC is satisfied + DBC_satisfied = [False] * len(x) + for i in range(0, len(DBC)): + if LA.norm(x[DBC[i]] - DBC_target[i]) / h < tol: + DBC_satisfied[DBC[i]] = True + # eliminate DOF if it's a satisfied DBC by modifying gradient and Hessian for DBC: + for i, j in zip(*projected_hess.nonzero()): + if (is_DBC[int(i / 2)] & DBC_satisfied[int(i / 2)]) | (is_DBC[int(j / 2)] & DBC_satisfied[int(i / 2)]): + projected_hess[i, j] = (i == j) + for i in range(0, len(x)): + if is_DBC[i] & DBC_satisfied[i]: + reshaped_grad[i * 2] = reshaped_grad[i * 2 + 1] = 0.0 + return [spsolve(projected_hess, -reshaped_grad).reshape(len(x), 2), DBC_satisfied] \ No newline at end of file diff --git a/solid-sim-tutorial/7_self_contact/utils.py b/solid-sim-tutorial/7_self_contact/utils.py new file mode 100644 index 0000000..dc29c29 --- /dev/null +++ b/solid-sim-tutorial/7_self_contact/utils.py @@ -0,0 +1,28 @@ +import numpy as np +import numpy.linalg as LA +import math + +def make_PSD(hess): + [lam, V] = LA.eigh(hess) # Eigen decomposition on symmetric matrix + # set all negative Eigenvalues to 0 + for i in range(0, len(lam)): + lam[i] = max(0, lam[i]) + return np.matmul(np.matmul(V, np.diag(lam)), np.transpose(V)) + +def smallest_positive_real_root_quad(a, b, c, tol = 1e-6): + # return negative value if no positive real root is found + t = 0 + if abs(a) <= tol: + if abs(b) <= tol: # f(x) = c > 0 for all x + t = -1 + else: + t = -c / b + else: + desc = b * b - 4 * a * c + if desc > 0: + t = (-b - math.sqrt(desc)) / (2 * a) + if t < 0: + t = (-b + math.sqrt(desc)) / (2 * a) + else: # desv<0 ==> imag, f(x) > 0 for all x > 0 + t = -1 + return t \ No newline at end of file diff --git a/solid-sim-tutorial/8_self_friction/BarrierEnergy.py b/solid-sim-tutorial/8_self_friction/BarrierEnergy.py new file mode 100644 index 0000000..9333b8f --- /dev/null +++ b/solid-sim-tutorial/8_self_friction/BarrierEnergy.py @@ -0,0 +1,166 @@ +import math +import numpy as np + +import distance.PointEdgeDistance as PE +import distance.CCD as CCD + +import utils + +dhat = 0.01 +kappa = 1e5 + +def val(x, n, o, bp, be, contact_area): + sum = 0.0 + # floor: + for i in range(0, len(x)): + d = n.dot(x[i] - o) + if d < dhat: + s = d / dhat + sum += contact_area[i] * dhat * kappa / 2 * (s - 1) * math.log(s) + # ceil: + n = np.array([0.0, -1.0]) + for i in range(0, len(x) - 1): + d = n.dot(x[i] - x[-1]) + if d < dhat: + s = d / dhat + sum += contact_area[i] * dhat * kappa / 2 * (s - 1) * math.log(s) + # self-contact + dhat_sqr = dhat * dhat + for xI in bp: + for eI in be: + if xI != eI[0] and xI != eI[1]: # do not consider a point and its incident edge + d_sqr = PE.val(x[xI], x[eI[0]], x[eI[1]]) + if d_sqr < dhat_sqr: + s = d_sqr / dhat_sqr + # since d_sqr is used, need to divide by 8 not 2 here for consistency to linear elasticity: + sum += 0.5 * contact_area[xI] * dhat * kappa / 8 * (s - 1) * math.log(s) + return sum + +def grad(x, n, o, bp, be, contact_area): + g = np.array([[0.0, 0.0]] * len(x)) + # floor: + for i in range(0, len(x)): + d = n.dot(x[i] - o) + if d < dhat: + s = d / dhat + g[i] = contact_area[i] * dhat * (kappa / 2 * (math.log(s) / dhat + (s - 1) / d)) * n + # ceil: + n = np.array([0.0, -1.0]) + for i in range(0, len(x) - 1): + d = n.dot(x[i] - x[-1]) + if d < dhat: + s = d / dhat + local_grad = contact_area[i] * dhat * (kappa / 2 * (math.log(s) / dhat + (s - 1) / d)) * n + g[i] += local_grad + g[-1] -= local_grad + # self-contact + dhat_sqr = dhat * dhat + for xI in bp: + for eI in be: + if xI != eI[0] and xI != eI[1]: # do not consider a point and its incident edge + d_sqr = PE.val(x[xI], x[eI[0]], x[eI[1]]) + if d_sqr < dhat_sqr: + s = d_sqr / dhat_sqr + # since d_sqr is used, need to divide by 8 not 2 here for consistency to linear elasticity: + local_grad = 0.5 * contact_area[xI] * dhat * (kappa / 8 * (math.log(s) / dhat_sqr + (s - 1) / d_sqr)) * PE.grad(x[xI], x[eI[0]], x[eI[1]]) + g[xI] += local_grad[0:2] + g[eI[0]] += local_grad[2:4] + g[eI[1]] += local_grad[4:6] + return g + +def hess(x, n, o, bp, be, contact_area): + IJV = [[0] * 0, [0] * 0, np.array([0.0] * 0)] + # floor: + for i in range(0, len(x)): + d = n.dot(x[i] - o) + if d < dhat: + local_hess = contact_area[i] * dhat * kappa / (2 * d * d * dhat) * (d + dhat) * np.outer(n, n) + for c in range(0, 2): + for r in range(0, 2): + IJV[0].append(i * 2 + r) + IJV[1].append(i * 2 + c) + IJV[2] = np.append(IJV[2], local_hess[r, c]) + # ceil: + n = np.array([0.0, -1.0]) + for i in range(0, len(x) - 1): + d = n.dot(x[i] - x[-1]) + if d < dhat: + local_hess = contact_area[i] * dhat * kappa / (2 * d * d * dhat) * (d + dhat) * np.outer(n, n) + index = [i, len(x) - 1] + for nI in range(0, 2): + for nJ in range(0, 2): + for c in range(0, 2): + for r in range(0, 2): + IJV[0].append(index[nI] * 2 + r) + IJV[1].append(index[nJ] * 2 + c) + IJV[2] = np.append(IJV[2], ((-1) ** (nI != nJ)) * local_hess[r, c]) + # self-contact + dhat_sqr = dhat * dhat + for xI in bp: + for eI in be: + if xI != eI[0] and xI != eI[1]: # do not consider a point and its incident edge + d_sqr = PE.val(x[xI], x[eI[0]], x[eI[1]]) + if d_sqr < dhat_sqr: + d_sqr_grad = PE.grad(x[xI], x[eI[0]], x[eI[1]]) + s = d_sqr / dhat_sqr + # since d_sqr is used, need to divide by 8 not 2 here for consistency to linear elasticity: + local_hess = 0.5 * contact_area[xI] * dhat * utils.make_PSD(kappa / (8 * d_sqr * d_sqr * dhat_sqr) * (d_sqr + dhat_sqr) * np.outer(d_sqr_grad, d_sqr_grad) \ + + (kappa / 8 * (math.log(s) / dhat_sqr + (s - 1) / d_sqr)) * PE.hess(x[xI], x[eI[0]], x[eI[1]])) + index = [xI, eI[0], eI[1]] + for nI in range(0, 3): + for nJ in range(0, 3): + for c in range(0, 2): + for r in range(0, 2): + IJV[0].append(index[nI] * 2 + r) + IJV[1].append(index[nJ] * 2 + c) + IJV[2] = np.append(IJV[2], local_hess[nI * 2 + r, nJ * 2 + c]) + return IJV + +def init_step_size(x, n, o, bp, be, p): + alpha = 1 + # floor: + for i in range(0, len(x)): + p_n = p[i].dot(n) + if p_n < 0: + alpha = min(alpha, 0.9 * n.dot(x[i] - o) / -p_n) + # ceil: + n = np.array([0.0, -1.0]) + for i in range(0, len(x) - 1): + p_n = (p[i] - p[-1]).dot(n) + if p_n < 0: + alpha = min(alpha, 0.9 * n.dot(x[i] - x[-1]) / -p_n) + # self-contact + for xI in bp: + for eI in be: + if xI != eI[0] and xI != eI[1]: # do not consider a point and its incident edge + if CCD.bbox_overlap(x[xI], x[eI[0]], x[eI[1]], p[xI], p[eI[0]], p[eI[1]], alpha): + toc = CCD.narrow_phase_CCD(x[xI], x[eI[0]], x[eI[1]], p[xI], p[eI[0]], p[eI[1]], alpha) + if alpha > toc: + alpha = toc + return alpha + +def compute_mu_lambda(x, n, o, bp, be, contact_area, mu): + # floor: + mu_lambda = np.array([0.0] * len(x)) + for i in range(0, len(x)): + d = n.dot(x[i] - o) + if d < dhat: + s = d / dhat + mu_lambda[i] = mu * -contact_area[i] * dhat * (kappa / 2 * (math.log(s) / dhat + (s - 1) / d)) + # ANCHOR: fric_precomp + # self-contact + mu_lambda_self = [] + dhat_sqr = dhat * dhat + for xI in bp: + for eI in be: + if xI != eI[0] and xI != eI[1]: # do not consider a point and its incident edge + d_sqr = PE.val(x[xI], x[eI[0]], x[eI[1]]) + if d_sqr < dhat_sqr: + s = d_sqr / dhat_sqr + # since d_sqr is used, need to divide by 8 not 2 here for consistency to linear elasticity + # also, lambda = -\partial b / \partial d = -(\partial b / \partial d^2) * (\partial d^2 / \partial d) + mu_lam = mu * -0.5 * contact_area[xI] * dhat * (kappa / 8 * (math.log(s) / dhat_sqr + (s - 1) / d_sqr)) * 2 * math.sqrt(d_sqr) + [n, r] = PE.tangent(x[xI], x[eI[0]], x[eI[1]]) # normal and closest point parameterization on the edge + mu_lambda_self.append([xI, eI[0], eI[1], mu_lam, n, r]) + # ANCHOR_END: fric_precomp + return [mu_lambda, mu_lambda_self] \ No newline at end of file diff --git a/solid-sim-tutorial/8_self_friction/FrictionEnergy.py b/solid-sim-tutorial/8_self_friction/FrictionEnergy.py new file mode 100644 index 0000000..8138398 --- /dev/null +++ b/solid-sim-tutorial/8_self_friction/FrictionEnergy.py @@ -0,0 +1,106 @@ +import numpy as np +import utils + +epsv = 1e-3 + +def f0(vbarnorm, epsv, hhat): + if vbarnorm >= epsv: + return vbarnorm * hhat + else: + vbarnormhhat = vbarnorm * hhat + epsvhhat = epsv * hhat + return vbarnormhhat * vbarnormhhat * (-vbarnormhhat / 3.0 + epsvhhat) / (epsvhhat * epsvhhat) + epsvhhat / 3.0 + +def f1_div_vbarnorm(vbarnorm, epsv): + if vbarnorm >= epsv: + return 1.0 / vbarnorm + else: + return (-vbarnorm + 2.0 * epsv) / (epsv * epsv) + +def f_hess_term(vbarnorm, epsv): + if vbarnorm >= epsv: + return -1.0 / (vbarnorm * vbarnorm) + else: + return -1.0 / (epsv * epsv) + +def val(v, mu_lambda, mu_lambda_self, hhat, n): + sum = 0.0 + # floor: + T = np.identity(2) - np.outer(n, n) # tangent of slope is constant + for i in range(0, len(v)): + if mu_lambda[i] > 0: + vbar = np.transpose(T).dot(v[i]) + sum += mu_lambda[i] * f0(np.linalg.norm(vbar), epsv, hhat) + # ANCHOR: val + # self-contact: + for i in range(0, len(mu_lambda_self)): + [xI, eI0, eI1, mu_lam, n, r] = mu_lambda_self[i] + T = np.identity(2) - np.outer(n, n) + rel_v = v[xI] - ((1 - r) * v[eI0] + r * v[eI1]) + vbar = np.transpose(T).dot(rel_v) + sum += mu_lam * f0(np.linalg.norm(vbar), epsv, hhat) + # ANCHOR_END: val + return sum + +def grad(v, mu_lambda, mu_lambda_self, hhat, n): + g = np.array([[0.0, 0.0]] * len(v)) + # floor: + T = np.identity(2) - np.outer(n, n) # tangent of slope is constant + for i in range(0, len(v)): + if mu_lambda[i] > 0: + vbar = np.transpose(T).dot(v[i]) + g[i] = mu_lambda[i] * f1_div_vbarnorm(np.linalg.norm(vbar), epsv) * T.dot(vbar) + # ANCHOR: grad + # self-contact: + for i in range(0, len(mu_lambda_self)): + [xI, eI0, eI1, mu_lam, n, r] = mu_lambda_self[i] + T = np.identity(2) - np.outer(n, n) + rel_v = v[xI] - ((1 - r) * v[eI0] + r * v[eI1]) + vbar = np.transpose(T).dot(rel_v) + g_rel_v = mu_lam * f1_div_vbarnorm(np.linalg.norm(vbar), epsv) * T.dot(vbar) + g[xI] += g_rel_v + g[eI0] += g_rel_v * -(1 - r) + g[eI1] += g_rel_v * -r + # ANCHOR_END: grad + return g + +def hess(v, mu_lambda, mu_lambda_self, hhat, n): + IJV = [[0] * 0, [0] * 0, np.array([0.0] * 0)] + # floor: + T = np.identity(2) - np.outer(n, n) # tangent of slope is constant + for i in range(0, len(v)): + if mu_lambda[i] > 0: + vbar = np.transpose(T).dot(v[i]) + vbarnorm = np.linalg.norm(vbar) + inner_term = f1_div_vbarnorm(vbarnorm, epsv) * np.identity(2) + if vbarnorm != 0: + inner_term += f_hess_term(vbarnorm, epsv) / vbarnorm * np.outer(vbar, vbar) + local_hess = mu_lambda[i] * T.dot(utils.make_PSD(inner_term)).dot(np.transpose(T)) / hhat + for c in range(0, 2): + for r in range(0, 2): + IJV[0].append(i * 2 + r) + IJV[1].append(i * 2 + c) + IJV[2] = np.append(IJV[2], local_hess[r, c]) + # ANCHOR: hess + # self-contact: + for i in range(0, len(mu_lambda_self)): + [xI, eI0, eI1, mu_lam, n, r] = mu_lambda_self[i] + T = np.identity(2) - np.outer(n, n) + rel_v = v[xI] - ((1 - r) * v[eI0] + r * v[eI1]) + vbar = np.transpose(T).dot(rel_v) + vbarnorm = np.linalg.norm(vbar) + inner_term = f1_div_vbarnorm(vbarnorm, epsv) * np.identity(2) + if vbarnorm != 0: + inner_term += f_hess_term(vbarnorm, epsv) / vbarnorm * np.outer(vbar, vbar) + hess_rel_v = mu_lam * T.dot(utils.make_PSD(inner_term)).dot(np.transpose(T)) / hhat + index = [xI, eI0, eI1] + d_rel_v_dv = [1, -(1 - r), -r] + for nI in range(0, 3): + for nJ in range(0, 3): + for c in range(0, 2): + for r in range(0, 2): + IJV[0].append(index[nI] * 2 + r) + IJV[1].append(index[nJ] * 2 + c) + IJV[2] = np.append(IJV[2], d_rel_v_dv[nI] * d_rel_v_dv[nJ] * hess_rel_v[r, c]) + # ANCHOR_END: hess + return IJV \ No newline at end of file diff --git a/solid-sim-tutorial/8_self_friction/GravityEnergy.py b/solid-sim-tutorial/8_self_friction/GravityEnergy.py new file mode 100644 index 0000000..dd9e0e9 --- /dev/null +++ b/solid-sim-tutorial/8_self_friction/GravityEnergy.py @@ -0,0 +1,17 @@ +import numpy as np + +gravity = [0.0, -9.81] + +def val(x, m): + sum = 0.0 + for i in range(0, len(x)): + sum += -m[i] * x[i].dot(gravity) + return sum + +def grad(x, m): + g = np.array([gravity] * len(x)) + for i in range(0, len(x)): + g[i] *= -m[i] + return g + +# Hessian is 0 \ No newline at end of file diff --git a/solid-sim-tutorial/8_self_friction/InertiaEnergy.py b/solid-sim-tutorial/8_self_friction/InertiaEnergy.py new file mode 100644 index 0000000..42f89aa --- /dev/null +++ b/solid-sim-tutorial/8_self_friction/InertiaEnergy.py @@ -0,0 +1,23 @@ +import numpy as np + +def val(x, x_tilde, m): + sum = 0.0 + for i in range(0, len(x)): + diff = x[i] - x_tilde[i] + sum += 0.5 * m[i] * diff.dot(diff) + return sum + +def grad(x, x_tilde, m): + g = np.array([[0.0, 0.0]] * len(x)) + for i in range(0, len(x)): + g[i] = m[i] * (x[i] - x_tilde[i]) + return g + +def hess(x, x_tilde, m): + IJV = [[0] * (len(x) * 2), [0] * (len(x) * 2), np.array([0.0] * (len(x) * 2))] + for i in range(0, len(x)): + for d in range(0, 2): + IJV[0][i * 2 + d] = i * 2 + d + IJV[1][i * 2 + d] = i * 2 + d + IJV[2][i * 2 + d] = m[i] + return IJV \ No newline at end of file diff --git a/solid-sim-tutorial/8_self_friction/NeoHookeanEnergy.py b/solid-sim-tutorial/8_self_friction/NeoHookeanEnergy.py new file mode 100644 index 0000000..01d21e2 --- /dev/null +++ b/solid-sim-tutorial/8_self_friction/NeoHookeanEnergy.py @@ -0,0 +1,175 @@ +import utils +import numpy as np +import math + +def polar_svd(F): + [U, s, VT] = np.linalg.svd(F) + if np.linalg.det(U) < 0: + U[:, 1] = -U[:, 1] + s[1] = -s[1] + if np.linalg.det(VT) < 0: + VT[1, :] = -VT[1, :] + s[1] = -s[1] + return [U, s, VT] + +def dPsi_div_dsigma(s, mu, lam): + ln_sigma_prod = math.log(s[0] * s[1]) + inv0 = 1.0 / s[0] + dPsi_dsigma_0 = mu * (s[0] - inv0) + lam * inv0 * ln_sigma_prod + inv1 = 1.0 / s[1] + dPsi_dsigma_1 = mu * (s[1] - inv1) + lam * inv1 * ln_sigma_prod + return [dPsi_dsigma_0, dPsi_dsigma_1] + +def d2Psi_div_dsigma2(s, mu, lam): + ln_sigma_prod = math.log(s[0] * s[1]) + inv2_0 = 1 / (s[0] * s[0]) + d2Psi_dsigma2_00 = mu * (1 + inv2_0) - lam * inv2_0 * (ln_sigma_prod - 1) + inv2_1 = 1 / (s[1] * s[1]) + d2Psi_dsigma2_11 = mu * (1 + inv2_1) - lam * inv2_1 * (ln_sigma_prod - 1) + d2Psi_dsigma2_01 = lam / (s[0] * s[1]) + return [[d2Psi_dsigma2_00, d2Psi_dsigma2_01], [d2Psi_dsigma2_01, d2Psi_dsigma2_11]] + +def B_left_coef(s, mu, lam): + sigma_prod = s[0] * s[1] + return (mu + (mu - lam * math.log(sigma_prod)) / sigma_prod) / 2 + +def Psi(F, mu, lam): + J = np.linalg.det(F) + lnJ = math.log(J) + return mu / 2 * (np.trace(np.transpose(F).dot(F)) - 2) - mu * lnJ + lam / 2 * lnJ * lnJ + +def dPsi_div_dF(F, mu, lam): + FinvT = np.transpose(np.linalg.inv(F)) + return mu * (F - FinvT) + lam * math.log(np.linalg.det(F)) * FinvT + +def d2Psi_div_dF2(F, mu, lam): + [U, sigma, VT] = polar_svd(F) + + Psi_sigma_sigma = utils.make_PSD(d2Psi_div_dsigma2(sigma, mu, lam)) + + B_left = B_left_coef(sigma, mu, lam) + Psi_sigma = dPsi_div_dsigma(sigma, mu, lam) + B_right = (Psi_sigma[0] + Psi_sigma[1]) / (2 * max(sigma[0] + sigma[1], 1e-6)) + B = utils.make_PSD([[B_left + B_right, B_left - B_right], [B_left - B_right, B_left + B_right]]) + + M = np.array([[0, 0, 0, 0]] * 4) + M[0, 0] = Psi_sigma_sigma[0, 0] + M[0, 3] = Psi_sigma_sigma[0, 1] + M[1, 1] = B[0, 0] + M[1, 2] = B[0, 1] + M[2, 1] = B[1, 0] + M[2, 2] = B[1, 1] + M[3, 0] = Psi_sigma_sigma[1, 0] + M[3, 3] = Psi_sigma_sigma[1, 1] + + dP_div_dF = np.array([[0, 0, 0, 0]] * 4) + for j in range(0, 2): + for i in range(0, 2): + ij = j * 2 + i + for s in range(0, 2): + for r in range(0, 2): + rs = s * 2 + r + dP_div_dF[ij, rs] = M[0, 0] * U[i, 0] * VT[0, j] * U[r, 0] * VT[0, s] \ + + M[0, 3] * U[i, 0] * VT[0, j] * U[r, 1] * VT[1, s] \ + + M[1, 1] * U[i, 1] * VT[0, j] * U[r, 1] * VT[0, s] \ + + M[1, 2] * U[i, 1] * VT[0, j] * U[r, 0] * VT[1, s] \ + + M[2, 1] * U[i, 0] * VT[1, j] * U[r, 1] * VT[0, s] \ + + M[2, 2] * U[i, 0] * VT[1, j] * U[r, 0] * VT[1, s] \ + + M[3, 0] * U[i, 1] * VT[1, j] * U[r, 0] * VT[0, s] \ + + M[3, 3] * U[i, 1] * VT[1, j] * U[r, 1] * VT[1, s] + return dP_div_dF + +def deformation_grad(x, elemVInd, IB): + F = [x[elemVInd[1]] - x[elemVInd[0]], x[elemVInd[2]] - x[elemVInd[0]]] + return np.transpose(F).dot(IB) + +def dPsi_div_dx(P, IB): # applying chain-rule, dPsi_div_dx = dPsi_div_dF * dF_div_dx + dPsi_dx_2 = P[0, 0] * IB[0, 0] + P[0, 1] * IB[0, 1] + dPsi_dx_3 = P[1, 0] * IB[0, 0] + P[1, 1] * IB[0, 1] + dPsi_dx_4 = P[0, 0] * IB[1, 0] + P[0, 1] * IB[1, 1] + dPsi_dx_5 = P[1, 0] * IB[1, 0] + P[1, 1] * IB[1, 1] + return [np.array([-dPsi_dx_2 - dPsi_dx_4, -dPsi_dx_3 - dPsi_dx_5]), np.array([dPsi_dx_2, dPsi_dx_3]), np.array([dPsi_dx_4, dPsi_dx_5])] + +def d2Psi_div_dx2(dP_div_dF, IB): # applying chain-rule, d2Psi_div_dx2 = dF_div_dx^T * d2Psi_div_dF2 * dF_div_dx (note that d2F_div_dx2 = 0) + intermediate = np.array([[0.0, 0.0, 0.0, 0.0]] * 6) + for colI in range(0, 4): + _000 = dP_div_dF[0, colI] * IB[0, 0] + _010 = dP_div_dF[0, colI] * IB[1, 0] + _101 = dP_div_dF[2, colI] * IB[0, 1] + _111 = dP_div_dF[2, colI] * IB[1, 1] + _200 = dP_div_dF[1, colI] * IB[0, 0] + _210 = dP_div_dF[1, colI] * IB[1, 0] + _301 = dP_div_dF[3, colI] * IB[0, 1] + _311 = dP_div_dF[3, colI] * IB[1, 1] + intermediate[2, colI] = _000 + _101 + intermediate[3, colI] = _200 + _301 + intermediate[4, colI] = _010 + _111 + intermediate[5, colI] = _210 + _311 + intermediate[0, colI] = -intermediate[2, colI] - intermediate[4, colI] + intermediate[1, colI] = -intermediate[3, colI] - intermediate[5, colI] + result = np.array([[0.0, 0.0, 0.0, 0.0, 0.0, 0.0]] * 6) + for colI in range(0, 6): + _000 = intermediate[colI, 0] * IB[0, 0] + _010 = intermediate[colI, 0] * IB[1, 0] + _101 = intermediate[colI, 2] * IB[0, 1] + _111 = intermediate[colI, 2] * IB[1, 1] + _200 = intermediate[colI, 1] * IB[0, 0] + _210 = intermediate[colI, 1] * IB[1, 0] + _301 = intermediate[colI, 3] * IB[0, 1] + _311 = intermediate[colI, 3] * IB[1, 1] + result[2, colI] = _000 + _101 + result[3, colI] = _200 + _301 + result[4, colI] = _010 + _111 + result[5, colI] = _210 + _311 + result[0, colI] = -_000 - _101 - _010 - _111 + result[1, colI] = -_200 - _301 - _210 - _311 + return result + +def val(x, e, vol, IB, mu, lam): + sum = 0.0 + for i in range(0, len(e)): + F = deformation_grad(x, e[i], IB[i]) + sum += vol[i] * Psi(F, mu[i], lam[i]) + return sum + +def grad(x, e, vol, IB, mu, lam): + g = np.array([[0.0, 0.0]] * len(x)) + for i in range(0, len(e)): + F = deformation_grad(x, e[i], IB[i]) + P = vol[i] * dPsi_div_dF(F, mu[i], lam[i]) + g_local = dPsi_div_dx(P, IB[i]) + for j in range(0, 3): + g[e[i][j]] += g_local[j] + return g + +def hess(x, e, vol, IB, mu, lam): + IJV = [[0] * (len(e) * 36), [0] * (len(e) * 36), np.array([0.0] * (len(e) * 36))] + for i in range(0, len(e)): + F = deformation_grad(x, e[i], IB[i]) + dP_div_dF = vol[i] * d2Psi_div_dF2(F, mu[i], lam[i]) + local_hess = d2Psi_div_dx2(dP_div_dF, IB[i]) + for xI in range(0, 3): + for xJ in range(0, 3): + for dI in range(0, 2): + for dJ in range(0, 2): + ind = i * 36 + (xI * 3 + xJ) * 4 + dI * 2 + dJ + IJV[0][ind] = e[i][xI] * 2 + dI + IJV[1][ind] = e[i][xJ] * 2 + dJ + IJV[2][ind] = local_hess[xI * 2 + dI, xJ * 2 + dJ] + return IJV + +def init_step_size(x, e, p): + alpha = 1 + for i in range(0, len(e)): + x21 = x[e[i][1]] - x[e[i][0]] + x31 = x[e[i][2]] - x[e[i][0]] + p21 = p[e[i][1]] - p[e[i][0]] + p31 = p[e[i][2]] - p[e[i][0]] + detT = np.linalg.det(np.transpose([x21, x31])) + a = np.linalg.det(np.transpose([p21, p31])) / detT + b = (np.linalg.det(np.transpose([x21, p31])) + np.linalg.det(np.transpose([p21, x31]))) / detT + c = 0.9 # solve for alpha that first brings the new volume to 0.1x the old volume for slackness + critical_alpha = utils.smallest_positive_real_root_quad(a, b, c) + if critical_alpha > 0: + alpha = min(alpha, critical_alpha) + return alpha \ No newline at end of file diff --git a/solid-sim-tutorial/8_self_friction/SpringEnergy.py b/solid-sim-tutorial/8_self_friction/SpringEnergy.py new file mode 100644 index 0000000..609e177 --- /dev/null +++ b/solid-sim-tutorial/8_self_friction/SpringEnergy.py @@ -0,0 +1,23 @@ +import numpy as np + +def val(x, m, DBC, DBC_target, k): + sum = 0.0 + for i in range(0, len(DBC)): + diff = x[DBC[i]] - DBC_target[i] + sum += 0.5 * k * m[DBC[i]] * diff.dot(diff) + return sum + +def grad(x, m, DBC, DBC_target, k): + g = np.array([[0.0, 0.0]] * len(x)) + for i in range(0, len(DBC)): + g[DBC[i]] = k * m[DBC[i]] * (x[DBC[i]] - DBC_target[i]) + return g + +def hess(x, m, DBC, DBC_target, k): + IJV = [[0] * 0, [0] * 0, np.array([0.0] * 0)] + for i in range(0, len(DBC)): + for d in range(0, 2): + IJV[0].append(DBC[i] * 2 + d) + IJV[1].append(DBC[i] * 2 + d) + IJV[2] = np.append(IJV[2], k * m[DBC[i]]) + return IJV \ No newline at end of file diff --git a/solid-sim-tutorial/8_self_friction/distance/CCD.py b/solid-sim-tutorial/8_self_friction/distance/CCD.py new file mode 100644 index 0000000..393a463 --- /dev/null +++ b/solid-sim-tutorial/8_self_friction/distance/CCD.py @@ -0,0 +1,59 @@ +from copy import deepcopy +import numpy as np +import math + +import distance.PointEdgeDistance as PE + +# check whether the bounding box of the trajectory of the point and the edge overlap +def bbox_overlap(p, e0, e1, dp, de0, de1, toc_upperbound): + max_p = np.maximum(p, p + toc_upperbound * dp) # point trajectory bbox top-right + min_p = np.minimum(p, p + toc_upperbound * dp) # point trajectory bbox bottom-left + max_e = np.maximum(np.maximum(e0, e0 + toc_upperbound * de0), np.maximum(e1, e1 + toc_upperbound * de1)) # edge trajectory bbox top-right + min_e = np.minimum(np.minimum(e0, e0 + toc_upperbound * de0), np.minimum(e1, e1 + toc_upperbound * de1)) # edge trajectory bbox bottom-left + if np.any(np.greater(min_p, max_e)) or np.any(np.greater(min_e, max_p)): + return False + else: + return True + +# compute the first "time" of contact, or toc, +# return the computed toc only if it is smaller than the previously computed toc_upperbound +def narrow_phase_CCD(_p, _e0, _e1, _dp, _de0, _de1, toc_upperbound): + p = deepcopy(_p) + e0 = deepcopy(_e0) + e1 = deepcopy(_e1) + dp = deepcopy(_dp) + de0 = deepcopy(_de0) + de1 = deepcopy(_de1) + + # use relative displacement for faster convergence + mov = (dp + de0 + de1) / 3 + de0 -= mov + de1 -= mov + dp -= mov + maxDispMag = np.linalg.norm(dp) + math.sqrt(max(np.dot(de0, de0), np.dot(de1, de1))) + if maxDispMag == 0: + return toc_upperbound + + eta = 0.1 # calculate the toc that first brings the distance to 0.1x the current distance + dist2_cur = PE.val(p, e0, e1) + dist_cur = math.sqrt(dist2_cur) + gap = eta * dist_cur + # iteratively move the point and edge towards each other and + # grow the toc estimate without numerical errors + toc = 0 + while True: + tocLowerBound = (1 - eta) * dist_cur / maxDispMag + + p += tocLowerBound * dp + e0 += tocLowerBound * de0 + e1 += tocLowerBound * de1 + dist2_cur = PE.val(p, e0, e1) + dist_cur = math.sqrt(dist2_cur) + if toc != 0 and dist_cur < gap: + break + + toc += tocLowerBound + if toc > toc_upperbound: + return toc_upperbound + + return toc \ No newline at end of file diff --git a/solid-sim-tutorial/8_self_friction/distance/PointEdgeDistance.py b/solid-sim-tutorial/8_self_friction/distance/PointEdgeDistance.py new file mode 100644 index 0000000..41b8e79 --- /dev/null +++ b/solid-sim-tutorial/8_self_friction/distance/PointEdgeDistance.py @@ -0,0 +1,62 @@ +import numpy as np + +import distance.PointPointDistance as PP +import distance.PointLineDistance as PL + +def val(p, e0, e1): + e = e1 - e0 + ratio = np.dot(e, p - e0) / np.dot(e, e) + if ratio < 0: # point(p)-point(e0) expression + return PP.val(p, e0) + elif ratio > 1: # point(p)-point(e1) expression + return PP.val(p, e1) + else: # point(p)-line(e0e1) expression + return PL.val(p, e0, e1) + +def grad(p, e0, e1): + e = e1 - e0 + ratio = np.dot(e, p - e0) / np.dot(e, e) + if ratio < 0: # point(p)-point(e0) expression + g_PP = PP.grad(p, e0) + return np.reshape([g_PP[0:2], g_PP[2:4], np.array([0.0, 0.0])], (1, 6))[0] + elif ratio > 1: # point(p)-point(e1) expression + g_PP = PP.grad(p, e1) + return np.reshape([g_PP[0:2], np.array([0.0, 0.0]), g_PP[2:4]], (1, 6))[0] + else: # point(p)-line(e0e1) expression + return PL.grad(p, e0, e1) + +def hess(p, e0, e1): + e = e1 - e0 + ratio = np.dot(e, p - e0) / np.dot(e, e) + if ratio < 0: # point(p)-point(e0) expression + H_PP = PP.hess(p, e0) + return np.array([np.reshape([H_PP[0, 0:2], H_PP[0, 2:4], np.array([0.0, 0.0])], (1, 6))[0], \ + np.reshape([H_PP[1, 0:2], H_PP[1, 2:4], np.array([0.0, 0.0])], (1, 6))[0], \ + np.reshape([H_PP[2, 0:2], H_PP[2, 2:4], np.array([0.0, 0.0])], (1, 6))[0], \ + np.reshape([H_PP[3, 0:2], H_PP[3, 2:4], np.array([0.0, 0.0])], (1, 6))[0], \ + np.array([0.0] * 6), \ + np.array([0.0] * 6)]) + elif ratio > 1: # point(p)-point(e1) expression + H_PP = PP.hess(p, e1) + return np.array([np.reshape([H_PP[0, 0:2], np.array([0.0, 0.0]), H_PP[0, 2:4]], (1, 6))[0], \ + np.reshape([H_PP[1, 0:2], np.array([0.0, 0.0]), H_PP[1, 2:4]], (1, 6))[0], \ + np.array([0.0] * 6), \ + np.array([0.0] * 6), \ + np.reshape([H_PP[2, 0:2], np.array([0.0, 0.0]), H_PP[2, 2:4]], (1, 6))[0], \ + np.reshape([H_PP[3, 0:2], np.array([0.0, 0.0]), H_PP[3, 2:4]], (1, 6))[0]]) + else: # point(p)-line(e0e1) expression + return PL.hess(p, e0, e1) + +# ANCHOR: tangent +# compute normal and the parameterization of the closest point on the edge +def tangent(p, e0, e1): + e = e1 - e0 + ratio = np.dot(e, p - e0) / np.dot(e, e) + if ratio < 0: # point(p)-point(e0) expression + n = p - e0 + elif ratio > 1: # point(p)-point(e1) expression + n = p - e1 + else: # point(p)-line(e0e1) expression + n = p - ((1 - ratio) * e0 + ratio * e1) + return [n / np.linalg.norm(n), ratio] +# ANCHOR_END: tangent \ No newline at end of file diff --git a/solid-sim-tutorial/8_self_friction/distance/PointLineDistance.py b/solid-sim-tutorial/8_self_friction/distance/PointLineDistance.py new file mode 100644 index 0000000..95b01df --- /dev/null +++ b/solid-sim-tutorial/8_self_friction/distance/PointLineDistance.py @@ -0,0 +1,114 @@ +import numpy as np + +def val(p, e0, e1): + e = e1 - e0 + numerator = e[1] * p[0] - e[0] * p[1] + e1[0] * e0[1] - e1[1] * e0[0] + return numerator * numerator / np.dot(e, e) + +def grad(p, e0, e1): + g = np.array([0.0] * 6) + t13 = -e1[0] + e0[0] + t14 = -e1[1] + e0[1] + t23 = 1.0 / (t13 * t13 + t14 * t14) + t25 = ((e0[0] * e1[1] + -(e0[1] * e1[0])) + t14 * p[0]) + -(t13 * p[1]) + t24 = t23 * t23 + t26 = t25 * t25 + t27 = (e0[0] * 2.0 + -(e1[0] * 2.0)) * t24 * t26 + t26 *= (e0[1] * 2.0 + -(e1[1] * 2.0)) * t24 + g[0] = t14 * t23 * t25 * 2.0 + g[1] = t13 * t23 * t25 * -2.0 + t24 = t23 * t25 + g[2] = -t27 - t24 * (-e1[1] + p[1]) * 2.0 + g[3] = -t26 + t24 * (-e1[0] + p[0]) * 2.0 + g[4] = t27 + t24 * (p[1] - e0[1]) * 2.0 + g[5] = t26 - t24 * (p[0] - e0[0]) * 2.0 + return g + +def hess(p, e0, e1): + H = np.array([0.0] * 36) + t15 = -e0[0] + p[0] + t16 = -e0[1] + p[1] + t17 = -e1[0] + p[0] + t18 = -e1[1] + p[1] + t19 = -e1[0] + e0[0] + t20 = -e1[1] + e0[1] + t21 = e0[0] * 2.0 + -(e1[0] * 2.0) + t22 = e0[1] * 2.0 + -(e1[1] * 2.0) + t23 = t19 * t19 + t24 = t20 * t20 + t31 = 1.0 / (t23 + t24) + t34 = ((e0[0] * e1[1] + -(e0[1] * e1[0])) + t20 * p[0]) + -(t19 * p[1]) + t32 = t31 * t31 + t33 = t32 * t31 + t35 = t34 * t34 + t60 = t31 * t34 * 2.0 + t59 = -(t19 * t20 * t31 * 2.0) + t62 = t32 * t35 * 2.0 + t64 = t21 * t21 * t33 * t35 * 2.0 + t65 = t22 * t22 * t33 * t35 * 2.0 + t68 = t15 * t21 * t32 * t34 * 2.0 + t71 = t16 * t22 * t32 * t34 * 2.0 + t72 = t17 * t21 * t32 * t34 * 2.0 + t75 = t18 * t22 * t32 * t34 * 2.0 + t76 = t19 * t21 * t32 * t34 * 2.0 + t77 = t20 * t21 * t32 * t34 * 2.0 + t78 = t19 * t22 * t32 * t34 * 2.0 + t79 = t20 * t22 * t32 * t34 * 2.0 + t90 = t21 * t22 * t33 * t35 * 2.0 + t92 = t16 * t20 * t31 * 2.0 + t77 + t94 = -(t17 * t19 * t31 * 2.0) + t78 + t96 = (t18 * t19 * t31 * 2.0 + -t60) + t76 + t99 = (-(t15 * t20 * t31 * 2.0) + -t60) + t79 + t93 = t15 * t19 * t31 * 2.0 + -t78 + t35 = -(t18 * t20 * t31 * 2.0) + -t77 + t97 = (t17 * t20 * t31 * 2.0 + t60) + -t79 + t98 = (-(t16 * t19 * t31 * 2.0) + t60) + -t76 + t100 = ((-(t15 * t16 * t31 * 2.0) + t71) + -t68) + t90 + t19 = ((-(t17 * t18 * t31 * 2.0) + t75) + -t72) + t90 + t102_tmp = t17 * t22 * t32 * t34 + t76 = t15 * t22 * t32 * t34 + t22 = (((-(t15 * t17 * t31 * 2.0) + t62) + -t65) + t76 * 2.0) + t102_tmp * 2.0 + t33 = t18 * t21 * t32 * t34 + t20 = t16 * t21 * t32 * t34 + t79 = (((-(t16 * t18 * t31 * 2.0) + t62) + -t64) + -(t20 * 2.0)) + -(t33 * 2.0) + t77 = (((t15 * t18 * t31 * 2.0 + t60) + t68) + -t75) + -t90 + t78 = (((t16 * t17 * t31 * 2.0 + -t60) + t72) + -t71) + -t90 + H[0] = t24 * t31 * 2.0 + H[1] = t59 + H[2] = t35 + H[3] = t97 + H[4] = t92 + H[5] = t99 + H[6] = t59 + H[7] = t23 * t31 * 2.0 + H[8] = t96 + H[9] = t94 + H[10] = t98 + H[11] = t93 + H[12] = t35 + H[13] = t96 + t35 = -t62 + t64 + H[14] = (t35 + t18 * t18 * t31 * 2.0) + t33 * 4.0 + H[15] = t19 + H[16] = t79 + H[17] = t77 + H[18] = t97 + H[19] = t94 + H[20] = t19 + t33 = -t62 + t65 + H[21] = (t33 + t17 * t17 * t31 * 2.0) - t102_tmp * 4.0 + H[22] = t78 + H[23] = t22 + H[24] = t92 + H[25] = t98 + H[26] = t79 + H[27] = t78 + H[28] = (t35 + t16 * t16 * t31 * 2.0) + t20 * 4.0 + H[29] = t100 + H[30] = t99 + H[31] = t93 + H[32] = t77 + H[33] = t22 + H[34] = t100 + H[35] = (t33 + t15 * t15 * t31 * 2.0) - t76 * 4.0 + return np.reshape(H, (6, 6)) \ No newline at end of file diff --git a/solid-sim-tutorial/8_self_friction/distance/PointPointDistance.py b/solid-sim-tutorial/8_self_friction/distance/PointPointDistance.py new file mode 100644 index 0000000..8718a19 --- /dev/null +++ b/solid-sim-tutorial/8_self_friction/distance/PointPointDistance.py @@ -0,0 +1,15 @@ +import numpy as np + +def val(p0, p1): + e = p0 - p1 + return np.dot(e, e) + +def grad(p0, p1): + e = p0 - p1 + return np.reshape([2 * e, -2 * e], (1, 4))[0] + +def hess(p0, p1): + H = np.array([[0.0] * 4] * 4) + H[0, 0] = H[1, 1] = H[2, 2] = H[3, 3] = 2 + H[0, 2] = H[1, 3] = H[2, 0] = H[3, 1] = -2 + return H \ No newline at end of file diff --git a/solid-sim-tutorial/8_self_friction/simulator.py b/solid-sim-tutorial/8_self_friction/simulator.py new file mode 100755 index 0000000..80b7595 --- /dev/null +++ b/solid-sim-tutorial/8_self_friction/simulator.py @@ -0,0 +1,89 @@ +# FEM Solids Simulation + +import numpy as np # numpy for linear algebra +import pygame # pygame for visualization +pygame.init() + +import square_mesh # square mesh +import time_integrator + +# simulation setup +side_len = 0.45 +rho = 1000 # density of square +E = 1e5 # Young's modulus +nu = 0.4 # Poisson's ratio +n_seg = 2 # num of segments per side of the square +h = 0.01 # time step size in s +DBC = [(n_seg + 1) * (n_seg + 1) * 2] # dirichlet node index +DBC_v = [np.array([0.0, -0.5])] # dirichlet node velocity +DBC_limit = [np.array([0.0, -0.7])] # dirichlet node limit position +ground_n = np.array([0.0, 1.0]) # normal of the slope +ground_n /= np.linalg.norm(ground_n) # normalize ground normal vector just in case +ground_o = np.array([0.0, -1.0]) # a point on the slope +mu = 0.4 # friction coefficient of the slope + +# initialize simulation +[x, e] = square_mesh.generate(side_len, n_seg) # node positions and triangle node indices of the top square +e = np.append(e, np.array(e) + [len(x)] * 3, axis=0) # add triangle node indices of the bottom square +x = np.append(x, x + [side_len * 0.1, -side_len * 1.1], axis=0) # add node positions of the bottom square +[bp, be] = square_mesh.find_boundary(e) # find boundary points and edges for self-contact +x = np.append(x, [[0.0, side_len * 0.6]], axis=0) # ceil origin (with normal [0.0, -1.0]) +v = np.array([[0.0, 0.0]] * len(x)) # velocity +m = [rho * side_len * side_len / ((n_seg + 1) * (n_seg + 1))] * len(x) # calculate node mass evenly +# rest shape basis, volume, and lame parameters +vol = [0.0] * len(e) +IB = [np.array([[0.0, 0.0]] * 2)] * len(e) +for i in range(0, len(e)): + TB = [x[e[i][1]] - x[e[i][0]], x[e[i][2]] - x[e[i][0]]] + vol[i] = np.linalg.det(np.transpose(TB)) / 2 + IB[i] = np.linalg.inv(np.transpose(TB)) +mu_lame = [0.5 * E / (1 + nu)] * len(e) +lam = [E * nu / ((1 + nu) * (1 - 2 * nu))] * len(e) +# identify whether a node is Dirichlet +is_DBC = [False] * len(x) +for i in DBC: + is_DBC[i] = True +contact_area = [side_len / n_seg] * len(x) # perimeter split to each node + +# simulation with visualization +resolution = np.array([900, 900]) +offset = resolution / 2 +scale = 200 +def screen_projection(x): + return [offset[0] + scale * x[0], resolution[1] - (offset[1] + scale * x[1])] + +time_step = 0 +square_mesh.write_to_file(time_step, x, e) +screen = pygame.display.set_mode(resolution) +running = True +while running: + # run until the user asks to quit + for event in pygame.event.get(): + if event.type == pygame.QUIT: + running = False + + print('### Time step', time_step, '###') + + # fill the background and draw the square + screen.fill((255, 255, 255)) + pygame.draw.aaline(screen, (0, 0, 255), screen_projection([ground_o[0] - 3.0 * ground_n[1], ground_o[1] + 3.0 * ground_n[0]]), + screen_projection([ground_o[0] + 3.0 * ground_n[1], ground_o[1] - 3.0 * ground_n[0]])) # ground + pygame.draw.aaline(screen, (0, 0, 255), screen_projection([x[-1][0] + 3.0, x[-1][1]]), + screen_projection([x[-1][0] - 3.0, x[-1][1]])) # ceil + for eI in e: + pygame.draw.aaline(screen, (0, 0, 255), screen_projection(x[eI[0]]), screen_projection(x[eI[1]])) + pygame.draw.aaline(screen, (0, 0, 255), screen_projection(x[eI[1]]), screen_projection(x[eI[2]])) + pygame.draw.aaline(screen, (0, 0, 255), screen_projection(x[eI[2]]), screen_projection(x[eI[0]])) + for xId in range(0, len(x) - 1): + xI = x[xId] + pygame.draw.circle(screen, (0, 0, 255), screen_projection(xI), 0.1 * side_len / n_seg * scale) + + pygame.display.flip() # flip the display + + # step forward simulation and wait for screen refresh + [x, v] = time_integrator.step_forward(x, e, v, m, vol, IB, mu_lame, lam, ground_n, ground_o, bp, be, contact_area, mu, is_DBC, DBC, DBC_v, DBC_limit, h, 1e-2) + time_step += 1 + pygame.time.wait(int(h * 1000)) + square_mesh.write_to_file(time_step, x, e) + +pygame.quit() \ No newline at end of file diff --git a/solid-sim-tutorial/8_self_friction/square_mesh.py b/solid-sim-tutorial/8_self_friction/square_mesh.py new file mode 100644 index 0000000..5cf6002 --- /dev/null +++ b/solid-sim-tutorial/8_self_friction/square_mesh.py @@ -0,0 +1,59 @@ +import numpy as np +import os + +def generate(side_length, n_seg): + # sample nodes uniformly on a square + x = np.array([[0.0, 0.0]] * ((n_seg + 1) ** 2)) + step = side_length / n_seg + for i in range(0, n_seg + 1): + for j in range(0, n_seg + 1): + x[i * (n_seg + 1) + j] = [-side_length / 2 + i * step, -side_length / 2 + j * step] + + # connect the nodes with triangle elements + e = [] + for i in range(0, n_seg): + for j in range(0, n_seg): + # triangulate each cell following a symmetric pattern: + if (i % 2)^(j % 2): + e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j, i * (n_seg + 1) + j + 1]) + e.append([(i + 1) * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j + 1, i * (n_seg + 1) + j + 1]) + else: + e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j + 1]) + e.append([i * (n_seg + 1) + j, (i + 1) * (n_seg + 1) + j + 1, i * (n_seg + 1) + j + 1]) + + return [x, e] + +def find_boundary(e): + # index all half-edges for fast query + edge_set = set() + for i in range(0, len(e)): + for j in range(0, 3): + edge_set.add((e[i][j], e[i][(j + 1) % 3])) + + # find boundary points and edges + bp_set = set() + be = [] + for eI in edge_set: + if (eI[1], eI[0]) not in edge_set: + # if the inverse edge of a half-edge does not exist, + # then it is a boundary edge + be.append([eI[0], eI[1]]) + bp_set.add(eI[0]) + bp_set.add(eI[1]) + return [list(bp_set), be] + +def write_to_file(frameNum, x, e): + # Check if 'output' directory exists; if not, create it + if not os.path.exists('output'): + os.makedirs('output') + + # create obj file + filename = f"output/{frameNum}.obj" + with open(filename, 'w') as f: + # write vertex coordinates + for row in x: + f.write(f"v {float(row[0]):.6f} {float(row[1]):.6f} 0.0\n") + # write vertex indices for each triangle + for row in e: + #NOTE: vertex indices start from 1 in obj file format + f.write(f"f {row[0] + 1} {row[1] + 1} {row[2] + 1}\n") \ No newline at end of file diff --git a/solid-sim-tutorial/8_self_friction/time_integrator.py b/solid-sim-tutorial/8_self_friction/time_integrator.py new file mode 100644 index 0000000..26a3675 --- /dev/null +++ b/solid-sim-tutorial/8_self_friction/time_integrator.py @@ -0,0 +1,102 @@ +import copy +from cmath import inf + +import numpy as np +import numpy.linalg as LA +import scipy.sparse as sparse +from scipy.sparse.linalg import spsolve + +import InertiaEnergy +import NeoHookeanEnergy +import GravityEnergy +import BarrierEnergy +import FrictionEnergy +import SpringEnergy + +def step_forward(x, e, v, m, vol, IB, mu_lame, lam, n, o, bp, be, contact_area, mu, is_DBC, DBC, DBC_v, DBC_limit, h, tol): + x_tilde = x + v * h # implicit Euler predictive position + x_n = copy.deepcopy(x) + [mu_lambda, mu_lambda_self] = BarrierEnergy.compute_mu_lambda(x, n, o, bp, be, contact_area, mu) # compute mu * lambda for each node using x^n + DBC_target = [] # target position of each DBC in the current time step + for i in range(0, len(DBC)): + if (DBC_limit[i] - x_n[DBC[i]]).dot(DBC_v[i]) > 0: + DBC_target.append(x_n[DBC[i]] + h * DBC_v[i]) + else: + DBC_target.append(x_n[DBC[i]]) + DBC_stiff = 1000 # initialize stiffness for DBC springs + + # Newton loop + iter = 0 + E_last = IP_val(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, bp, be, contact_area, (x - x_n) / h, mu_lambda, mu_lambda_self, DBC, DBC_target, DBC_stiff, h) + [p, DBC_satisfied] = search_dir(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, bp, be, contact_area, (x - x_n) / h, mu_lambda, mu_lambda_self, is_DBC, DBC, DBC_target, DBC_stiff, tol, h) + while (LA.norm(p, inf) / h > tol) | (sum(DBC_satisfied) != len(DBC)): # also check whether all DBCs are satisfied + print('Iteration', iter, ':') + print('residual =', LA.norm(p, inf) / h) + + if (LA.norm(p, inf) / h <= tol) & (sum(DBC_satisfied) != len(DBC)): + # increase DBC stiffness and recompute energy value record + DBC_stiff *= 2 + E_last = IP_val(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, bp, be, contact_area, (x - x_n) / h, mu_lambda, mu_lambda_self, DBC, DBC_target, DBC_stiff, h) + + # filter line search + alpha = min(BarrierEnergy.init_step_size(x, n, o, bp, be, p), NeoHookeanEnergy.init_step_size(x, e, p)) # avoid interpenetration, tunneling, and inversion + while IP_val(x + alpha * p, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, bp, be, contact_area, (x + alpha * p - x_n) / h, mu_lambda, mu_lambda_self, DBC, DBC_target, DBC_stiff, h) > E_last: + alpha /= 2 + print('step size =', alpha) + + x += alpha * p + E_last = IP_val(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, bp, be, contact_area, (x - x_n) / h, mu_lambda, mu_lambda_self, DBC, DBC_target, DBC_stiff, h) + [p, DBC_satisfied] = search_dir(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, bp, be, contact_area, (x - x_n) / h, mu_lambda, mu_lambda_self, is_DBC, DBC, DBC_target, DBC_stiff, tol, h) + iter += 1 + + v = (x - x_n) / h # implicit Euler velocity update + return [x, v] + +def IP_val(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, bp, be, contact_area, v, mu_lambda, mu_lambda_self, DBC, DBC_target, DBC_stiff, h): + return InertiaEnergy.val(x, x_tilde, m) + h * h * ( # implicit Euler + NeoHookeanEnergy.val(x, e, vol, IB, mu_lame, lam) + + GravityEnergy.val(x, m) + + BarrierEnergy.val(x, n, o, bp, be, contact_area) + + FrictionEnergy.val(v, mu_lambda, mu_lambda_self, h, n) + ) + SpringEnergy.val(x, m, DBC, DBC_target, DBC_stiff) + +def IP_grad(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, bp, be, contact_area, v, mu_lambda, mu_lambda_self, DBC, DBC_target, DBC_stiff, h): + return InertiaEnergy.grad(x, x_tilde, m) + h * h * ( # implicit Euler + NeoHookeanEnergy.grad(x, e, vol, IB, mu_lame, lam) + + GravityEnergy.grad(x, m) + + BarrierEnergy.grad(x, n, o, bp, be, contact_area) + + FrictionEnergy.grad(v, mu_lambda, mu_lambda_self, h, n) + ) + SpringEnergy.grad(x, m, DBC, DBC_target, DBC_stiff) + +def IP_hess(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, bp, be, contact_area, v, mu_lambda, mu_lambda_self, DBC, DBC_target, DBC_stiff, h): + IJV_In = InertiaEnergy.hess(x, x_tilde, m) + IJV_MS = NeoHookeanEnergy.hess(x, e, vol, IB, mu_lame, lam) + IJV_B = BarrierEnergy.hess(x, n, o, bp, be, contact_area) + IJV_F = FrictionEnergy.hess(v, mu_lambda, mu_lambda_self, h, n) + IJV_S = SpringEnergy.hess(x, m, DBC, DBC_target, DBC_stiff) + IJV_MS[2] *= h * h # implicit Euler + IJV_B[2] *= h * h # implicit Euler + IJV_F[2] *= h * h # implicit Euler + IJV_In_MS = np.append(IJV_In, IJV_MS, axis=1) + IJV_In_MS_B = np.append(IJV_In_MS, IJV_B, axis=1) + IJV_In_MS_B_F = np.append(IJV_In_MS_B, IJV_F, axis=1) + IJV = np.append(IJV_In_MS_B_F, IJV_S, axis=1) + H = sparse.coo_matrix((IJV[2], (IJV[0], IJV[1])), shape=(len(x) * 2, len(x) * 2)).tocsr() + return H + +def search_dir(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, bp, be, contact_area, v, mu_lambda, mu_lambda_self, is_DBC, DBC, DBC_target, DBC_stiff, tol, h): + projected_hess = IP_hess(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, bp, be, contact_area, v, mu_lambda, mu_lambda_self, DBC, DBC_target, DBC_stiff, h) + reshaped_grad = IP_grad(x, e, x_tilde, m, vol, IB, mu_lame, lam, n, o, bp, be, contact_area, v, mu_lambda, mu_lambda_self, DBC, DBC_target, DBC_stiff, h).reshape(len(x) * 2, 1) + # check whether each DBC is satisfied + DBC_satisfied = [False] * len(x) + for i in range(0, len(DBC)): + if LA.norm(x[DBC[i]] - DBC_target[i]) / h < tol: + DBC_satisfied[DBC[i]] = True + # eliminate DOF if it's a satisfied DBC by modifying gradient and Hessian for DBC: + for i, j in zip(*projected_hess.nonzero()): + if (is_DBC[int(i / 2)] & DBC_satisfied[int(i / 2)]) | (is_DBC[int(j / 2)] & DBC_satisfied[int(i / 2)]): + projected_hess[i, j] = (i == j) + for i in range(0, len(x)): + if is_DBC[i] & DBC_satisfied[i]: + reshaped_grad[i * 2] = reshaped_grad[i * 2 + 1] = 0.0 + return [spsolve(projected_hess, -reshaped_grad).reshape(len(x), 2), DBC_satisfied] \ No newline at end of file diff --git a/solid-sim-tutorial/8_self_friction/utils.py b/solid-sim-tutorial/8_self_friction/utils.py new file mode 100644 index 0000000..dc29c29 --- /dev/null +++ b/solid-sim-tutorial/8_self_friction/utils.py @@ -0,0 +1,28 @@ +import numpy as np +import numpy.linalg as LA +import math + +def make_PSD(hess): + [lam, V] = LA.eigh(hess) # Eigen decomposition on symmetric matrix + # set all negative Eigenvalues to 0 + for i in range(0, len(lam)): + lam[i] = max(0, lam[i]) + return np.matmul(np.matmul(V, np.diag(lam)), np.transpose(V)) + +def smallest_positive_real_root_quad(a, b, c, tol = 1e-6): + # return negative value if no positive real root is found + t = 0 + if abs(a) <= tol: + if abs(b) <= tol: # f(x) = c > 0 for all x + t = -1 + else: + t = -c / b + else: + desc = b * b - 4 * a * c + if desc > 0: + t = (-b - math.sqrt(desc)) / (2 * a) + if t < 0: + t = (-b + math.sqrt(desc)) / (2 * a) + else: # desv<0 ==> imag, f(x) > 0 for all x > 0 + t = -1 + return t \ No newline at end of file diff --git a/solid-sim-tutorial/LICENSE b/solid-sim-tutorial/LICENSE new file mode 100644 index 0000000..f288702 --- /dev/null +++ b/solid-sim-tutorial/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/style/.DS_Store b/style/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/style/.DS_Store differ diff --git a/style/cite_author_year.hbs b/style/cite_author_year.hbs new file mode 100644 index 0000000..291e1ef --- /dev/null +++ b/style/cite_author_year.hbs @@ -0,0 +1 @@ +[[{{item.authors.[0].[0]}}{{#if item.authors.[2]}} et al.{{else}}{{#if item.authors.[1]}} & {{item.authors.[1].[0]}}{{/if}}{{/if}} {{item.pub_year}}]]({{path}}#{{item.citation_key}}) \ No newline at end of file diff --git a/style/refs_default.hbs b/style/refs_default.hbs new file mode 100644 index 0000000..16d0b1e --- /dev/null +++ b/style/refs_default.hbs @@ -0,0 +1,22 @@ +{{#if citation_key}} + +
+
+{{!-- citation --}} + +[{{authors.[0].[0]}}{{#if authors.[2]}} et al.{{else}}{{#if authors.[1]}} & {{authors.[1].[0]}}{{/if}}{{/if}} {{pub_year}}] - {{#if authors}}{{#each authors as |author|}}{{#each author as |name|}}{{name}}{{#unless @last}}, {{/unless}}{{/each}}{{#unless @last}} and {{/unless}}{{/each}} - {{/if}}{{#if title}}{{#if url}}{{/if}}{{title}}{{#if url}}{{/if}}.{{/if}} - {{#if pub_year}}{{pub_year}}.{{/if}} - + + +{{!-- summary/abstract --}} +{{#if summary}} +
+

Summary/Abstract

+
{{summary}}
+
+{{/if}} +
+
+ +{{/if}} + +
diff --git a/tomorrow-night.css b/tomorrow-night.css new file mode 100644 index 0000000..81fe276 --- /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; +}