<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8237010798052417466</id><updated>2025-10-03T07:10:00.051-07:00</updated><category term="javascript"/><category term="android"/><category term="Bug"/><category term="Docker"/><category term="chrome"/><category term="chromedevtools"/><category term="codequality"/><category term="devops"/><category term="ecmascript"/><category term="eslint"/><category term="veterans"/><category term="war"/><category term="..."/><category term="3D stereoscopic anaglyph lg optimus tablet misleading advertising"/><category term="4G"/><category term="5.6.1"/><category term="ACTIONS menu"/><category term="AHCI"/><category term="ATT"/><category term="Andrew"/><category term="Bootloaders"/><category term="Business Ethics"/><category term="Consequences"/><category term="Convert"/><category term="Crash"/><category term="DavidJr621"/><category term="Decisions"/><category term="Docker-CE"/><category term="DotNetNuke"/><category term="Drivers"/><category term="EventID 1000 Source Application Error mstsc"/><category term="Exopc Wetab Ubuntu Debian Linux eGalax touchpanel touchscreen touch xinput xorg"/><category term="FTC"/><category term="File Manager"/><category term="FileManager"/><category term="Google Drive"/><category term="Google I/O 2012"/><category term="Google TV"/><category term="Google TV Update 3.1"/><category term="GoogleIO 2012"/><category term="IIS 7"/><category term="Intel ICHR"/><category term="Lies"/><category term="Logitech Revue"/><category term="MSTSC"/><category term="Microsoft"/><category term="Microsoft Fail"/><category term="Move Google Drive"/><category term="Office"/><category term="Opensource"/><category term="Outlook"/><category term="Politics"/><category term="Poor design"/><category term="Process Monitor"/><category term="RAID"/><category term="Registry"/><category term="Remote Desktop"/><category term="Responsibility"/><category term="Theives"/><category term="Truth"/><category term="USB Device Error 43"/><category term="USMC"/><category term="UX"/><category term="User Experience"/><category term="VS2010"/><category term="Verizon"/><category term="Visual Studio 2010"/><category term="Windows 7"/><category term="Windows 8"/><category term="Wireless"/><category term="Won&#39;t load"/><category term="Won&#39;t start"/><category term="abuse"/><category term="adaption"/><category term="alldroid"/><category term="ar"/><category term="async"/><category term="attorneys"/><category term="augmented reality"/><category term="augmentedreality"/><category term="await"/><category term="aws"/><category term="chromium"/><category term="cicd"/><category term="codeeditor"/><category term="compare"/><category term="corruption"/><category term="courts"/><category term="encoding"/><category term="error"/><category term="es11"/><category term="es2020"/><category term="export to pst"/><category term="expression"/><category term="fail"/><category term="ffmpeg"/><category term="finance"/><category term="fix"/><category term="free speech"/><category term="freeamerica"/><category term="freedom"/><category term="funny"/><category term="g2"/><category term="gitlab"/><category term="gitlab-runner"/><category term="global climate"/><category term="googleglass"/><category term="h.264"/><category term="hack"/><category term="hardware"/><category term="hulu"/><category term="introspective"/><category term="ipad"/><category term="jQuery"/><category term="jquery-ui-1.8.12.custom.min.js"/><category term="judges"/><category term="jurors"/><category term="jury"/><category term="juryduty"/><category term="jurynullification"/><category term="justice"/><category term="lawyers"/><category term="legal"/><category term="managegovernment"/><category term="meta"/><category term="metaview"/><category term="netflix"/><category term="not your original folder"/><category term="nvidia"/><category term="old guys"/><category term="policing"/><category term="political"/><category term="positive think-amex"/><category term="privacy"/><category term="promises"/><category term="reflection"/><category term="spaceglasses"/><category term="tablet"/><category term="violations"/><category term="webdevelopment"/><category term="windows 10 1803"/><category term="windows server 2019"/><category term="won&#39;t expand"/><category term="working"/><category term="wsl"/><category term="x264"/><category term="x265"/><title type='text'>Contributions, ramblings, and rants from Rainabba</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.rainabba.me/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://blog.rainabba.me/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>rainabba</name><uri>http://www.blogger.com/profile/14064142359598390121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>92</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8237010798052417466.post-6666800159284321638</id><published>2023-11-09T11:46:00.002-07:00</published><updated>2023-11-09T11:46:42.863-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="async"/><category scheme="http://www.blogger.com/atom/ns#" term="await"/><category scheme="http://www.blogger.com/atom/ns#" term="eslint"/><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="promises"/><title type='text'>Understanding the implications of return await in ecmascript</title><content type='html'>&lt;div class=&quot;relative flex w-[calc(100%-50px)] flex-col gizmo:w-full lg:w-[calc(100%-115px)] agent-turn&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; display: flex; flex-direction: column; position: relative;&quot;&gt;&lt;div class=&quot;flex-col gap-1 md:gap-3&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; flex-direction: column; gap: 0.75rem;&quot;&gt;&lt;div class=&quot;flex flex-grow flex-col max-w-full gap-3 gizmo:gap-0&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; display: flex; flex-direction: column; flex-grow: 1; gap: 0px; max-width: 100%;&quot;&gt;&lt;div class=&quot;min-h-[20px] text-message peer flex flex-col items-start gap-3 whitespace-pre-wrap break-words peer-[.text-message]:mt-5 overflow-x-auto&quot; data-message-author-role=&quot;assistant&quot; data-message-id=&quot;d62b9bbe-23e5-4a5e-95ad-9bf894870fe8&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: flex-start; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; display: flex; flex-direction: column; gap: 0.75rem; min-height: 20px; overflow-wrap: break-word; overflow-x: auto; white-space-collapse: preserve;&quot;&gt;&lt;div class=&quot;markdown prose w-full break-words dark:prose-invert dark&quot; style=&quot;--border-heavy: var(--gray-500); --border-light: var(--gray-700); --border-medium: var(--gray-600); --border-xheavy: var(--gray-400); --surface-primary: var(--gray-900); --surface-secondary: var(--gray-800); --surface-tertiary: var(--gray-700); --text-primary: var(--gray-100); --text-secondary: var(--gray-300); --text-tertiary: var(--gray-500); --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-prose-body: var(--tw-prose-invert-body); --tw-prose-bold: var(--tw-prose-invert-bold); --tw-prose-bullets: var(--tw-prose-invert-bullets); --tw-prose-captions: var(--tw-prose-invert-captions); --tw-prose-code: var(--tw-prose-invert-code); --tw-prose-counters: var(--tw-prose-invert-counters); --tw-prose-headings: var(--tw-prose-invert-headings); --tw-prose-hr: var(--tw-prose-invert-hr); --tw-prose-invert-body: #d1d5db; --tw-prose-invert-bold: #fff; --tw-prose-invert-bullets: #4b5563; --tw-prose-invert-captions: #9ca3af; --tw-prose-invert-code: #fff; --tw-prose-invert-counters: #9ca3af; --tw-prose-invert-headings: #fff; --tw-prose-invert-hr: #374151; --tw-prose-invert-lead: #9ca3af; --tw-prose-invert-links: #fff; --tw-prose-invert-pre-bg: rgba(0,0,0,.5); --tw-prose-invert-pre-code: #d1d5db; --tw-prose-invert-quote-borders: #374151; --tw-prose-invert-quotes: #f3f4f6; --tw-prose-invert-td-borders: #374151; --tw-prose-invert-th-borders: #4b5563; --tw-prose-lead: var(--tw-prose-invert-lead); --tw-prose-links: var(--tw-prose-invert-links); --tw-prose-pre-bg: var(--tw-prose-invert-pre-bg); --tw-prose-pre-code: var(--tw-prose-invert-pre-code); --tw-prose-quote-borders: var(--tw-prose-invert-quote-borders); --tw-prose-quotes: var(--tw-prose-invert-quotes); --tw-prose-td-borders: var(--tw-prose-invert-td-borders); --tw-prose-th-borders: var(--tw-prose-invert-th-borders); --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--tw-prose-body); font-size: 1rem; line-height: 1.75; max-width: none; overflow-wrap: break-word;&quot;&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); margin: 1.25em 0px;&quot;&gt;&lt;span style=&quot;font-size: 1rem;&quot;&gt;In ECMAScript, an &lt;/span&gt;&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); font-family: &amp;quot;Söhne Mono&amp;quot;, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.875em; font-weight: 600;&quot;&gt;async&lt;/code&gt;&lt;span style=&quot;font-size: 1rem;&quot;&gt; function always wraps the returned value in a Promise. If you return a value, it&#39;s equivalent to returning &lt;/span&gt;&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); font-family: &amp;quot;Söhne Mono&amp;quot;, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.875em; font-weight: 600;&quot;&gt;Promise.resolve(value)&lt;/code&gt;&lt;span style=&quot;font-size: 1rem;&quot;&gt;. If you throw an error, it&#39;s akin to returning &lt;/span&gt;&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); font-family: &amp;quot;Söhne Mono&amp;quot;, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.875em; font-weight: 600;&quot;&gt;Promise.reject(error)&lt;/code&gt;&lt;span style=&quot;font-size: 1rem;&quot;&gt;. When you &lt;/span&gt;&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); font-family: &amp;quot;Söhne Mono&amp;quot;, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.875em; font-weight: 600;&quot;&gt;await&lt;/code&gt;&lt;span style=&quot;font-size: 1rem;&quot;&gt; a Promise, the function&#39;s execution is paused until the Promise is settled.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); margin: 1.25em 0px;&quot;&gt;Consider the following code inside an &lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); font-family: &amp;quot;Söhne Mono&amp;quot;, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.875em; font-weight: 600;&quot;&gt;async&lt;/code&gt; function:&lt;/p&gt;&lt;pre style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; border-radius: 0.375rem; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: currentcolor; font-family: &amp;quot;Söhne Mono&amp;quot;, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.875em; line-height: 1.71429; margin-bottom: 0px; margin-top: 0px; overflow-x: auto; padding: 0px;&quot;&gt;&lt;div class=&quot;bg-black rounded-md&quot; style=&quot;--tw-bg-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(0,0,0,var(--tw-bg-opacity)); border-radius: 0.375rem; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;&quot;&gt;&lt;div class=&quot;flex items-center relative text-gray-200 bg-gray-800 gizmo:dark:bg-token-surface-primary px-4 py-2 text-xs font-sans justify-between rounded-t-md&quot; style=&quot;--tw-bg-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; background-color: var(--surface-primary); border-top-left-radius: 0.375rem; border-top-right-radius: 0.375rem; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: rgba(217,217,227,var(--tw-text-opacity)); display: flex; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 0.75rem; justify-content: space-between; line-height: 1rem; padding: 0.5rem 1rem; position: relative;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;&quot;&gt;javascript&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;p-4 overflow-y-auto&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; overflow-y: auto; padding: 1rem;&quot;&gt;&lt;code class=&quot;!whitespace-pre hljs language-javascript&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: none; border-radius: 0.3em; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: white; font-family: inherit; font-size: inherit; font-weight: inherit; hyphens: none; line-height: 1.5; overflow-wrap: normal; padding: 0.1em; tab-size: 4; white-space: normal; word-break: normal; word-spacing: normal;&quot;&gt;&lt;span class=&quot;hljs-keyword&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;hljs-title function_&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d;&quot;&gt;someAsyncFunction&lt;/span&gt;();
&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); margin: 1.25em 0px;&quot;&gt;This will pause the execution of the current function until &lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); font-family: &amp;quot;Söhne Mono&amp;quot;, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.875em; font-weight: 600;&quot;&gt;someAsyncFunction()&lt;/code&gt; resolves, and then immediately return the resolved value. However, since &lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); font-family: &amp;quot;Söhne Mono&amp;quot;, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.875em; font-weight: 600;&quot;&gt;async&lt;/code&gt; functions automatically wrap returned values in Promises, you can simply write:&lt;/p&gt;&lt;pre style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; border-radius: 0.375rem; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: currentcolor; font-family: &amp;quot;Söhne Mono&amp;quot;, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.875em; line-height: 1.71429; margin-bottom: 0px; margin-top: 0px; overflow-x: auto; padding: 0px;&quot;&gt;&lt;div class=&quot;bg-black rounded-md&quot; style=&quot;--tw-bg-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(0,0,0,var(--tw-bg-opacity)); border-radius: 0.375rem; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;&quot;&gt;&lt;div class=&quot;flex items-center relative text-gray-200 bg-gray-800 gizmo:dark:bg-token-surface-primary px-4 py-2 text-xs font-sans justify-between rounded-t-md&quot; style=&quot;--tw-bg-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; background-color: var(--surface-primary); border-top-left-radius: 0.375rem; border-top-right-radius: 0.375rem; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: rgba(217,217,227,var(--tw-text-opacity)); display: flex; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 0.75rem; justify-content: space-between; line-height: 1rem; padding: 0.5rem 1rem; position: relative;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;&quot;&gt;javascript&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;p-4 overflow-y-auto&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; overflow-y: auto; padding: 1rem;&quot;&gt;&lt;code class=&quot;!whitespace-pre hljs language-javascript&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: none; border-radius: 0.3em; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: white; font-family: inherit; font-size: inherit; font-weight: inherit; hyphens: none; line-height: 1.5; overflow-wrap: normal; padding: 0.1em; tab-size: 4; white-space: normal; word-break: normal; word-spacing: normal;&quot;&gt;&lt;span class=&quot;hljs-keyword&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;hljs-title function_&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d;&quot;&gt;someAsyncFunction&lt;/span&gt;();
&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); margin: 1.25em 0px;&quot;&gt;In this case, &lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); font-family: &amp;quot;Söhne Mono&amp;quot;, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.875em; font-weight: 600;&quot;&gt;someAsyncFunction()&lt;/code&gt; is returned directly. The Promise returned by &lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); font-family: &amp;quot;Söhne Mono&amp;quot;, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.875em; font-weight: 600;&quot;&gt;someAsyncFunction()&lt;/code&gt; will be returned by your function as-is. The JavaScript engine doesn&#39;t need to create an additional microtask to resolve the &lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); font-family: &amp;quot;Söhne Mono&amp;quot;, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.875em; font-weight: 600;&quot;&gt;await&lt;/code&gt;, which it would do in the &lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); font-family: &amp;quot;Söhne Mono&amp;quot;, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.875em; font-weight: 600;&quot;&gt;return await&lt;/code&gt; case. Here&#39;s why you might see a performance difference:&lt;/p&gt;&lt;ol style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); counter-reset: list-number 0; display: flex; flex-direction: column; list-style: none; margin: 1.25em 0px; padding: 0px;&quot;&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); counter-increment: list-number 1; display: block; margin-bottom: 0px; margin-top: 0px; min-height: 28px; padding-left: 0.375em;&quot;&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 0px;&quot;&gt;&lt;span color=&quot;var(--tw-prose-bold)&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-weight: 600;&quot;&gt;Microtask Queue Management&lt;/span&gt;: Every time you &lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--tw-prose-code); font-family: &amp;quot;Söhne Mono&amp;quot;, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.875em; font-weight: 600;&quot;&gt;await&lt;/code&gt; a Promise, the engine adds a microtask to the queue for when the Promise resolves. Using &lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--tw-prose-code); font-family: &amp;quot;Söhne Mono&amp;quot;, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.875em; font-weight: 600;&quot;&gt;return await&lt;/code&gt; adds an unnecessary microtask because you could return the Promise directly, and the calling code will &lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--tw-prose-code); font-family: &amp;quot;Söhne Mono&amp;quot;, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.875em; font-weight: 600;&quot;&gt;await&lt;/code&gt; it anyway.&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); counter-increment: list-number 1; display: block; margin-bottom: 0px; margin-top: 0px; min-height: 28px; padding-left: 0.375em;&quot;&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 0px;&quot;&gt;&lt;span color=&quot;var(--tw-prose-bold)&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-weight: 600;&quot;&gt;Stack Trace Generation&lt;/span&gt;: When you use &lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--tw-prose-code); font-family: &amp;quot;Söhne Mono&amp;quot;, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.875em; font-weight: 600;&quot;&gt;await&lt;/code&gt;, the engine keeps track of the function from which it was called for the purpose of generating stack traces if an error is thrown. This can add overhead compared to returning a Promise directly, which doesn&#39;t require the engine to manage the stack in the same way.&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); counter-increment: list-number 1; display: block; margin-bottom: 0px; margin-top: 0px; min-height: 28px; padding-left: 0.375em;&quot;&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; margin: 0px;&quot;&gt;&lt;span color=&quot;var(--tw-prose-bold)&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; font-weight: 600;&quot;&gt;Optimization&lt;/span&gt;: JavaScript engines can optimize &lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--tw-prose-code); font-family: &amp;quot;Söhne Mono&amp;quot;, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.875em; font-weight: 600;&quot;&gt;return someAsyncFunction();&lt;/code&gt; more effectively than &lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--tw-prose-code); font-family: &amp;quot;Söhne Mono&amp;quot;, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.875em; font-weight: 600;&quot;&gt;return await someAsyncFunction();&lt;/code&gt; because the former has less complexity for the engine to analyze and optimize.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); margin: 1.25em 0px;&quot;&gt;The performance penalty of &lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); font-family: &amp;quot;Söhne Mono&amp;quot;, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.875em; font-weight: 600;&quot;&gt;return await&lt;/code&gt; is generally quite small and may not be noticeable in everyday code. However, it&#39;s a good practice to avoid unnecessary &lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); font-family: &amp;quot;Söhne Mono&amp;quot;, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.875em; font-weight: 600;&quot;&gt;await&lt;/code&gt; for the reasons above, especially in performance-critical code or in loops.&lt;/p&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); margin: 1.25em 0px;&quot;&gt;Here’s an example where &lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); font-family: &amp;quot;Söhne Mono&amp;quot;, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.875em; font-weight: 600;&quot;&gt;return await&lt;/code&gt; does make sense and has no performance penalty:&lt;/p&gt;&lt;pre style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; border-radius: 0.375rem; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: currentcolor; font-family: &amp;quot;Söhne Mono&amp;quot;, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.875em; line-height: 1.71429; margin-bottom: 0px; margin-top: 0px; overflow-x: auto; padding: 0px;&quot;&gt;&lt;div class=&quot;bg-black rounded-md&quot; style=&quot;--tw-bg-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(0,0,0,var(--tw-bg-opacity)); border-radius: 0.375rem; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;&quot;&gt;&lt;div class=&quot;flex items-center relative text-gray-200 bg-gray-800 gizmo:dark:bg-token-surface-primary px-4 py-2 text-xs font-sans justify-between rounded-t-md&quot; style=&quot;--tw-bg-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; background-color: var(--surface-primary); border-top-left-radius: 0.375rem; border-top-right-radius: 0.375rem; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: rgba(217,217,227,var(--tw-text-opacity)); display: flex; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, Cantarell, &amp;quot;Noto Sans&amp;quot;, sans-serif, &amp;quot;Helvetica Neue&amp;quot;, Arial, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 0.75rem; justify-content: space-between; line-height: 1rem; padding: 0.5rem 1rem; position: relative;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;&quot;&gt;javascript&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;p-4 overflow-y-auto&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; overflow-y: auto; padding: 1rem;&quot;&gt;&lt;code class=&quot;!whitespace-pre hljs language-javascript&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: none; border-radius: 0.3em; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: white; font-family: inherit; font-size: inherit; font-weight: inherit; hyphens: none; line-height: 1.5; overflow-wrap: normal; padding: 0.1em; tab-size: 4; white-space: normal; word-break: normal; word-spacing: normal;&quot;&gt;&lt;span class=&quot;hljs-keyword&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;hljs-title function_&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d;&quot;&gt;foo&lt;/span&gt;(&lt;span class=&quot;hljs-params&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;&quot;&gt;&lt;/span&gt;) {
  &lt;span class=&quot;hljs-keyword&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;&quot;&gt;try&lt;/span&gt; {
    &lt;span class=&quot;hljs-keyword&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;hljs-title function_&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #f22c3d;&quot;&gt;someAsyncFunction&lt;/span&gt;();
  } &lt;span class=&quot;hljs-keyword&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;&quot;&gt;catch&lt;/span&gt; (error) {
    &lt;span class=&quot;hljs-comment&quot; color=&quot;rgba(255, 255, 255, 0.5)&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;&quot;&gt;// Error handling&lt;/span&gt;
  }
}
&lt;/code&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); margin: 1.25em 0px 0px;&quot;&gt;In the example above, &lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); font-family: &amp;quot;Söhne Mono&amp;quot;, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.875em; font-weight: 600;&quot;&gt;return await&lt;/code&gt; is necessary to catch any promise rejections from &lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); font-family: &amp;quot;Söhne Mono&amp;quot;, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.875em; font-weight: 600;&quot;&gt;someAsyncFunction()&lt;/code&gt; within the &lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); font-family: &amp;quot;Söhne Mono&amp;quot;, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.875em; font-weight: 600;&quot;&gt;foo&lt;/code&gt; function&#39;s &lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); font-family: &amp;quot;Söhne Mono&amp;quot;, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.875em; font-weight: 600;&quot;&gt;try&lt;/code&gt; block. Without &lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); font-family: &amp;quot;Söhne Mono&amp;quot;, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.875em; font-weight: 600;&quot;&gt;await&lt;/code&gt;, a rejected promise would not be caught by &lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); font-family: &amp;quot;Söhne Mono&amp;quot;, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.875em; font-weight: 600;&quot;&gt;try&lt;/code&gt;/&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: var(--text-primary); font-family: &amp;quot;Söhne Mono&amp;quot;, Monaco, &amp;quot;Andale Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, monospace; font-size: 0.875em; font-weight: 600;&quot;&gt;catch&lt;/code&gt;, and the error handling would not work as intended.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.rainabba.me/feeds/6666800159284321638/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.rainabba.me/2023/11/return-await-implications.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/6666800159284321638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/6666800159284321638'/><link rel='alternate' type='text/html' href='http://blog.rainabba.me/2023/11/return-await-implications.html' title='Understanding the implications of return await in ecmascript'/><author><name>rainabba</name><uri>http://www.blogger.com/profile/14064142359598390121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8237010798052417466.post-4746201477888951459</id><published>2023-03-09T07:44:00.007-07:00</published><updated>2023-03-09T08:40:33.967-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="codequality"/><category scheme="http://www.blogger.com/atom/ns#" term="ecmascript"/><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><title type='text'>From CommonJS/Require to ES modules the easy way</title><content type='html'>&lt;style type=&quot;text/css&quot;&gt;
  code {
    background-color: rgb(235, 235, 235);
    padding: 0.2em 0.5em;
    color: black;
    font-weight: 500;
    line-height: 1.6em;
    display: inline-block;
    font-size: 1.1em;
    margin: 0 0.2em;
  }
&lt;/style&gt;
&lt;h2 id=&quot;requirejscommonjsamd-pattern&quot;&gt;Introduction&lt;/h2&gt;
&lt;div&gt;When Node.js was first conceived, jQuery as a community; had embraced the AMD pattern and RequireJS in particular. Node.js was designed to run JavaScript code outside of a web browser, and as such, it needed a module system that was optimized for server-side development. CommonJS was the solution that was chosen because it fit the requirements of the Node.js ecosystem at the time.. CommonJS was the resulting
  solution and has been used in Node.js since v0.x.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;Meanwhile, the browser has continued to evolve sought to address the need that RequireJS was filling. With
  ECMAScript 6 (ES6), ECMAScript modules (ESM) were introduced.&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
  &lt;div&gt;ESM is a newer module format that is part of the ECMAScript language specification, and it provides a standard
    way to define modules in JavaScript. ESM provides a number of benefits over CommonJS, including better performance,
    improved compatibility with tooling and bundlers, and better support for static analysis and tree-shaking.&lt;/div&gt;
  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;
  &lt;div&gt;Since the release of ECMAScript 6, many JavaScript environments have added support for ESM, including Node.js,
    web browsers, and many other runtimes.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
  &lt;h2 id=&quot;requirejscommonjsamd-pattern&quot;&gt;FAQ First&lt;/h2&gt;
&lt;/div&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;&lt;b&gt;1. What is CommonJS?&lt;/b&gt;&lt;/h3&gt;
&lt;div&gt;
  &lt;p style=&quot;text-align: left;&quot;&gt;CommonJS module system is the default module system within the NodeJS ecosystem. CommonJS
    modules are the original way to package JavaScript code for Node.js. In terms of the loading paradigm for CommonJS,
    modules are loaded synchronously and are processed in the same order that the JavaScript runtime locates them.
    CommonJS provides &lt;code&gt;require()&lt;/code&gt;&lt;/p&gt;
  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;
  &lt;h3 style=&quot;text-align: left;&quot;&gt;&lt;b&gt;2. What are ESM?&lt;/b&gt;&lt;/h3&gt;
  &lt;p style=&quot;text-align: left;&quot;&gt;The ES module usage format is the official standard to write JavaScript for maximum
    reusability and is what most web browsers natively support and Node.JS has fully supported since 12.x (experimental support as early as 9.x.)&lt;/p&gt;
  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;
  &lt;h3 style=&quot;text-align: left;&quot;&gt;&lt;b&gt;3. What are major difference between CommonJS and ESM?&lt;/b&gt;&lt;/h3&gt;
  &lt;div&gt;
    &lt;ul style=&quot;text-align: left;&quot;&gt;
      &lt;li&gt;CommonJS is synchronous whereas ES is asynchronous&lt;/li&gt;
      &lt;li&gt;CommonJS supports only runtime resolution whereas ES supports both parse time and runtime&lt;/li&gt;
      &lt;li&gt;ESM support interoperability whereas CommonJS do not&lt;/li&gt;
      &lt;li&gt;CommonJS is the original standard in Node.js whereas ES recently achieved stable support and has been in in
        browsers for 5+ years&lt;/li&gt;
      &lt;li&gt;Common JS uses &lt;code&gt;require()&lt;/code&gt; and ESM uses import export&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt;
  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;
  &lt;h3 style=&quot;text-align: left;&quot;&gt;&lt;b&gt;4. What are the benefits of CommonJS?&lt;/b&gt;&lt;/h3&gt;
  &lt;p style=&quot;text-align: left;&quot;&gt;CommonJS is the default standard and is supported in all Node.js versions. It is resolved
    at Runtime and has a wide amount of Dev support since it has been there since the beginning of Node.JS&lt;/p&gt;
  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;
  &lt;h3 style=&quot;text-align: left;&quot;&gt;&lt;b&gt;5. Does Node.js use CommonJS?&lt;/b&gt;&lt;/h3&gt;
  &lt;p style=&quot;text-align: left;&quot;&gt;Yes, CommonJS was the default Standard for module inclusion.&amp;nbsp;&lt;/p&gt;&lt;h3&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/h3&gt;&lt;h3&gt;&lt;b&gt;6. Does Node.js use ES Modules (ESM)?&lt;/b&gt;&lt;/h3&gt;&lt;p&gt;Yes, ESM is fully supported since Node.js 12.x&lt;/p&gt;&lt;h3&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/h3&gt;&lt;h3&gt;&lt;b&gt;7. Is CommonJS going away?&lt;/b&gt;&lt;/h3&gt;&lt;p&gt;There is no sunset date on CommonJS, but it&#39;s not native to ecmascript as ESM is so it might be expected to be deprecated at some point in favor of ESM and, it is worth noting that many developers are now migrating to ESM, especially for new projects or where the benefits of ESM outweigh the costs of migration.&lt;/p&gt;
&lt;/div&gt;
&lt;h2 id=&quot;requirejscommonjsamd-pattern&quot;&gt;&lt;br /&gt;&lt;/h2&gt;
&lt;h2 id=&quot;requirejscommonjsamd-pattern&quot;&gt;Commonjs/Requirejs/AMD pattern&lt;/h2&gt;
&lt;blockquote style=&quot;border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;&quot;&gt;
  &lt;pre&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;function foo() {}&lt;/code&gt;&lt;/p&gt;&lt;/pre&gt;
  &lt;pre&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;code class=&quot;language-javascript&quot;&gt;modules.exports = foo;&lt;/code&gt;&lt;/p&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;use&quot;&gt;Use&lt;/h3&gt;
&lt;blockquote style=&quot;border: none; margin: 0px 0px 0px 40px; padding: 0px;&quot;&gt;
  &lt;p style=&quot;text-align: left;&quot;&gt;&lt;code&gt;foo = require(&#39;foo&#39;);&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;ecmascript-modules-es-modulesmodules&quot;&gt;&lt;br /&gt;&lt;/h2&gt;
&lt;h2 id=&quot;ecmascript-modules-es-modulesmodules&quot;&gt;ECMAscript modules (ESM/modules)&lt;/h2&gt;
&lt;blockquote style=&quot;border: none; margin: 0px 0px 0px 40px; padding: 0px;&quot;&gt;
  &lt;p style=&quot;text-align: left;&quot;&gt;&lt;code&gt;export function foo() {}&lt;/code&gt;
  &lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;use-1&quot;&gt;Use&lt;/h3&gt;
&lt;blockquote style=&quot;border: none; margin: 0px 0px 0px 40px; padding: 0px;&quot;&gt;
  &lt;p style=&quot;text-align: left;&quot;&gt;&lt;code&gt;// An https url can also be provided&lt;br /&gt;import { foo } from &quot;foo.mjs&quot;;&lt;/code&gt;
  &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;For some advanced tricks, check out&amp;nbsp;&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Data URLs.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h2 id=&quot;ecmascript-modules-es-modulesmodules&quot;&gt;Package.json changes and file extensions&lt;/h2&gt;
&lt;div&gt;When using&amp;nbsp;&lt;code class=&quot;language-javascript&quot;&gt;require(&#39;foo&#39;);&lt;/code&gt;&amp;nbsp;we are depending on CommonJS, which is
  well-established in Node.js since v0.1.0. As of node v9.x, it has been possible to enable an experimental flag to
  begin using ESM. As of Node.js v12.x, ESM are natively supported. The overall migration path from CommonJS to ESM can
  take multiple forms. To provide compatibility and keep longterm changes to a minimum, the following behaviors exist:
&lt;/div&gt;
&lt;div&gt;
  &lt;ul style=&quot;text-align: left;&quot;&gt;
    &lt;li&gt;.js file extension is assumed to implement CommonJS&lt;/li&gt;
    &lt;li&gt;.mjs file extension is assumed to implement ESM&lt;/li&gt;
    &lt;li&gt;.cjs file extension is assumed to implement CommonJS&lt;/li&gt;
    &lt;li&gt;package.js can include &lt;code&gt;{ &quot;type&quot;: &quot;module&quot; }&lt;/code&gt; to indicate .js file extension will contain ESM. With this, there is
      no longer a need to use the .mjs extension&lt;/li&gt;
    &lt;li&gt;Node can be run with &lt;code&gt;--experimental-specifier-resolution=node&lt;/code&gt; to tell node to support CommonJS and ESM BOTH in .js files&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;h2 id=&quot;requirejscommonjsamd-pattern&quot;&gt;ESLint&lt;/h2&gt;
&lt;p&gt;If you embrace ESlint, know that &lt;a href=&quot;https://eslint.org/docs/latest/use/configure/language-options&quot; target=&quot;_blank&quot;&gt;definitions must be based on es2021 (es12)&lt;/a&gt;&amp;nbsp;or newer. Previous ecmascript versions require
  other approaches (like --experimental node.js flags.)&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Bonus&lt;/h2&gt;Starting from Node.js 14.13.0 and higher, it&#39;s possible to import CommonJS modules using the ES module syntax (import/export). In other words, you can use the import statement to import objects from a CommonJS module that exports using module.exports.&lt;br /&gt;&lt;br /&gt;For example, if you have a CommonJS module foo.js that exports an object like this:&amp;nbsp;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt;module.exports = {
 a: 1,
 b: 2,
 c: 3
  };&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;You can import this object using the ES module syntax like this:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
    &lt;code&gt;import foo from &#39;./foo.js&#39;;
      console.log(foo.a); // Output: 1&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Note that you need to use a file extension of &lt;b&gt;.mjs&lt;/b&gt; for the &lt;b&gt;&lt;u&gt;importing&lt;/u&gt;&lt;/b&gt; file (see above) if you&#39;re using ECMAScript modules. However, if you prefer to use the .js file extension for both CommonJS and ECMAScript modules, you can add &quot;type&quot;: &quot;module&quot; to your package.json file OR run Node.js with &lt;code&gt;--experimental-specifier-resolution=node&lt;/code&gt;&amp;nbsp;
&lt;h2 style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/h2&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;The FAQ and other bits where borrowed from:&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://www.knowledgehut.com/blog/web-development/commonjs-vs-es-modules&quot;&gt;https://www.knowledgehut.com/blog/web-development/commonjs-vs-es-modules&lt;/a&gt;
&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.rainabba.me/feeds/4746201477888951459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.rainabba.me/2023/03/commonjs-to-esmodules-the-easy-way.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/4746201477888951459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/4746201477888951459'/><link rel='alternate' type='text/html' href='http://blog.rainabba.me/2023/03/commonjs-to-esmodules-the-easy-way.html' title='From CommonJS/Require to ES modules the easy way'/><author><name>rainabba</name><uri>http://www.blogger.com/profile/14064142359598390121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8237010798052417466.post-1762439153516077433</id><published>2023-02-02T11:43:00.002-07:00</published><updated>2023-03-07T08:58:02.498-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="codequality"/><category scheme="http://www.blogger.com/atom/ns#" term="devops"/><category scheme="http://www.blogger.com/atom/ns#" term="eslint"/><title type='text'>Reasons NOT to use ESlint (sarcasm)</title><content type='html'>&lt;p&gt;If you&#39;re looking to add chaos and confusion to your coding workflow, look no further than ESLint. This tool is designed to ensure that your code meets a certain set of standards and is free of any potential errors. But why would anyone want to use such a bothersome program? Here are just a few of the many reasons why you should avoid ESLint at all costs. Who needs organized and consistent code anyway? Who needs to save time by automatically catching syntax and formatting errors before they even reach the browser? And let&#39;s not forget about the joy of scrolling through hundreds of lines of messy, unreadable code. Who needs to be productive and efficient, right?&lt;/p&gt;&lt;p&gt;First of all, who has time to waste on pesky linting errors? It&#39;s much more fun to spend your valuable coding time debugging runtime issues. Not to mention, the rules that ESLint forces you to abide by are often arbitrary and outdated. Who wants to spend their days writing code that conforms to the stylistic preferences of others? Furthermore, the amount of time it takes to even set up ESLint can be a bit overwhelming. It might seem like a small task, but it can quickly become tedious and time-consuming.&lt;/p&gt;&lt;p&gt;Second, ESLint can be incredibly tedious to work with. It often requires you to spend hours hunting down small typos and other minor errors that could be easily overlooked. Not to mention, the linting rules can be difficult to decipher and often require you to make numerous adjustments to your code in order to comply. This can be incredibly time-consuming and ultimately leave you with code that doesn’t even meet the standards that ESLint was meant to enforce. Clearly, using ESLint is for the weak-hearted. It&#39;s for those who value productivity, consistency, and a well-organized codebase. But if you&#39;re like me, you&#39;d much rather spend hours trying to decipher and fix code that could have been caught by a simple linter. So go ahead, do yourself a favor, and steer clear of the temptations of ESLint. Your code will thank you for it.&lt;/p&gt;&lt;p&gt;The final nail in the coffin is the fact that ESLint often introduces unexpected bugs into your code. Since the program is designed to catch coding errors, it can be difficult to figure out why an error is occurring, especially if you’re unfamiliar with the program. Furthermore, you can’t even trust ESLint to catch all of the errors in your code. This means that you may find yourself spending even more time troubleshooting and hunting down errors that the program missed. So, why bother using it in the first place? Furthermore, who needs the peace of mind that comes with knowing your code adheres to a standardized style guide, or the ability to easily catch potential bugs and security vulnerabilities before they become a problem? Who wants to work in a team where everyone follows the same code conventions, making collaboration smoother and conflicts less frequent?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;In conclusion, ESLint is clearly not worth the headache. If you value your short-term sanity, you should avoid it. In the unlikely chance you like to sleep soundly, knowing your code is as solid as possible, you could look into it. What if sanity is overrated though?&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.rainabba.me/feeds/1762439153516077433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.rainabba.me/2023/02/reasons-not-to-use-eslint.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/1762439153516077433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/1762439153516077433'/><link rel='alternate' type='text/html' href='http://blog.rainabba.me/2023/02/reasons-not-to-use-eslint.html' title='Reasons NOT to use ESlint (sarcasm)'/><author><name>rainabba</name><uri>http://www.blogger.com/profile/14064142359598390121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8237010798052417466.post-2385366686148042289</id><published>2022-10-21T12:31:00.006-07:00</published><updated>2022-10-24T14:40:08.121-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ecmascript"/><category scheme="http://www.blogger.com/atom/ns#" term="es11"/><category scheme="http://www.blogger.com/atom/ns#" term="es2020"/><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><title type='text'>Ecmascript es11 - es2020</title><content type='html'>    &lt;style&gt;
      body,
      contentBody {
        font-family: &#39;Calibri&#39;, serif;
        font-size: 12pt;
        background-color: rgba(255, 255, 255, 0.5);
      }
      h1 {
        font-size: 2.25em;
        font-weight: bold;
      }
      h1,
      h2 {
        font-family: &#39;Calibri Light&#39;, serif;
      }
      h3 {
        font-size: 1.2em;
        font-weight: normal;
        margin-left: 1em;
      }
      .codeRow {
        margin-left: 0.25in;
        text-indent: -0.25in;
        line-height: 12pt;
        border: none;
        padding: 0in;
        margin-top: 0;
        margin-bottom: 0;
        font-size: 10pt;
        font-family: Consolas;
        color: black;
      }
      .codeRow.even {
        background: white;
      }
      .codeRow.odd {
        background: #f8f8f8;
      }
      code {
        box-sizing: content-box;
        border-radius: 0px;
        inset: auto;
        outline: 0px;
        min-height: auto;
        float: none;
        overflow: visible;
      }
    &lt;/style&gt;
	&lt;div class=&quot;contentBody&quot;&gt;
      &lt;h3&gt;What&#39;s new with JavaScript in 2020 - Ecmascript 2020/ES11&lt;/h3&gt;

          &lt;p align=&quot;center&quot; style=&quot;text-align: center;&quot;&gt;
        &lt;img alt=&quot;Person sharpening a tool&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRDq3icszDX4itdIgK1DgVOpjwX7DE4PEiqx2pA4h28PpK68551wNic7fr6Mi5-GFOqRc6_3By40WsS4eaVMx5NCU2s2wnxJ-w7TXpoA1ZzajXG9Wp0ToShT1Os-Sc9k5kapG3I_KNrUlHCukJ_Jo-6tTItbGp6oc8B2F3NxCm8NpiDq6Qqp8oHM-k/w640-h546/pexels-ono-kosuki-5973857.jpg&quot; width=&quot;625&quot; /&gt;
	  &lt;/p&gt;

      &lt;h2&gt;Background&lt;/h2&gt;

      &lt;p&gt;
        Before ecmaScript came Javascript. The creator Brendan Eich set out to
        create a language like, but simpler than Java. Javascript was originally
        created for Netscape and before it went down, a project was started to
        formalize the language and that became ecmascript. What we know today as
        Javascript, is really vendor-specific implementations of ecmascript.
        &lt;o:p&gt;&lt;/o:p&gt;
      &lt;/p&gt;

      &lt;p&gt;
        Ecmascript didn&#39;t really gain traction until version 6 and it has
        continued to evolve since. Support for a given version is entirely
        dependent on the environment such as node vs browser, which browser,
        which version of that browser and such. Right now es version 13 also
        known as es2022 is stable, BUT support for it in Node isn&#39;t stable until
        version 17.9.1 (97% coverage). Since we are still on NodeJS 14,
        ecmaScript support is limited currently to es11 or es2020. When we make
        the move to Node 18.x, then we will have support for es version 13 aka
        es2022.
        &lt;o:p&gt;&lt;/o:p&gt;
      &lt;/p&gt;

      &lt;p&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

      &lt;p align=&quot;center&quot; style=&quot;text-align: center;&quot;&gt;
        &lt;span style=&quot;mso-no-proof: yes;&quot;&gt;
          &lt;img alt=&quot;Timeline Description automatically generated&quot; height=&quot;223&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_p8VS8eSHmy6hvwL7d2M4Ma6BDM_pNBUJ6-os6dGJ_ttlRN5PtlYWuL8lTx4oW5T0yY2S0Z7QlsVT2OC25ssma0-SF-lM-6KXYjwGfnESrf8kQ7yJvnczj_Tm5qCw8WSg-uUZ8gwK5oWP00WqLwhxKrjgHzFktKKcGwSbVHp2AOCDbloEu4BQefWp/s16000/js_ecma_timeline.png&quot; v:shapes=&quot;Picture_x0020_1&quot; width=&quot;625&quot; /&gt;
        &lt;/span&gt;
      &lt;/p&gt;

      &lt;p&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

      &lt;p&gt;
        Hopefully you have some idea of the versions and timelines now, but why
        does it matter? Because each new ecmaScript version defines new
        features. As vendors improve support for that new version, they are
        exposed to developers in their products (like browsers and NodeJS). I
        show you all these now to give you an idea how many new features have
        released since es8/2017. I can&#39;t cover even a majority of them, but
        today I&#39;m going to briefly highly some that may prove helpful in
        providing more stable code, code that&#39;s easier to read (and write tests
        for *nod*) or help you avoid anti-patterns or just write simpler code.
      &lt;/p&gt;

      &lt;p&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

      &lt;p align=&quot;center&quot; style=&quot;text-align: center;&quot;&gt;
        &lt;span style=&quot;mso-no-proof: yes;&quot;&gt;
          &lt;img alt=&quot;Graphical user interface, text, application

Description automatically generated&quot; height=&quot;322&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1U3Mv7WdlCi1EyNqo2wwLXm-9zvy6OtaC3vKiOcDwcUbF2Z1MR5HZBFwEafXpDriiFzvVhKSMdXZbtYZgtfjz6oaSvq18M8kRkibB2-49XwFgH2aX_aNRqx6-ZClRR4R_VH5NlnYxKE3Ptf4fpH9_r4UCZGvzzEROxoAdyTigNv1UIuw9cFMPExXl/s16000/js_ecma_features.png&quot; v:shapes=&quot;Picture_x0020_2&quot; width=&quot;624&quot; /&gt;
        &lt;/span&gt;
      &lt;/p&gt;

      &lt;p&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

      &lt;h2&gt;Nullish coalescing&lt;/h2&gt;

      &lt;p&gt;
        A bit like using OR to return the first/left-most non-null, non-empty
        value; nullish coalescing returns the first/left-most non-null value,
        even if it&#39;s empty.
      &lt;/p&gt;

      &lt;div style=&quot;background: white; border-bottom: none; border-image: initial; border-left: 2.25pt solid rgb(108, 226, 108); border-right: none; border-top: none; border: none; margin-left: 0.25in; margin-right: 0in; padding: 0in;&quot;&gt;
        &lt;p class=&quot;codeRow odd&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              1.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;span&gt;
            const response = {
          &lt;/span&gt;
          &lt;span&gt;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;
        &lt;p class=&quot;codeRow even&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              2.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;span&gt;
            &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;settings: {
          &lt;/span&gt;
          &lt;span style=&quot;mso-fareast-font-family: &#39;Times New Roman&#39;;&quot;&gt;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;

        &lt;p class=&quot;codeRow odd&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              3.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;span&gt;
            &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nullValue:
          &lt;/span&gt;
          &lt;b&gt;
            &lt;span style=&quot;color: #006699; font-family: Consolas; font-size: 9pt; mso-fareast-font-family: &#39;Times New Roman&#39;;&quot;&gt;
              null
            &lt;/span&gt;
          &lt;/b&gt;
          &lt;span&gt;
            , height: 400, animationDuration: 0, headerText: &#39;&#39;,
            showSplashScreen:
          &lt;/span&gt;
          &lt;b&gt;
            &lt;span style=&quot;color: #006699;&quot;&gt;
              false
            &lt;/span&gt;
          &lt;/b&gt;
          &lt;span&gt;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;

        &lt;p class=&quot;codeRow even&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              4.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;span&gt;
            &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},
          &lt;/span&gt;
          &lt;span&gt;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;

        &lt;p class=&quot;codeRow odd&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              5.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;span&gt;
            };
          &lt;/span&gt;
          &lt;span&gt;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;

        &lt;p class=&quot;codeRow even&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              6.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;span&gt;
            const undefinedValue = response.settings.undefinedValue ??
          &lt;/span&gt;
          &lt;span style=&quot;color: blue; mso-bidi-font-family: &#39;Courier New&#39;;&quot;&gt;
            &#39;some other default&#39;
          &lt;/span&gt;
          &lt;span&gt;
            ;
          &lt;/span&gt;
          &lt;span style=&quot;color: #008200;&quot;&gt;
            // result: &#39;some other default&#39;
          &lt;/span&gt;
          &lt;span style=&quot;mso-fareast-font-family: &#39;Times New Roman&#39;;&quot;&gt;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;

        &lt;p class=&quot;codeRow odd&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              7.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;span&gt;
            const nullValue = response.settings.nullValue ??
          &lt;/span&gt;
          &lt;span style=&quot;color: blue;&quot;&gt;
            &#39;some other default&#39;
          &lt;/span&gt;
          &lt;span&gt;
            ;
          &lt;/span&gt;
          &lt;span style=&quot;color: #008200;&quot;&gt;
            // result: &#39;some other default&#39;
          &lt;/span&gt;
          &lt;span&gt;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;

        &lt;p class=&quot;codeRow even&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              8.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;span&gt;
            const headerText = response.settings.headerText ??
          &lt;/span&gt;
          &lt;span style=&quot;color: blue;&quot;&gt;
            &#39;Hello, world!&#39;
          &lt;/span&gt;
          &lt;span&gt;
            ;
          &lt;/span&gt;
          &lt;span style=&quot;color: #008200;&quot;&gt;
            // result: &#39;&#39;
          &lt;/span&gt;
          &lt;span&gt;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;

        &lt;p class=&quot;codeRow odd&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              9.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;span&gt;
            const animationDuration = response.settings.animationDuration ??
            300;
          &lt;/span&gt;
          &lt;span style=&quot;color: #008200; mso-bidi-font-family: &#39;Courier New&#39;;&quot;&gt;
            // result: 0
          &lt;/span&gt;
          &lt;span style=&quot;mso-bidi-font-family: &#39;Times New Roman&#39;;&quot;&gt;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;

        &lt;p class=&quot;codeRow even&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              10.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;span&gt;
            const showSplashScreen = response.settings.showSplashScreen ??
          &lt;/span&gt;
          &lt;b&gt;
            &lt;span style=&quot;color: #006699; font-family: Consolas; font-size: 9pt; mso-bidi-font-family: &#39;Courier New&#39;;&quot;&gt;
              true
            &lt;/span&gt;
          &lt;/b&gt;
          &lt;span style=&quot;mso-bidi-font-family: &#39;Courier New&#39;;&quot;&gt;
            ;
          &lt;/span&gt;
          &lt;span style=&quot;color: #008200;&quot;&gt;
            // result: false
          &lt;/span&gt;
          &lt;span&gt;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;

        &lt;p class=&quot;codeRow odd&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              11.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;span&gt;
            const x = &#39;&#39; || &#39;x&#39;;
          &lt;/span&gt;
          &lt;span style=&quot;color: #008200;&quot;&gt;
            // result: &#39;x&#39;
          &lt;/span&gt;
          &lt;span&gt;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;

        &lt;p class=&quot;codeRow even&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              12.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;span&gt;
            const x = &#39;&#39; ?? &#39;x&#39;;
          &lt;/span&gt;
          &lt;span style=&quot;color: #008200;&quot;&gt;
            // result: &#39;&#39;
          &lt;/span&gt;
          &lt;span&gt;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;
      &lt;/div&gt;

      &lt;p&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

      &lt;h2&gt;Optional Chaining&lt;/h2&gt;

      &lt;p&gt;
        When looking for a property value that&#39;s deep in a tree-like structure,
        one often has to check whether intermediate nodes exist before you can
        check for the deeper value. Optional chaining simplifies this by using a
        question-mark before the dot-notation.
      &lt;/p&gt;

      &lt;div style=&quot;background: white; border-bottom: none; border-image: initial; border-left: 2.25pt solid rgb(108, 226, 108); border-right: none; border-top: none; border: none; margin-left: 0.25in; margin-right: 0in; padding: 0in;&quot;&gt;
        &lt;p class=&quot;codeRow odd&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              1.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;code&gt;
            &lt;span&gt;
              const user = {};
            &lt;/span&gt;
          &lt;/code&gt;
          &lt;span&gt;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;

        &lt;p class=&quot;codeRow even&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              2.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;span&gt;
            &amp;nbsp;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;

        &lt;p class=&quot;codeRow odd&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              3.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;code&gt;
            &lt;span&gt;
              Before:
            &lt;/span&gt;
          &lt;/code&gt;
          &lt;span&gt;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;

        &lt;p class=&quot;codeRow even&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              4.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;code&gt;
            &lt;span&gt;
              &amp;nbsp;&amp;nbsp;
            &lt;/span&gt;
          &lt;/code&gt;
          &lt;code&gt;
            &lt;b&gt;
              &lt;span style=&quot;color: #006699;&quot;&gt;
                var
              &lt;/span&gt;
            &lt;/b&gt;
          &lt;/code&gt;
          &lt;span&gt;&lt;/span&gt;
          &lt;code&gt;
            &lt;span&gt;
              street = user.address.street;
            &lt;/span&gt;
          &lt;/code&gt;
          &lt;code&gt;
            &lt;span style=&quot;color: #008200;&quot;&gt;
              // Error: cannot read properties of undefined&amp;nbsp; var street =
              user.address &amp;amp;&amp;amp; user.address.street; // undefined
            &lt;/span&gt;
          &lt;/code&gt;
          &lt;span&gt;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;

        &lt;p class=&quot;codeRow odd&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              5.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;code&gt;
            &lt;span&gt;
              Now:
            &lt;/span&gt;
          &lt;/code&gt;
          &lt;span&gt;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;

        &lt;p class=&quot;codeRow even&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              6.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;code&gt;
            &lt;span&gt;
              &amp;nbsp;&amp;nbsp;
            &lt;/span&gt;
          &lt;/code&gt;
          &lt;code&gt;
            &lt;b&gt;
              &lt;span style=&quot;color: #006699;&quot;&gt;
                var
              &lt;/span&gt;
            &lt;/b&gt;
          &lt;/code&gt;
          &lt;span&gt;&lt;/span&gt;
          &lt;code&gt;
            &lt;span&gt;
              street = user?.address?.street;
            &lt;/span&gt;
          &lt;/code&gt;
          &lt;code&gt;
            &lt;span style=&quot;color: #008200;&quot;&gt;
              // undefined
            &lt;/span&gt;
          &lt;/code&gt;
          &lt;span&gt;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;
      &lt;/div&gt;

      &lt;p&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

      &lt;h2&gt;Logical assignment operator&lt;/h2&gt;

      &lt;p&gt;
        This is a convenience operators, inspired by&amp;nbsp;
        &lt;a href=&quot;https://docs.ruby-lang.org/en/2.5.0/syntax/assignment_rdoc.html&quot;&gt;
          Ruby&#39;s
        &lt;/a&gt;
        . Javascript already has a dozen&amp;nbsp;
        &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Assignment_Operators&quot;&gt;
          mathematical assignment operators
        &lt;/a&gt;
        , but we didn&#39;t have ones for the often used logical operators.
        &lt;o:p&gt;&lt;/o:p&gt;
      &lt;/p&gt;

      &lt;p&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

      &lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none;&quot;&gt;
        &lt;tbody&gt;&lt;tr style=&quot;mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;&quot;&gt;
          &lt;td style=&quot;padding: 0in 5.4pt; width: 233.75pt;&quot; valign=&quot;top&quot; width=&quot;312&quot;&gt;
            &lt;div style=&quot;background: white; border-bottom: none; border-image: initial; border-left: 2.25pt solid rgb(108, 226, 108); border-right: none; border-top: none; border: none; margin-left: 0.25in; margin-right: 0in; padding: 0in;&quot;&gt;
              &lt;p class=&quot;line codeRow odd&quot;&gt;
                &lt;span style=&quot;font-family: Consolas; font-size: 9pt;&quot;&gt;
                  &lt;span&gt;
                    1.
                    &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
                  &lt;/span&gt;
                &lt;/span&gt;

                &lt;code&gt;
                  &lt;span style=&quot;color: #008200; font-family: Consolas; font-size: 9pt;&quot;&gt;
                    // Ok, but could trigger setter.
                  &lt;/span&gt;
                &lt;/code&gt;
                &lt;span&gt;
                  &lt;o:p&gt;&lt;/o:p&gt;
                &lt;/span&gt;
              &lt;/p&gt;
              &lt;p class=&quot;line codeRow even&quot;&gt;
                &lt;span style=&quot;font-family: Consolas; font-size: 9pt;&quot;&gt;
                  &lt;span&gt;
                    2.
                    &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
                  &lt;/span&gt;
                &lt;/span&gt;

                &lt;code style=&quot;border-radius: 0px; box-sizing: content-box; float: none; inset: auto; min-height: auto; outline: 0px; overflow: visible;&quot;&gt;
                  &lt;span&gt;
                    opts.foo = opts.foo ??
                  &lt;/span&gt;
                &lt;/code&gt;
                &lt;code style=&quot;border-radius: 0px; box-sizing: content-box; float: none; inset: auto; min-height: auto; outline: 0px; overflow: visible;&quot;&gt;
                  &lt;span style=&quot;color: blue;&quot;&gt;
                    &#39;bar&#39;
                  &lt;/span&gt;
                &lt;/code&gt;
                &lt;span&gt;
                  &lt;o:p&gt;&lt;/o:p&gt;
                &lt;/span&gt;
              &lt;/p&gt;
              &lt;p class=&quot;line codeRow odd&quot;&gt;
                &lt;span style=&quot;font-family: Consolas; font-size: 9pt;&quot;&gt;
                  &lt;span&gt;
                    3.
                    &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
                  &lt;/span&gt;
                &lt;/span&gt;

                &lt;code style=&quot;border-radius: 0px; box-sizing: content-box; float: none; inset: auto; min-height: auto; outline: 0px; overflow: visible;&quot;&gt;
                  &lt;span style=&quot;color: #008200; font-family: Consolas; font-size: 9pt;&quot;&gt;
                    // No setter, but &#39;feels wrong&#39; to write.
                  &lt;/span&gt;
                &lt;/code&gt;
                &lt;span&gt;
                  &lt;o:p&gt;&lt;/o:p&gt;
                &lt;/span&gt;
              &lt;/p&gt;
              &lt;p class=&quot;line codeRow even&quot;&gt;
                &lt;span style=&quot;font-family: Consolas; font-size: 9pt;&quot;&gt;
                  &lt;span&gt;
                    4.
                    &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
                  &lt;/span&gt;
                &lt;/span&gt;

                &lt;code style=&quot;border-radius: 0px; box-sizing: content-box; float: none; inset: auto; min-height: auto; outline: 0px; overflow: visible;&quot;&gt;
                  &lt;span&gt;
                    opts.baz ?? (opts.baz =
                  &lt;/span&gt;
                &lt;/code&gt;
                &lt;code style=&quot;border-radius: 0px; box-sizing: content-box; float: none; inset: auto; min-height: auto; outline: 0px; overflow: visible;&quot;&gt;
                  &lt;span style=&quot;color: blue;&quot;&gt;
                    &#39;qux&#39;
                  &lt;/span&gt;
                &lt;/code&gt;
                &lt;code style=&quot;border-radius: 0px; box-sizing: content-box; float: none; inset: auto; min-height: auto; outline: 0px; overflow: visible;&quot;&gt;
                  &lt;span&gt;
                    );
                  &lt;/span&gt;
                &lt;/code&gt;
                &lt;span&gt;
                  &lt;o:p&gt;&lt;/o:p&gt;
                &lt;/span&gt;
              &lt;/p&gt;
              &lt;p class=&quot;line codeRow odd&quot;&gt;
                &lt;span style=&quot;font-family: Consolas; font-size: 9pt;&quot;&gt;
                  &lt;span&gt;
                    5.
                    &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
                  &lt;/span&gt;
                &lt;/span&gt;

                &lt;code style=&quot;border-radius: 0px; box-sizing: content-box; float: none; inset: auto; min-height: auto; outline: 0px; overflow: visible;&quot;&gt;
                  &lt;span style=&quot;color: #008200; font-family: Consolas; font-size: 9pt;&quot;&gt;
                    // Setters are not needlessly called.
                  &lt;/span&gt;
                &lt;/code&gt;
                &lt;span&gt;
                  &lt;o:p&gt;&lt;/o:p&gt;
                &lt;/span&gt;
              &lt;/p&gt;
              &lt;p class=&quot;line codeRow even&quot;&gt;
                &lt;span style=&quot;font-family: Consolas; font-size: 9pt;&quot;&gt;
                  &lt;span&gt;
                    6.
                    &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
                  &lt;/span&gt;
                &lt;/span&gt;

                &lt;code style=&quot;border-radius: 0px; box-sizing: content-box; float: none; inset: auto; min-height: auto; outline: 0px; overflow: visible;&quot;&gt;
                  &lt;span&gt;
                    opts.foo ??=
                  &lt;/span&gt;
                &lt;/code&gt;
                &lt;code style=&quot;border-radius: 0px; box-sizing: content-box; float: none; inset: auto; min-height: auto; outline: 0px; overflow: visible;&quot;&gt;
                  &lt;span style=&quot;color: blue;&quot;&gt;
                    &#39;bar&#39;
                  &lt;/span&gt;
                &lt;/code&gt;
                &lt;span&gt;
                  &lt;o:p&gt;&lt;/o:p&gt;
                &lt;/span&gt;
              &lt;/p&gt;
              &lt;p class=&quot;line codeRow odd&quot;&gt;
                &lt;span style=&quot;font-family: Consolas; font-size: 9pt;&quot;&gt;
                  &lt;span&gt;
                    7.
                    &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
                  &lt;/span&gt;
                &lt;/span&gt;

                &lt;code style=&quot;border-radius: 0px; box-sizing: content-box; float: none; inset: auto; min-height: auto; outline: 0px; overflow: visible;&quot;&gt;
                  &lt;span style=&quot;color: #008200; font-family: Consolas; font-size: 9pt;&quot;&gt;
                    // No repetition of `opts.baz`.
                  &lt;/span&gt;
                &lt;/code&gt;
                &lt;span&gt;
                  &lt;o:p&gt;&lt;/o:p&gt;
                &lt;/span&gt;
              &lt;/p&gt;
              &lt;p class=&quot;line codeRow even&quot;&gt;
                &lt;span style=&quot;font-family: Consolas; font-size: 9pt;&quot;&gt;
                  &lt;span&gt;
                    8.
                    &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
                  &lt;/span&gt;
                &lt;/span&gt;

                &lt;code style=&quot;border-radius: 0px; box-sizing: content-box; float: none; inset: auto; min-height: auto; outline: 0px; overflow: visible;&quot;&gt;
                  &lt;span&gt;
                    opts.baz ??=
                  &lt;/span&gt;
                &lt;/code&gt;
                &lt;code style=&quot;border-radius: 0px; box-sizing: content-box; float: none; inset: auto; min-height: auto; outline: 0px; overflow: visible;&quot;&gt;
                  &lt;span style=&quot;color: blue;&quot;&gt;
                    &#39;qux&#39;
                  &lt;/span&gt;
                &lt;/code&gt;
                &lt;code style=&quot;border-radius: 0px; box-sizing: content-box; float: none; inset: auto; min-height: auto; outline: 0px; overflow: visible;&quot;&gt;
                  &lt;span&gt;
                    ;
                  &lt;/span&gt;
                &lt;/code&gt;
                &lt;span&gt;
                  &lt;o:p&gt;&lt;/o:p&gt;
                &lt;/span&gt;
              &lt;/p&gt;
            &lt;/div&gt;
          &lt;/td&gt;
          &lt;td style=&quot;padding: 0in 5.4pt; width: 233.75pt;&quot; valign=&quot;top&quot; width=&quot;312&quot;&gt;
            &lt;div style=&quot;background: white; border-bottom: none; border-image: initial; border-left: 2.25pt solid rgb(108, 226, 108); border-right: none; border-top: none; border: none; margin-left: 0.25in; margin-right: 0in; padding: 0in;&quot;&gt;
              &lt;p class=&quot;line codeRow odd&quot;&gt;
                &lt;span style=&quot;font-family: Consolas; font-size: 9pt;&quot;&gt;
                  &lt;span&gt;
                    9.
                    &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
                  &lt;/span&gt;
                &lt;/span&gt;

                &lt;code&gt;
                  &lt;span style=&quot;color: #008200; font-family: Consolas; font-size: 9pt;&quot;&gt;
                    // This always logs &quot;setter called&quot;
                  &lt;/span&gt;
                &lt;/code&gt;
                &lt;span&gt;
                  &lt;o:p&gt;&lt;/o:p&gt;
                &lt;/span&gt;
              &lt;/p&gt;
              &lt;p class=&quot;line codeRow even&quot;&gt;
                &lt;span style=&quot;font-family: Consolas; font-size: 9pt;&quot;&gt;
                  &lt;span&gt;
                    10.
                    &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;
                  &lt;/span&gt;
                &lt;/span&gt;

                &lt;code style=&quot;border-radius: 0px; box-sizing: content-box; float: none; inset: auto; min-height: auto; outline: 0px; overflow: visible;&quot;&gt;
                  &lt;span&gt;
                    obj.x += 1;
                  &lt;/span&gt;
                &lt;/code&gt;
                &lt;span&gt;
                  &lt;o:p&gt;&lt;/o:p&gt;
                &lt;/span&gt;
              &lt;/p&gt;
              &lt;p class=&quot;line codeRow odd&quot;&gt;
                &lt;span style=&quot;font-family: Consolas; font-size: 9pt;&quot;&gt;
                  &lt;span&gt;
                    11.
                    &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;
                  &lt;/span&gt;
                &lt;/span&gt;

                &lt;code style=&quot;border-radius: 0px; box-sizing: content-box; float: none; inset: auto; min-height: auto; outline: 0px; overflow: visible;&quot;&gt;
                  &lt;span&gt;
                    assert.equal(obj.x, 1);
                  &lt;/span&gt;
                &lt;/code&gt;
                &lt;span&gt;
                  &lt;o:p&gt;&lt;/o:p&gt;
                &lt;/span&gt;
              &lt;/p&gt;
              &lt;p class=&quot;line codeRow even&quot;&gt;
                &lt;span style=&quot;font-family: Consolas; font-size: 9pt;&quot;&gt;
                  &lt;span&gt;
                    12.
                    &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;
                  &lt;/span&gt;
                &lt;/span&gt;

                &lt;code style=&quot;border-radius: 0px; box-sizing: content-box; float: none; inset: auto; min-height: auto; outline: 0px; overflow: visible;&quot;&gt;
                  &lt;span style=&quot;color: #008200; font-family: Consolas; font-size: 9pt;&quot;&gt;
                    // Logical operators do not call setters unnecessarily
                  &lt;/span&gt;
                &lt;/code&gt;
                &lt;span&gt;
                  &lt;o:p&gt;&lt;/o:p&gt;
                &lt;/span&gt;
              &lt;/p&gt;
              &lt;p class=&quot;line codeRow odd&quot;&gt;
                &lt;span style=&quot;font-family: Consolas; font-size: 9pt;&quot;&gt;
                  &lt;span&gt;
                    13.
                    &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;
                  &lt;/span&gt;
                &lt;/span&gt;

                &lt;code style=&quot;border-radius: 0px; box-sizing: content-box; float: none; inset: auto; min-height: auto; outline: 0px; overflow: visible;&quot;&gt;
                  &lt;span style=&quot;color: #008200; font-family: Consolas; font-size: 9pt;&quot;&gt;
                    // This will not log.
                  &lt;/span&gt;
                &lt;/code&gt;
                &lt;span&gt;
                  &lt;o:p&gt;&lt;/o:p&gt;
                &lt;/span&gt;
              &lt;/p&gt;
              &lt;p class=&quot;line codeRow even&quot;&gt;
                &lt;span style=&quot;font-family: Consolas; font-size: 9pt;&quot;&gt;
                  &lt;span&gt;
                    14.
                    &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;
                  &lt;/span&gt;
                &lt;/span&gt;

                &lt;code style=&quot;border-radius: 0px; box-sizing: content-box; float: none; inset: auto; min-height: auto; outline: 0px; overflow: visible;&quot;&gt;
                  &lt;span&gt;
                    obj.x ||= 2;
                  &lt;/span&gt;
                &lt;/code&gt;
                &lt;span&gt;
                  &lt;o:p&gt;&lt;/o:p&gt;
                &lt;/span&gt;
              &lt;/p&gt;
              &lt;p class=&quot;line codeRow odd&quot;&gt;
                &lt;span style=&quot;font-family: Consolas; font-size: 9pt;&quot;&gt;
                  &lt;span&gt;
                    15.
                    &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;
                  &lt;/span&gt;
                &lt;/span&gt;

                &lt;code style=&quot;border-radius: 0px; box-sizing: content-box; float: none; inset: auto; min-height: auto; outline: 0px; overflow: visible;&quot;&gt;
                  &lt;span&gt;
                    assert.equal(obj.x, 1);
                  &lt;/span&gt;
                &lt;/code&gt;
                &lt;span&gt;
                  &lt;o:p&gt;&lt;/o:p&gt;
                &lt;/span&gt;
              &lt;/p&gt;
              &lt;p class=&quot;line codeRow even&quot;&gt;
                &lt;span style=&quot;font-family: Consolas; font-size: 9pt;&quot;&gt;
                  &lt;span&gt;
                    16.
                    &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;
                  &lt;/span&gt;
                &lt;/span&gt;

                &lt;code style=&quot;border-radius: 0px; box-sizing: content-box; float: none; inset: auto; min-height: auto; outline: 0px; overflow: visible;&quot;&gt;
                  &lt;span style=&quot;color: #008200; font-family: Consolas; font-size: 9pt;&quot;&gt;
                    // But setters are called if the operator does not short
                    circuit
                  &lt;/span&gt;
                &lt;/code&gt;
                &lt;span&gt;
                  &lt;o:p&gt;&lt;/o:p&gt;
                &lt;/span&gt;
              &lt;/p&gt;
              &lt;p class=&quot;line codeRow odd&quot;&gt;
                &lt;span style=&quot;font-family: Consolas; font-size: 9pt;&quot;&gt;
                  &lt;span&gt;
                    17.
                    &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;
                  &lt;/span&gt;
                &lt;/span&gt;

                &lt;code style=&quot;border-radius: 0px; box-sizing: content-box; float: none; inset: auto; min-height: auto; outline: 0px; overflow: visible;&quot;&gt;
                  &lt;span style=&quot;color: #008200; font-family: Consolas; font-size: 9pt;&quot;&gt;
                    // &quot;setter called&quot;
                  &lt;/span&gt;
                &lt;/code&gt;
                &lt;span&gt;
                  &lt;o:p&gt;&lt;/o:p&gt;
                &lt;/span&gt;
              &lt;/p&gt;
              &lt;p class=&quot;line codeRow even&quot;&gt;
                &lt;span style=&quot;font-family: Consolas; font-size: 9pt;&quot;&gt;
                  &lt;span&gt;
                    18.
                    &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;
                  &lt;/span&gt;
                &lt;/span&gt;

                &lt;code style=&quot;border-radius: 0px; box-sizing: content-box; float: none; inset: auto; min-height: auto; outline: 0px; overflow: visible;&quot;&gt;
                  &lt;span&gt;
                    obj.x &amp;amp;&amp;amp;= 3;
                  &lt;/span&gt;
                &lt;/code&gt;
                &lt;span&gt;
                  &lt;o:p&gt;&lt;/o:p&gt;
                &lt;/span&gt;
              &lt;/p&gt;
              &lt;p class=&quot;line codeRow odd&quot;&gt;
                &lt;span style=&quot;font-family: Consolas; font-size: 9pt;&quot;&gt;
                  &lt;span&gt;
                    19.
                    &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;
                  &lt;/span&gt;
                &lt;/span&gt;

                &lt;code style=&quot;border-radius: 0px; box-sizing: content-box; float: none; inset: auto; min-height: auto; outline: 0px; overflow: visible;&quot;&gt;
                  &lt;span&gt;
                    assert.equal(obj.x, 3);
                  &lt;/span&gt;
                &lt;/code&gt;
                &lt;span&gt;
                  &lt;o:p&gt;&lt;/o:p&gt;
                &lt;/span&gt;
              &lt;/p&gt;
            &lt;/div&gt;
            &lt;p style=&quot;line-height: normal; margin-bottom: 0in;&quot;&gt;
              &lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
            &lt;/p&gt;
          &lt;/td&gt;
        &lt;/tr&gt;
      &lt;/tbody&gt;&lt;/table&gt;

      &lt;h2&gt;Object rest/spread&lt;/h2&gt;

      &lt;p&gt;
        ECMAScript 6 introduces&amp;nbsp;
        &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment&quot;&gt;
          rest elements
        &lt;/a&gt;
        &amp;nbsp;for ARRAY destructuring assignment and&amp;nbsp;
        &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator&quot;&gt;
          spread elements
        &lt;/a&gt;
        &amp;nbsp;for ARRAY literals. With es11, we get&amp;nbsp;
        &lt;a href=&quot;https://github.com/tc39/proposal-object-rest-spread/blob/main/Rest.md&quot;&gt;
          rest properties
        &lt;/a&gt;
        &amp;nbsp;for OBJECT destructuring assignment and&amp;nbsp;
        &lt;a href=&quot;https://github.com/tc39/proposal-object-rest-spread/blob/main/Spread.md&quot;&gt;
          spread properties
        &lt;/a&gt;
        &amp;nbsp;for OBJECT literals.
      &lt;/p&gt;

      &lt;div style=&quot;background: white; border-bottom: none; border-image: initial; border-left: 2.25pt solid rgb(108, 226, 108); border-right: none; border-top: none; border: none; margin-left: 0.25in; margin-right: 0in; padding: 0in;&quot;&gt;
        &lt;p class=&quot;line codeRow odd&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              1.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;code&gt;
            &lt;b&gt;
              &lt;span style=&quot;color: #006699;&quot;&gt;
                let
              &lt;/span&gt;
            &lt;/b&gt;
          &lt;/code&gt;
          &lt;span&gt;&lt;/span&gt;
          &lt;code&gt;
            &lt;span&gt;
              { x, y, ...z } = { x: 1, y: 2,&amp;nbsp; a: 3, b: 4&amp;nbsp; };
            &lt;/span&gt;
          &lt;/code&gt;
          &lt;span&gt;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;

        &lt;p class=&quot;line codeRow even&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              2.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;code&gt;
            &lt;span&gt;
              x;
            &lt;/span&gt;
          &lt;/code&gt;
          &lt;code&gt;
            &lt;span style=&quot;color: #008200;&quot;&gt;
              // 1
            &lt;/span&gt;
          &lt;/code&gt;
          &lt;span&gt;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;

        &lt;p class=&quot;line codeRow odd&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              3.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;code&gt;
            &lt;span&gt;
              y;
            &lt;/span&gt;
          &lt;/code&gt;
          &lt;code&gt;
            &lt;span style=&quot;color: #008200;&quot;&gt;
              // 2
            &lt;/span&gt;
          &lt;/code&gt;
          &lt;span&gt;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;

        &lt;p class=&quot;line codeRow even&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              4.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;code&gt;
            &lt;span&gt;
              z;
            &lt;/span&gt;
          &lt;/code&gt;
          &lt;code&gt;
            &lt;span style=&quot;color: #008200;&quot;&gt;
              // { a: 3, b: 4 }
            &lt;/span&gt;
          &lt;/code&gt;
          &lt;span&gt;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;

        &lt;p class=&quot;line codeRow odd&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              5.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;code&gt;
            &lt;b&gt;
              &lt;span style=&quot;color: #006699;&quot;&gt;
                let
              &lt;/span&gt;
            &lt;/b&gt;
          &lt;/code&gt;
          &lt;span&gt;&lt;/span&gt;
          &lt;code&gt;
            &lt;span&gt;
              n = { x, y, ...z };
            &lt;/span&gt;
          &lt;/code&gt;
          &lt;span&gt;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;

        &lt;p class=&quot;line codeRow even&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              6.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;code&gt;
            &lt;span&gt;
              n;
            &lt;/span&gt;
          &lt;/code&gt;
          &lt;code&gt;
            &lt;span style=&quot;color: #008200;&quot;&gt;
              // { x: 1, y: 2,&amp;nbsp; a: 3, b: 4&amp;nbsp; }
            &lt;/span&gt;
          &lt;/code&gt;
          &lt;span&gt;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;
      &lt;/div&gt;

      &lt;p&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

      &lt;h2&gt;Promise.allsettled&lt;/h2&gt;

      &lt;p&gt;
        Previously we were given Promise.all, Promise.race, and Promise.any.
        Other Promise combinators can short-circuit, discarding the results of
        input values that lose the race to reach a certain
        state.&amp;nbsp;Promise.allSettled&amp;nbsp;is unique in always waiting for all
        of its input values. Promise.allSettled returns a promise that is
        fulfilled with an array of promise state snapshots, but only after all
        the original promises have settled, i.e. become either fulfilled or
        rejected.
        &lt;o:p&gt;&lt;/o:p&gt;
      &lt;/p&gt;

      &lt;p&gt;
        &#39;The Promise.allSettled() method returns a promise that fulfills after
        all of the given promises have either fulfilled or rejected, with an
        array of objects that each describes the outcome of each promise.&#39;
        &lt;o:p&gt;&lt;/o:p&gt;
      &lt;/p&gt;

      &lt;div style=&quot;background: white; border-bottom: none; border-image: initial; border-left: 2.25pt solid rgb(108, 226, 108); border-right: none; border-top: none; border: none; margin-left: 0.25in; margin-right: 0in; padding: 0in;&quot;&gt;
        &lt;p class=&quot;line codeRow odd&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              1.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;code&gt;
            &lt;span&gt;
              const promise1 = Promise.resolve(3);
            &lt;/span&gt;
          &lt;/code&gt;
          &lt;span&gt;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;

        &lt;p class=&quot;line codeRow even&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              2.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;code&gt;
            &lt;span&gt;
              const promise2 =
            &lt;/span&gt;
          &lt;/code&gt;
          &lt;code&gt;
            &lt;b&gt;
              &lt;span style=&quot;color: #006699;&quot;&gt;
                new
              &lt;/span&gt;
            &lt;/b&gt;
          &lt;/code&gt;
          &lt;span&gt;&lt;/span&gt;
          &lt;code&gt;
            &lt;span&gt;
              Promise((resolve, reject) =&amp;gt; setTimeout(reject, 100,
            &lt;/span&gt;
          &lt;/code&gt;
          &lt;code&gt;
            &lt;span style=&quot;color: blue;&quot;&gt;
              &#39;foo&#39;
            &lt;/span&gt;
          &lt;/code&gt;
          &lt;code&gt;
            &lt;span&gt;
              ));
            &lt;/span&gt;
          &lt;/code&gt;
          &lt;span&gt;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;

        &lt;p class=&quot;line codeRow odd&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              3.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;code&gt;
            &lt;span&gt;
              const promises = [promise1, promise2];
            &lt;/span&gt;
          &lt;/code&gt;
          &lt;span&gt;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;

        &lt;p class=&quot;line codeRow even&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              4.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;code&gt;
            &lt;span&gt;
              Promise.allSettled(promises).
            &lt;/span&gt;
          &lt;/code&gt;
          &lt;span&gt;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;

        &lt;p class=&quot;line codeRow odd&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              5.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;code&gt;
            &lt;span&gt;
              &amp;nbsp; &amp;nbsp; then((results) =&amp;gt; results.forEach((result) =&amp;gt;
              console.log(result.status)));
            &lt;/span&gt;
          &lt;/code&gt;
          &lt;span&gt;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;

        &lt;p class=&quot;line codeRow even&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              6.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;code&gt;
            &lt;span style=&quot;color: #008200;&quot;&gt;
              // expected output:
            &lt;/span&gt;
          &lt;/code&gt;
          &lt;span&gt;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;

        &lt;p class=&quot;line codeRow odd&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              7.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;code&gt;
            &lt;span style=&quot;color: #008200;&quot;&gt;
              // &quot;fulfilled&quot;
            &lt;/span&gt;
          &lt;/code&gt;
          &lt;span&gt;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;

        &lt;p class=&quot;line codeRow even&quot;&gt;
          &lt;span&gt;
            &lt;span&gt;
              8.
              &lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;
            &lt;/span&gt;
          &lt;/span&gt;
          &lt;code&gt;
            &lt;span style=&quot;color: #008200;&quot;&gt;
              // &quot;rejected&quot;
            &lt;/span&gt;
          &lt;/code&gt;
          &lt;span&gt;
            &lt;o:p&gt;&lt;/o:p&gt;
          &lt;/span&gt;
        &lt;/p&gt;
      &lt;/div&gt;

&lt;p&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;

      &lt;h2&gt;Conclusion&lt;/h2&gt;

      &lt;p&gt;
        ECMAScript is constantly evolving and the more current your environment (latest Node.js, browser, or other client), the more features you&#39;ll have access to. Be sure to keep an eye on which version of eslint you want to target by watching resources like https://node.green/ and https://caniuse.com/?search=es11.
      &lt;/p&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.rainabba.me/feeds/2385366686148042289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.rainabba.me/2022/10/ecmascript-es11-es2020.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/2385366686148042289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/2385366686148042289'/><link rel='alternate' type='text/html' href='http://blog.rainabba.me/2022/10/ecmascript-es11-es2020.html' title='Ecmascript es11 - es2020'/><author><name>rainabba</name><uri>http://www.blogger.com/profile/14064142359598390121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRDq3icszDX4itdIgK1DgVOpjwX7DE4PEiqx2pA4h28PpK68551wNic7fr6Mi5-GFOqRc6_3By40WsS4eaVMx5NCU2s2wnxJ-w7TXpoA1ZzajXG9Wp0ToShT1Os-Sc9k5kapG3I_KNrUlHCukJ_Jo-6tTItbGp6oc8B2F3NxCm8NpiDq6Qqp8oHM-k/s72-w640-h546-c/pexels-ono-kosuki-5973857.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8237010798052417466.post-5780705737512973761</id><published>2021-10-11T18:38:00.005-07:00</published><updated>2021-11-23T10:11:58.640-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><title type='text'>JS Promises - Execution Order and Timing</title><content type='html'>&lt;div&gt;As long as I&#39;ve been working with JS (just look at how old this blog is to begin getting an idea), I&#39;ve continued to struggle with execution order and wanted to get it clear in my head. The following helped me do that so I wanted to share.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;https://gist.github.com/rainabba/5784f79261b1686dc13dcb851588e2b8&quot;&gt;GitHub Gist&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; font-family: &amp;quot;Fira Code&amp;quot;, Consolas, monospace, &amp;quot;Courier New&amp;quot;, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 10px; line-height: 14px; padding: 0.5em; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;console&lt;/span&gt;.&lt;span style=&quot;color: #dcdcaa;&quot;&gt;time&lt;/span&gt;(&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;full&amp;nbsp;execution&#39;&lt;/span&gt;);&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;console&lt;/span&gt;.&lt;span style=&quot;color: #dcdcaa;&quot;&gt;time&lt;/span&gt;(&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;code&amp;nbsp;block&#39;&lt;/span&gt;);&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;function&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;showExecutionOrder&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;parm&lt;/span&gt;)&amp;nbsp;{&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;console&lt;/span&gt;.&lt;span style=&quot;color: #dcdcaa;&quot;&gt;time&lt;/span&gt;(&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;outside&amp;nbsp;promise&#39;&lt;/span&gt;);&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;new&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;Promise&lt;/span&gt;((&lt;span style=&quot;color: #dcdcaa;&quot;&gt;resolve&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;reject&lt;/span&gt;)&amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;=&amp;gt;&lt;/span&gt;&amp;nbsp;{&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;console&lt;/span&gt;.&lt;span style=&quot;color: #dcdcaa;&quot;&gt;time&lt;/span&gt;(&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;inside&amp;nbsp;promise&#39;&lt;/span&gt;);&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;resolve&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;parm&lt;/span&gt;);&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;console&lt;/span&gt;.&lt;span style=&quot;color: #dcdcaa;&quot;&gt;timeEnd&lt;/span&gt;(&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;inside&amp;nbsp;promise&#39;&lt;/span&gt;);&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}).&lt;span style=&quot;color: #dcdcaa;&quot;&gt;then&lt;/span&gt;((&lt;span style=&quot;color: #9cdcfe;&quot;&gt;data&lt;/span&gt;)&amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;=&amp;gt;&lt;/span&gt;&amp;nbsp;{&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #6a9955;&quot;&gt;//&amp;nbsp;Lookup&amp;nbsp;mdn&amp;nbsp;and&amp;nbsp;invoke&amp;nbsp;the&amp;nbsp;account&amp;nbsp;sync&amp;nbsp;as&amp;nbsp;required&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;console&lt;/span&gt;.&lt;span style=&quot;color: #dcdcaa;&quot;&gt;log&lt;/span&gt;({&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;data&lt;/span&gt;&amp;nbsp;});&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;console&lt;/span&gt;.&lt;span style=&quot;color: #dcdcaa;&quot;&gt;timeEnd&lt;/span&gt;(&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;outside&amp;nbsp;promise&#39;&lt;/span&gt;);&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;console&lt;/span&gt;.&lt;span style=&quot;color: #dcdcaa;&quot;&gt;time&lt;/span&gt;(&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;function&amp;nbsp;call&#39;&lt;/span&gt;);&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;showExecutionOrder&lt;/span&gt;({&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;foo&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;:&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;true&lt;/span&gt;&amp;nbsp;});&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;console&lt;/span&gt;.&lt;span style=&quot;color: #dcdcaa;&quot;&gt;timeEnd&lt;/span&gt;(&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;function&amp;nbsp;call&#39;&lt;/span&gt;);&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;console&lt;/span&gt;.&lt;span style=&quot;color: #dcdcaa;&quot;&gt;timeEnd&lt;/span&gt;(&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;code&amp;nbsp;block&#39;&lt;/span&gt;);&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;console&lt;/span&gt;.&lt;span style=&quot;color: #dcdcaa;&quot;&gt;timeEnd&lt;/span&gt;(&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;full&amp;nbsp;execution&#39;&lt;/span&gt;);&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Update: Another demonstration, in another context:&amp;nbsp; &lt;a href=&quot;https://gist.github.com/rainabba/6847b06bff1f5a37bb19663c7a4e3c0e&quot;&gt;https://gist.github.com/rainabba/6847b06bff1f5a37bb19663c7a4e3c0e&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.rainabba.me/feeds/5780705737512973761/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.rainabba.me/2021/10/js-promises-execution-order-and-timing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/5780705737512973761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/5780705737512973761'/><link rel='alternate' type='text/html' href='http://blog.rainabba.me/2021/10/js-promises-execution-order-and-timing.html' title='JS Promises - Execution Order and Timing'/><author><name>rainabba</name><uri>http://www.blogger.com/profile/14064142359598390121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8237010798052417466.post-5322463502914434185</id><published>2020-09-21T12:38:00.002-07:00</published><updated>2020-09-21T12:43:54.730-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cicd"/><category scheme="http://www.blogger.com/atom/ns#" term="devops"/><category scheme="http://www.blogger.com/atom/ns#" term="Docker"/><category scheme="http://www.blogger.com/atom/ns#" term="gitlab"/><category scheme="http://www.blogger.com/atom/ns#" term="gitlab-runner"/><title type='text'>Executing Gitlab-runner locally with Docker (local runner and local code)</title><content type='html'>&lt;script src=&quot;http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shCore.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shBrushRuby.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt; &lt;script src=&quot;http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shLegacy.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;link href=&quot;http://alexgorbatchev.com/pub/sh/2.1.364/styles/shCore.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;&gt;&lt;/link&gt;
&lt;link href=&quot;http://alexgorbatchev.com/pub/sh/2.1.364/styles/shThemeDefault.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;&gt;&lt;/link&gt;     &lt;script language=&quot;javascript&quot;&gt;
window.onload = function () {
    dp.SyntaxHighlighter.ClipboardSwf = &#39;http://alexgorbatchev.com/pub/sh/2.1.364/scripts/clipboard.swf&#39;;
    dp.SyntaxHighlighter.HighlightAll(&#39;code&#39;);
    dp.SyntaxHighlighter.BloggerMode();
}
&lt;/script&gt;

&lt;p&gt;It&#39;s hard to prioritize writing when I have so many responsibilities AND interests, but when my battles stand to save others days or weeks of pain (or abandoning a project) and it can hilite my work (rare), I must write, right!? ;P&lt;/p&gt;&lt;p&gt;So far, I cannot get a runner to use my local files mounted, but I can commit locally, execute the runner locally and have it use that latest commit (not yet pushed). This is arguably better than my present approach other than having to commit (even locally) for every change.&lt;/p&gt;&lt;p&gt;If anyone knows how to skip Git locally all-together, I&#39;d love to hear how!&lt;/p&gt;&lt;p&gt;What you wanted!&lt;br /&gt; &lt;br /&gt;
  &lt;/p&gt;&lt;pre class=&quot;brush: bash&quot; name=&quot;code&quot;&gt;&lt;pre style=&quot;background: url(&amp;quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHHZBfqNm43jLJzM7ljjWjqIhar7mOWHFnP1IyLgObBQVagiUrZjeU6LE7bNnP_nIpqiQfHteQvgsQ447daLq3AadE1iNd6tHRLBr4Rc4cWsSS5O5QErclYDA_QpaSI5bpEdpQvu4Sg1hZ/s320/codebg.gif&amp;quot;) rgb(240, 240, 240); border: 1px dashed rgb(204, 204, 204); font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; width: 450.828px;&quot;&gt;&lt;code style=&quot;overflow-wrap: normal;&quot;&gt;&lt;span style=&quot;color: #444444;&quot;&gt;mkdir -p ./.gitlab-runner/builds \  
 docker run --name=runner-${PWD##*/} --privileged -t --rm \  
 -v /var/run/docker.sock:/var/run/docker.sock \  
 -v $PWD/.gitlab-runner/:/etc/gitlab-runner \  
 -v ${PWD}:${PWD} \  
 --workdir $PWD \  
 gitlab/gitlab-runner \  
 exec docker --builds-dir $PWD/.gitlab-runner/builds/ yourStage;  &lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;If &quot;yourStage&quot; were debug and your .gitlab-ci.yml looked like the following, you should expect to see the output of the `ls` command reflecting your WORKDIR.&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;background: url(&amp;quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHHZBfqNm43jLJzM7ljjWjqIhar7mOWHFnP1IyLgObBQVagiUrZjeU6LE7bNnP_nIpqiQfHteQvgsQ447daLq3AadE1iNd6tHRLBr4Rc4cWsSS5O5QErclYDA_QpaSI5bpEdpQvu4Sg1hZ/s320/codebg.gif&amp;quot;) rgb(240, 240, 240); border: 1px dashed rgb(204, 204, 204); font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; width: 450.828px;&quot;&gt;&lt;code style=&quot;overflow-wrap: normal;&quot;&gt;&lt;span style=&quot;color: #444444;&quot;&gt;image: docker:git  
 stages:  
  - debug  
 variables:  
  DOCKER_DRIVER: overlay2  
  DOCKER_TLS_CERTDIR: &quot;/certs&quot;  
  CI_REGISTRY: registry.gitlab.com  
 before_script:  
  - printf &quot;::STARTING_BEFORE_SCRIPT\n\n&quot;;  
  - export REVISION=$(git rev-parse --short HEAD)  
  - printf &quot;::REVISION=${REVISION}\n&quot;  
 debug:  
  image: docker:19.03-dind  
  stage: debug  
  script:  
   - pwd; ls -lah;  &lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;I hope to spend time in the near future covering the experiences I&#39;ve had implementing GitLab, challenges I&#39;ve&amp;nbsp;faced, solutions to those challenges and my hot-takes on the overall approach. For now, I hope that helped someone else because it was a long-time coming for me :)&lt;p&gt;&lt;/p&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.rainabba.me/feeds/5322463502914434185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.rainabba.me/2020/09/executing-gitlab-runner-locally-using.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/5322463502914434185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/5322463502914434185'/><link rel='alternate' type='text/html' href='http://blog.rainabba.me/2020/09/executing-gitlab-runner-locally-using.html' title='Executing Gitlab-runner locally with Docker (local runner and local code)'/><author><name>rainabba</name><uri>http://www.blogger.com/profile/14064142359598390121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8237010798052417466.post-597572516880862774</id><published>2020-09-02T08:32:00.000-07:00</published><updated>2020-09-02T08:32:18.098-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="chrome"/><category scheme="http://www.blogger.com/atom/ns#" term="chromedevtools"/><category scheme="http://www.blogger.com/atom/ns#" term="codeeditor"/><category scheme="http://www.blogger.com/atom/ns#" term="webdevelopment"/><title type='text'>Chrome DevTools has implemented code-folding (as of v73 apparently)!</title><content type='html'> Open Chrome devtools settings, then under preferences, sources, enable &quot;code folding&quot;, then code suddenly becomes more manageable in DevTools :)&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;https://developers.google.com/web/updates/2019/01/devtools#folding&quot;&gt;https://developers.google.com/web/updates/2019/01/devtools#folding&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;https://bugs.chromium.org/p/chromium/issues/detail?id=328431#c33&quot;&gt;https://bugs.chromium.org/p/chromium/issues/detail?id=328431#c33&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; src=&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAqIAAAORCAYAAAApmMBEAAAgAElEQVR4Aey969NtVXXuywetsrTKKi8fLO9WKflwrALD2pVs14k7WTnBLYFk7SABd5aXwwlxqVExaytqdElUrEWMESNRQUUlRsEb3gAVLyAGNRJy/3vGqWea56W97e1jzDHnHPf5+zCrj9FH66233vozRv/NPud83/Oe//znV7zIARpAA2gADaABNIAG0MDQGjhv6A7pD5GjATSABtAAGkADaAANSAOAKDvC7IijATSABtAAGkADaGAUDQCiCG8U4fFOmHfCaAANoAE0gAbQACAKiAKiaAANoAE0gAbQABoYRQOAKMIbRXi8C+ZdMBpAA2gADaABNACIAqKAKBpAA2gADaABNIAGRtEAIIrwRhEe74J5F4wG0AAaQANoAA0AooAoIIoG0AAaQANoAA2ggVE0AIgivFGEx7tg3gWjATSABtAAGkADgCggCoiiATSABtAAGkADaGAUDQCiCG8U4fEumHfBaAANoAE0gAbQACAKiAKiaAANoAE0gAbQABoYRQOAKMIbRXi8C+ZdMBpAA2gADaABNACIAqKAKBpAA2gADaABNIAGRtEAIIrwRhEe74J5F4wG0AAaQANoAA0AooAoIIoG0AAaQANoAA2ggVE0AIgivFGEx7tg3gWjATSABtAAGkADgCggCoiiATSABtAAGkADaGAUDQCiCG8U4fEumHfBaAANoAE0gAbQACAKiAKiaAANoAE0gAbQABoYRQOAKMIbRXi8C+ZdMBpAA2gADaABNACIAqKAKBpAA2gADaABNIAGRtEAIIrwRhEe74J5F4wG0AAaQANoAA0AooAoIIoG0AAaQANoAA2ggVE0AIgivFGEx7tg3gWjATSABtAAGkADgCggCoiiATSABtAAGkADaGAUDQCiCG8U4fEumHfBaAANoAE0gAbQACAKiAKiaAANoAE0gAbQABoYRQOAKMIbRXi8C+ZdMBpAA2gADaABNACIAqKAKBpAA2gADaABNIAGRtEAIIrwRhEe74J5F4wG0AAaQANoAA0AooAoIIoG0AAaQANoAA2ggVE0AIgivFGEx7tg3gWjATSABtAAGkADgCggCoiiATSABtAAGkADaGAUDQCiCG8U4fEumHfBaAANoAE0gAbQACAKiAKiaAANoAE0gAbQABoYRQOA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&quot; /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Before:&lt;/h3&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; src=&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4sAAAJCCAYAAABpg1KrAAAgAElEQVR4Aey9XY8dx52nOR9GN1KBglCGaV3IcpnEGE1MrQ2UuXRhxK2GRMvNBeTSkEC7ZIsGXAJYlGsByYAF7QpYtBds7wryuI1eaJYagwJomCsbIGyqBiYveDEfYG7mpj9ADn7H/Tv6V5yIfDknz/tzcRD5EhkRGfHkqXzqH5nn3zz11FNVm8/+/n51eHhYbW5ujuTf2NioDg4OquPj4+Fnd3d3kH9vb28kf6yvVO7Ozk6lT8zLcruxop/oJxiAARiAARiAARiAARiAgUkZ+DdtCyhJXen4ra2t6ujoqNre3q4VPsmk8il/LAtZBO7IA8vwAAMwAAMwAAMwAAMwAAOzZWBqsigJVLRRUcfSoDoimcuHLM4WhNIYsZ1xgAEYgAEYgAEYgAEYgIH1ZKB3WbQAlqasRtAUrcxFFZUHWVxPICMfLMMADMAADMAADMAADMAADMyPgVpZlMzF5xDjsvZ54NJ8uecU9ayjBDKWkYsoukxkcX5QeAxIGQMYgAEYgAEYgAEYgAEYWF8GamVxnmAgi+sL5Ty5o264gwEYgAEYgAEYgAEYgIG/MoAstnwbLMDwpQEDMAADMAADMAADMAADMLBODCCLyOJwOvE6gc+58kUPAzAAAzAAAzAAAzAAA/UMIIvIIrIIAzAAAzAAAzAAAzAAAzAAAyMMIItAMQIF/2Gp/w8L/UP/wAAMwAAMwAAMwAAMrAMDyCKyiCzCAAzAAAzAAAzAAAzAAAzAwAgDyCJQjECxDv8l4Rz5byAMwAAMwAAMwAAMwAAM1DOALCKLyCIMwAAMwAAMwAAMwAAMwAAMjDCwErK4862vVL//5LvVJ//0t9XWi8+NnGT8j8ELz1+o3r3xWfX+W58PPlrWtphn0Zdff+W9Qdsv77wx83afO3euunfvXvWLX/xi7Lo//vjjSp+++/nixYvVgwcPqsePH0+l/L7bS3n1/8mif+gfGIABGIABGIABGJgvAysli7++/VKtgFgUJVuLBp7E7+2Du9Vzz55tbNs8ZVGSJyGTmI3bh9euXatOTk4mEs60bkvsNCQ0rYv1+X5p0f/0PwzAAAzAAAzAAAzMhoFWsri9vV0dHx9Xh4eH1ebmZlYSnEf59Nnf38/m08Du7e0N8jiv1tMB39nZqfRJt+fWHVlskkUJ2aJGErvIYq4PZrFN0URJnmRv0vpu3rw5iAAqnbQsHa82SWL7aFsf7aGM2XyB0c/0MwzAAAzAAAzAAAxMj4FaWZQYShAlfvqUZFGyd3R0VG1tbQ1u/Dc2NqqDg4PBR8seQJenfXG798e0iyxq6qmmoLaRxbbRu9iWWSwvuix6iuck00/TfuwjSukyJZ19iazLJJ3eFw99S9/CAAzAAAzAAAzAwOIzUJRFC58ihhrIkixKECWKzudBd6QxblcZbURRZcxDFjW9883XPqyeefrMUHA9dfXCuS+muCqfPt7n5x9jHveDylKZzhMjm5pyKnn1vjRNxdbTT50vV5/rTfNKRr1Pqdr+04O7gzTmTc/fx0gSm6afntk8W73+wW+rH//mL4PPjz76c3X+4sun6nV5SvucjoosLv6XTRx7lhkvGIABGIABGIABGFh8BoqymA5eSRYlgzGq6OMcRfQU05JUOn+a9iWLEirLVS6VKLluLaeyZCGMYma5ijKXm+LqY2OZksdXvvPWKSFV/V0iiy43tsnnYAGNdTp/PFdvU59YJH1szKdy2zwP+OUXv1Ed/PIP1dV3fjXsz8s3fl7VCaPL1QtztOxzGCdFFhf/y2acceUYxhUGYAAGYAAGYAAG5sfAxLJYkkDLoiRTA2yp3N3dHciln1csTW3tSxYjXE1C1kUWY4RQdVi+osDlyovtictNbYt5c3V5f6kcbY9tdhmpGOba7Ahg3fOFEkPJoqTRbXGkMQqk9zltE7F03roUWZzfl0jduLCPcYEBGIABGIABGICB5WVgYln0dNVU+iSJ8UU3ijBqPU5DLR0roBZdFmPkTu21fFkWHaWTpLW5QEqSlzs2rct5POU1bVuufaUycrLYJGJ1UihR1NRU5XE7Y9pUdsxbt6znH/uIUNbVwb7l/aJj7Bg7GIABGIABGIABGOjOwMSyqE639DlaqFQRRAmkp6EqzU1XLUUmx5HFD3727ayQGIwmIcuJUk6q2uTLHed25NKmtsVjSmVbFtW+mF/LPsby6nXLrfPnzq1J6DwF1c8qpuk0ZVGSqN9VVBt9DqTdvwjoM/oMBmAABmAABmAABmAgZaAXWUwL1XoqgZ6Gqu0xf5rP+5ZdFucZWayTRcthn7JYF1n0eJbSJhEtHZduJ7LIl1vKBOswAQMwAAMwAAMwAAOTMTA1WVQkMU45LUlhSSK7yGJbCJqid7momo7RS2AsWaorly+VL0f5clNCc+1V+fGZwlweb0vr8nalpXNMt5fKyJ1bm2cWm6abxjbGZZ5ZnOwCjn3JMn0JAzAAAzAAAzAAAzDQJwO9y6KnpKbPMKrR6RtV05fgxBPrIovfv/r16o+ffm/wW4v6zcVYTlxOhSnu07L2R2HTut+g2lUWVZ6O0fEx0ld6G6rlLeZN2+d1541t8j5HNGM5zq/zcT5vS8vIyaLfWqronY9PU/1Eht58Wvcym/QYl9vHs4Z9RSjTNrLOFy4MwAAMwAAMwAAMwMC6MlAri35JTXwW0ct+y6k6Ls3n5xRzndo27zxkUe2VLFkQFRU8+6WvDX4LMUpVTqhK8uXtLjPKaNo/lkvnjT/NYQn0vpjGfCozlze2X3ncrnR77tyUv00EsPTs4jdf/UFWMttELNM+Kq0ji3yJl9hgO2zAAAzAAAzAAAzAwHgM1MriPDu1iyzOs53rUvfFixerBw8eVHXRxa590edzhsjieF8AXceM/PQzDMAADMAADMAADKwPA8jiU+sz2JNe2Iou9vXmUcldX2XpvBSllMwqnfQ8OZ5rAgZgAAZgAAZgAAZgAAaeqpBFZLGTXCkaeHJyMpGUefqp5LOvi3Aakc++2kY5/LGBARiAARiAARiAARhYRgaQRWSxk7D5pTSTiJ6Es8/prL7wLIyKWE6jfNdDypc9DMAADMAADMAADMDAOjCALCKLnWRxHS4KzpEvfxiAARiAARiAARiAARhgGiqihCzDAAzAAAzAAAzAAAzAAAzAQIYBIouZTuG/CPwnCQZgAAZgAAZgAAZgAAZgYN0ZQBaRRf6LAgMwAAMwAAMwAAMwAAMwAAMjDCCLM4JCP3b//lufDz9aX6b/VLzw/IXq3RufVW8f3K2ee/bsUrU918/66Q791IZeipPbf/WdX1U//s1fqss3fp7dnztmFtum9XIgv7hILwe6d+9epfVZnA918B9bGIABGIABGIABGFhcBpDFGciixFCiJeFatItBbXvztQ+rZ54+U9u2RZbF8xdfrn700Z+rb776g9pzcN+3+emORZXFNm33eXZJJaFI4uJ+UXcZS/IyjjAAAzAAAzAAA30x0EoWt7e3q+Pj4+rw8LDa3NzM3pA7j/Lps7+/fyrf3t7eYLv3p6mOjye1s7NT6RO3LeOyonCKxi1qJLGtLC5y33eRRf+8xjL/tIaioooAKu1jXNwnfZXXR5sogz9yMAADMAADMAADMDB/BmplUWIoQZT46VOSRYng0dFRtbW1Nbh53djYqA4ODgYfLdcNtI7Nlbtqsnh5543afqjro2nuWzdZ1O9D1k0/nWZf91m2ZLev83C0Elmc/xdyn4xQFuMJAzAAAzAAAzAwKQNFWbTwOeJXkkUJokTR+dwgRxrT7d6vNMpo3K7ldZFFRx5TmdR6fD7Q+S6ce6nSPj//GPPEPnT+XD5PKfW+NI3TUtO8cV+sT8tpnbmpt5JTfdJydV5peU3rniqqZwtzn3RaqiNoEsZS2WmZaRml4/rYntZd97ykBa/uXNq2yWUhi/xBacsM+WAFBmAABmAABtaDgaIspgCUZFEyGKOKPs4iqMiht6VpGpGM+5dZFvX8n6QqlTCvR4myYLWVRZUh2VJfuZ5U4CReMZ/yqp5XvnM4MhZdIot1eV1nPA9LbRRBlaG2RclVvtgnkYM2y22noUqGTk5OKslRU7lty2wqp83+L7/4jergl3+oXv/gt9WZzb++PMj1SyBzZfiFNH08Z4gsrseXfY4jtjH2MAADMAADMAADdQxMLIulyKJlUZKZa0DT/mWWxXi+JRl0ntJ+CVQUKudLxTDNZ4G0ULqeUlongOkxpbylOr09tlllpGLoKGOUyrTuunWLVVMUsMtLXNqWWdeutvsUQZQsShrjMdquF/eoLXG7l/uaUoss8kfCTJHCAgzAAAzAAAzAQGRgYln0dNX0uUNJYu5FN668LqqoPMhiXhYlh+5DpaksdhWvkgDGOrxcyus607bl2pcrw8dPUxYdiWv7YptZyaIiiYooxqii+7upDV0ipS4zl/Ylnbmy2cYfHBiAARiAARiAARhYXgYmlkUNvoUxvuF0d3d38OKa3DTUpqiiykQWx5NFCVcauau7QHPyVspfylsnexLI2J5cGXXHl9oStzdJlfIuuizmppv6vErPLk4qi5JEvVW1j+ce43iwvLx/EBg7xg4GYAAGYAAGYCAy0IssxgK9XJqeqv1NUUXlQRbHk8Wu4pWTN49hmpby1tWZRj5zZdQdn7Yht26pqpuGusyyWDqvSWXRfUlkkT8KZoEUFmAABmAABmAABiIDU5NFCaF+PiP96Yw2UUU1cJ1l0c/65Z5ZTKd6pjLmZxslZXGgS8vp8aV82p4TPW13e9M6c9tzZUwqi35BTCkC53OaxjOLKnPS6FzdM4u5Zxl9Pn1JHs8s8kfBTJHCAgzAAAzAAAzAQGSgd1n0lNT0GUZX2iaqqLzrIosWKr8ExuvpG0MtgU2yqL5THh0f8+r43NtQNW01zeuxStOc6DmPy4nPHar+OAVVeXNlTCqLfu6vTqxUd5dIXJdopWRxkt88tOzGqaiuvyTAjpTyNlS+0H0NksICDMAADMAADMBA3wzUyqJfUhOfRfRyfMtpmi/3nKIa7qhiLuKYnti6yKLO2yIoabO4SbrGiSy6Hy1vLjOW5TxOLZfOa3HV/nSf87idLkNpmzqnIYuq28IVf28xnb7Z9DuLuTJcXklEJaCTymLb9se+7jMa2GdZsY0s8wcLBmAABmAABmAABpabgVpZnOfgrooszrMPqXv04tTUzba/tdim/yygfUT42tTnPF2m1PqYUoosjnJS6iu201cwAAMwAAMwAAPrxACy+BTArxPwfcudpK1P+WwzFo5mKm2TvymP+6Sv8prqYz/fOTAAAzAAAzAAAzCwHAwgi8hiL8KxTBe8I2kSvXHbbWGb5FnFcep22/v8uYs+n38c55w4Zjn+WDBOjBMMwAAMwAAMrB8DyCKyOLYwLfMXhmRv1qLXR39JcCeR3FIbLIx6/nLWU2pLbWL7+v1BYswZcxiAARiAARhYLAaQRWRxLWWRL6LF+iJiPBgPGIABGIABGIABGFg8BpBFZBFZhAEYgAEYgAEYgAEYgAEYgIERBpBFoBiBgv/qLN5/dRgTxgQGYAAGYAAGYAAGYGDWDCCLyCKyCAMwAAMwAAMwAAMwAAMwAAMjDCCLQDECxaz/Y0F9/JcMBp6q/BMmesmQP6WfM7l161b15MmT6v79+9X58+ez17BehORylE7jxUiMG9cuDMAADMAADKw2A8gispi90eTCX+0Lf1nG94Offbv6/SffrXa+9ZVeOP317ZeqT/7pb6utF5/rpbw++9Gy2OZnUdrIotvmN90ii1zTZoIUFmAABmAABtoy0EoWt7e3q+Pj4+rw8LDa3NzM3mQ5j/Lps7+/n82n7c5TV+bOzk6lT9sTIR/Qz5oBRXQU2VGE586dO7A6hX+8IIuTX9fI4uR9OOvvFupjzGAABmAABhaFgVpZlBhKECV4+pRkcW9vrzo6Oqq2trYGN8wbGxvVwcHB4KNlnWzdtly5yCIXyaJcJKV2XL9+vXr48GH10UcfDdJLly4hjD0LI7I4+fcAsjh5H5a+A9hO38IADMAADKw6A0VZtNwpYqhOKMmiBFGi6HzuMEcavb0uXxRNH48sTu/ie+bpM9Wbr304+GjZfa70hecvVO/e+Ky6vPPGcLu3vf/W55U+2q9t8bgL514abn/9lfcG+ZT37YO71XPPnj2VNx5Xt3z+4svVjz76c/Xj3/xl8Dn45R+qL7/4jbHKqqtn3H23b98eRBZfffXVgSxqamAsS/IomVQ+TxtUFFKfmLdtPpUtQX306NGgDJWjZW1zva5HdXqbU0U/1Z6uUqupm/p8/+rXqz9++r3qT7+7Ovj85IenGbDYvXz5q4Opns6Xm/apvN6vVOW7nZpyqqmncX9czk1LrSsvbXcsS8tun+v1utujVOeqvD5n1ad8OtfYVm2Px2lZU16V1/WqD9WmNF+baageX3PUJqLdRhY1RfXk5KS6du3aSLvSdrI+ve9m+pa+hQEYgAEYWDQGirKYNrQki5LBnOw5Kqmoo8qyLHrd5WudyOLsLwzJYE76tD0KnkRP8helUuvpsZJFy6T2a3zrpNTjX0otipdv/Hx486ptr779j8P10rGz2O4pqJYy3bSnN+6WQN3YR0nTMVHyuuRTHfGFJlqPZbld6YtPXEfaxjZ9JZGT6ETJkRTFdZUThc3SZAGzDFqcovA5T07SVE7Mm7a3a3lqR64el5s7L+3TcbEd8VwtkKlQ6jifm89f20p1tJFFt9Pj3GY8m2TR9eolOG2el3QbSGf/vU2f0+cwAAMwAAOzZmBiWbQEOoLoE7AsSjK9TWIYn2f0enqs8hNZnO7F4GhhjCBa7ix7Hrc0zR1rWYzl6bhUPtOySuvffPUHg6iiBLGUp+1238Q7spOmvtlvW57yeQqqo3oSwCiEymNBS8XN0UFHF9vmy7XPZVlalSeVUW1TXVEqc2WVtkl0UjG0BEl8fJwFKu3PKGjal5al4z1G6bEqM0qa63LatbzYFpcRU0ch43m1PVeLayqGaftz+dQGS1sbYetTFlU3kcXpft9Gxlimr2EABmAABpaJgYll0dNV0+igJDGKoTvFcql9uYik8yGL07+QJIWajuqooSVQ4udxyKWKNir6GMXQsth0bK683DZHFjUNtQ9hzNUxyTYJWZRAS5sFUGVbApuiP23z5drrY6Msui1xm9oQ25srq7QtJ1g54ZFg5UQwlquyUnnS/pyQaXuTLHYtL3cusX0+rxh9zAlpqV2xfJelbbEOLcd83jdPWXQbSKf/vUsf08cwAAMwAAPLxMDEsqiTtTBKAP3Z3d0dTC+N004dSfS2klCqTGRx+heSxC5OJ5X8RXk0yNruKaYxnaYsqm49n6jnFBftmcVcVMfbopBZ5PqURQmgn1eLaRRD9V2UQ7cjiqzHtk2aE5ucCLWVxShirt+ymIpVScp8XK5t2lcqr5Tf5SlN5VDHtG1XLN9tSCPZXk/7AVmc/ndeHGeW6W8YgAEYgAEYaGagF1nMdbQjiJ5iqlQiaVH0MRZI5/N2ZLF58NxX46YxQugpqFEAVa5FMUYM43Guu+/Iost1qmmpksZxXnKjm3/foOdS7Xc9bVJH7qKseTlO9bSk9SWLFsUofa4jlcU47VTL6RTZNufpPFGAvG1asig5dB1KJ5XFtLzcucT6tGzJ07FeThkptSuWn+ujtK64jixO/zsv9jfL9DcMwAAMwAAMNDMwNVmUBOrnMxR11ECUpLAkkchi8+D1AbhkUNHE81/dqX56cPfUW04tkGm0cR6yqHPt8znGSfpOYpaTL0ukxc0i14cs5iKXOgfX4Tp9Xs6v7aq/rg16A6behPngwYPBc3Muw2kUIG/zs31RoiRQTdNQlT+Xp+t2t6PrcSXJc3lOlU+Rv7cPt7PTZnPlWCy1z+Xk+s770nSesqjnJHnBzWy+c9NxZ51+hwEYgAEYWGQGepdFT0lNn2F0pDEKpPPmnl1EFmdz4eg5RUni3//dPwzeeprCmr751M81ajpqjEL2HVnUW1Alh7E9V9/51ViRxVjGpMuWsJx8eZ+nolrkcnljO9rmUzkxcmk5VVQzlUWVr23aF4+J9XrZoiBZuHnz5qk+V55UeBwxS6dRSpJyIuh6lOaOtWSpnphXy5bS3L5xypNcKrochS6tM9ZbypuTRbUxfR6zqf2x7nnJot+WqvEv/cMgtpPl2Xw308/0MwzAAAzAwCIwUCuLfqbQzyHGNL7lNM2XTjX1iVoYYzmpVDovsjibC8TRQ8lfnGrqcYj7lUcvtnnh+b+Z+gtuVL/k0M8rKn39g99WZzbH+81Gn8+kqQUtTgWNZUrQLGdtJbBtPsuop7wquqn2KM3JottqeY3tjMttIovp9N2cvLWRRdVrYYxl1smbBc/5UyHrWp7qcllKU+mNbSzJb1pGqRyVZRmOdWpZ5xXHoY0s6h8GHv80LTFpGdQbT2N9cVn/JJAs8luLs/nejX3PMn0OAzAAAzCwyAzUyuI8G44scuHMk79VqNuymBPJLucnMcwJVZcyli2vBbR03pLFVFonPcc2sjhOHW1k0XXfu3evUv5x6uEYvrNhAAZgAAZgYPUYQBafWr1B5UJlTMWAJDH3bGVXPtZRFj19NI3+ue9WTRY9FTk3DdnnTMr3CgzAAAzAAAysHwPIIrJIFGEFGdCURE1TLE1N7PJlv26y6Gmjuam27rdVkUVPP+VZxfX742+WSRl7GIABGICBOgaQxRUUhboBZ99qfyEomuhn2foQRfGyLrLoaKKeJ6wTRfXJNGVRzw76M0mkT88ouhyldc8s8r2w2t8LjC/jCwMwAAMwMC4DyCKySGQRBmAABmAABmAABmAABmAABkYYQBaBYgSKcf/zwHH81woGYAAGYAAGYAAGYAAGVocBZBFZRBZhAAZgAAZgAAZgAAZgAAZgYIQBZBEoRqDgv0Gr898gxpKxhAEYgAEYgAEYgAEYGJcBZBFZRBYLDLz+ynvV+299PvxofdwLbR7HvfD8herdG59Vbx/crZ579uzM2+7f7pvkJS3z6Ld51akX0EzjJTQeB15yw43CvNimXtiDARiAgeVlAFksiAJQd4daQiIxubzzxszFpO/xkhhKtCRcfZc9SXld+niesugfgl+0H3m/+s6vqtc/+G11ZnP28tw07teuXatOTk4q/eZhU962+z0O05DQtm0gX/fvUvqMPoMBGIABGFgUBlrJ4vb2dnV8fFwdHh5Wm5ub2RsZ51E+ffb397P5tN15lOq4XGfs7OxU+uT2sW0xL6AuIrPIY+jzWMRIotu26EIuOVnE3+5bZFnUNeHfPewrGisB1TgoXeRrjrYt5nc648K4wAAMwAAM1MqixFCCKMHTpySLe3t71dHRUbW1tTW4IdnY2KgODg4GHy0LtNw25ddxOj6FEVlcPjiXRWRS1tL1RT6PRW6b+9ERsr6Ex+X2kS66LOoc+xRtjYGilcji8n2f9sE7ZTDuMAADMAADkzJQlEXLnSN/JVm08DmfG+RIo7dLCHOyWSoXWZwu3FE6Lpx7afhcnp7R07rHUekzT5+p3nztw2GedHqmolzx2b50OUbBFK1TWSrTdXi6ZKxXx2hK69kvfe1U3emxKk8fl+G6Y1mup20a+yZ3jOtK60jPTfl+enB30Dbtc9vSc3Adrtf54rOGXfrY7XM5pfpUb5o31ul2de1jyU7T9NNvvvqD6se/+cvwI4lzfX2n5y++XP3ooz8P64r1anma01Iv3/j5oPwXLny7OvjlH4Zt0PbSeVq2+5iOiixO93u0NIZsp99hAAZgAAZWhYGiLKYnWJI6yWCMKvo4RyUdNdTxijY60uh8peORxeleZFFMoiBISqIMOp+EwWOW5vF259V+b0vTVKi038IS5SvKkctz+bEtWpYU1Z1D2obceirEFi2nsU9y7VWZ6bk5n8qoOwcdq3NXvnhuOt9XvnN4qi/dBy4vdy5xW9qmuM99HPtd+eO5Kr+2qW1t+tgvU6kTHYmS5E0Sp/K//OI3BiI1TWH0ec86sqhzlZDG87UoK3W7YurnDJuEOx5TWkYWp/s9Wup3ttPvMAADMAADq8LAxLJYiixaFiWJ6qxSZDGNQLpjkcXpXmSWjjTqZMGxQEgooiRofCxWUWy03WXWiUxOXtI6VVZOZLQ9PV7rqdzkytOxbT9N51EqP22b82l7rDvNV+rPeIyXm9rmfE7Tury9VI63xzZruW0fN8mJxTCNrEmcolC5nX2n85LFKIalPojnKtnu45nPpvGIdbLc/juCvqKvYAAGYAAG1oWBiWXR01XTKaaSxPiiG0ul5VEdbKHMvegGWZzuRZiTghT6OonJSYjL7EsWU0FJ26f1XDssaRbe3HF125rOo1R+2pZJ8+Xa2NS29Ji0Td7vSGauj9Jj0nWVUTq3JskpSaGnikapclv7TOchi5p+KkH0ebSRxb4kr82UYLeLdLrfufQv/QsDMAADMLCMDEwsizppC2N8y+nu7u7gGUVPQ1U+C6PzSTCVLzeNFVmc7gVl6ZAIlMB1Hk/FTNM0Kun8yOJfn8csCVUqXxK2NmKscWrTx3E807q8r65OHROjybkySufWJIuelpk+N+h1ZPGv1/2ksihJ1O8qqhyPOel0v1PpX/oXBmAABmBgFRnoRRZzHWMx9Atucnm0rTQ9FVmc7gVn6ZAIlMamLrKYO8ZlIovdZLEkXuP2cTwuJ3ra3ySL8R8BuTJKbW6SxVJkMbZ5mstEFqf7vTLNsaNsxg4GYAAGYAAGZs/A1GRREph7oU0cZEcklTdu1zKyOF0YLHZ1sqhxyIlCOlZebyOXufJyzydqW5toW668ksi4nU2p+6YkvbnyfUyUrFw+1Z222cdqe1Pb2vRxLCOty/tcZ3qOue25Mkrn1hQRG2e6qaNkElG3f9xUkc10WmiuLL9kZtLoXK6+NtNQm6Q71+bctqbxyB3Dtul+99K/9LJCoJ0AACAASURBVC8MwAAMwMAyMdC7LFoA02cY005x5DE+wxjzIIvTvZAsBU2CYiloyuexU746yUslUOue3hqfn0vzufw07SIy6bGldfdNKlLO7/3uE6/rPMaRRZXrfoh1qtz0bajK29THbqfzxjbFfbk+VtlxCmqpDHMRx0x527wNVdG9ti+zidLWxwtfFNnUlNf0BTuxX+J5SBYneSvpOLLoc56kXp8Psjjd71H3Myn9DAMwAAMwsKoM1MqiX1LjZwxjGiUvzZeLFMaX2aic3HOKsZORxeledBYcC0/s+3TZeS11TlNR0HGOfDmP0ihAyqM6vV8io99SlKDE8nIik7bLZaUyVBKZ3PG5bT7ftN0xr+vweajtyh/b4jzxvEpt1nblc3lKU2lz/U19rHbEcuJyek5p3th+16fxSreXzk3HtHmpiiTKzyk6Lf3eoYRH0taHLKp9ad2lehXdm4cs+ncWdd4eg3FTZHG636PjjgvHMS4wAAMwAAPLwkCtLM7zJJBFLqJ58kfd4/Nn2elj2qjGwdHKPiJtXcbV5yH57XLcpHnbyHbbOpDF8Tlu28fko49hAAZgAAZWmQFkscPv760yCJwbX3R9MiDhOTk5qSRck5bbZ1lt2+KpoH1FM9vW6yhqH1FF1an+1zn0MQ5tz4F8fJfAAAzAAAzAwOowgCwiixPfzPOFsDpfCH2NZR+yZXGatbD1Mf10nH50JLOviKza4KjsrKOj45w/x/A9AgMwAAMwAAOLxwCyiCwiizAwFQYsKn1FyVb9D4iEbhpS53HQ85fTKH/Vx4XzW7wbF8aEMYEBGICB2TGALCIKUxEFLuLZXcT0NX0NAzAAAzAAAzAAAzAwDQaQRWQRWYQBGIABGIABGIABGIABGICBEQaQRaAYgWIa/5WgTP7bBQMwAAMwAAMwAAMwAAPLxQCyiCwiizAAAzAAAzAAAzAAAzAAAzAwwgCyCBQjUPAfn+X6j88sxuuDn327+tPvrg4+Wp5FnarDbybVy1n0qfutxTt37lRPnjypbt++nW2f3zbqsvr6aY9Z9QX1cF3CAAzAAAzAAAzMmgFkEVnM3ljPGkTqW44vv+9f/Xr1x0+/V/3+k+9WO9/6ytTZkSy2/emMJlmMjOkNrcjicjAXx41lxgwGYAAGYAAGZstAoyzu7+9Xx8fHw4/Wc4O0tbVVHR0dDfMdHh5Wm5ubI3n39vaGeVRuqbydnZ1Kn1xdbJstJPQ3/R0ZsDD++vZLU78+u8hibGPT8iLK4uX/8FL1n/7bx9Wn/3J38Pntf//P1fV3rk29j5v6iv1c/zAAAzAAAzCwvgzUyqJELsqchTBuEzzb29sDAZQIan1jY6M6ODioUmHUcRJKlaN8pfK0D1lcXyg1/nwWuw8kirOILq6LLEoKJYf/+F++mEKrZYRxsa8DvqcYHxiAARiAgVVnoFYWcycv4YsSaDFMBVJRReWzQFoMJZaxXK1HgfQ+ZHF9L74L516q3n/r80qpeXD6+ivvVW8f3K2ee/bscJ/z6xh90v3PPH2mevO1Dysd+8LzF6p3b3w2yKe8l3feGJbjOprSM5tnq9c/+G119Z1fVecvvlz96KM/Vz/+zV8Gn8s3ft65vKb6xtl//vz56v79+4Nn+PQc36NHj6rr16/31rZJZfHSpUvVw4cPh+3Tsral59pGFj39VOepz61bt0bKScvtM7KoH7qfdEqrxPDX//U/Vtv//t8N265lbYsC6fPw85eq29tI1/c7k7Fn7GEABmAABqbFwMSyWJJATzdVhFFCqfUomTohi6amo1oqfaLI4vpCLxGU8EnuzINSb4+CJ/n7X/+X/22Yz2IYhdHbJIcSRR2j8iyZOSmN9abLlkUJokRRwqg833z1BwNhVJoeM8t1i5gkyvXqpS99CaOeVVRUcdxpqJJWtSW+iEZtzQljG1n0ObrcWcrixYsXB89U6qU5aqvb0iX19NP3Pj39j4bDf/zJYDqqpqYqTyxTdanOts9zxmNZXt/vVsaesYcBGIABGOjKQCdZtNxZAFVZLjKoKKPyXLlyZSiI3qYydJwjj8qjvGlkEllcb5hLEcQoeyXYUwm0LEaB1LE5+SyVGbdbFg9++Yfqyy9+Y3gTr2Vt6xpdjG8a9RtHneplMnpGMNbftCwJS8XLkcYokE3lpPslh27XJ//0t9XWi891apfLUxsU9VSbvM2CGwVS+xZdFtXGSSOLnoIqOXR/SBwlie/8f+9kp6ISWVzv70dzQgoHMAADMAAD02agkyw6WhijgFEWLYDer9TRxCiL8RgLKLII7BF2TxeNUT8JpKaTSv5i3nQ5Pday2ObYtKzcumVRU1G1nMszr211UpiTtC7tlNROIomqqySFpXYvgyx26cNc3iiL6dRTCSTPLfLdmOOGbXABAzAAAzAwCwZay6LEL/f2Uovf7u7u4NlDrbvhOVmM0UblQxYB3bzE1ILnqaiOAkZ5dH7l8fOKMXVel7UOsmgZ8/N7aZpG9NyHbdI+ZNFTRdN2eT2NfK6TLCqKqGhinI6KLPL92ObaJA+cwAAMwAAMTIuBVrIoAZQoxumnbpCfWcy9pCZGEy2baRlpNNLlMg0V6PVsoqeOSvy8bEaUShTTqanLFlnscxpqKUIX+2zc5T5k0TKbTjcttWkdZNHPLOonM+JUVPWJp6OmzyyW+ovtfG/CAAzAAAzAAAz0yUCjLNaJohpSigymEmipjJFHHa/1nGgii4Aeo4mSQkcZfQF4f7p92WTR59NXOul0077akSunq8wugyxO+syi+qnr21D9Yh1ecMP3ZO46YxtcwAAMwAAM9MVArSw2iaIb4XwWQQtkGkVUpNHPMOpYC6Siji7LKbII5GJBIqjpo29d/3+HbzE1I55eGiOOikB6Kuo6TkNV33iqZzql0/02TqqX2eh5xXFeuJPWp7eVatppm+jiosuipW2St6EOxuxff2cxTkGVQObehKr8+ukP1TlpvenYsM73LgzAAAzAAAzAQGSgKIsWPk0/zX3SF9JYGJ03FUVXquOcR2lOFJUXWQRUcWD5Kz1v6OiiBVH5zn91ZzA1dV1lUf3m6Z5+FtBpm5+V8LUa0z5lUeVaaN0upbmf9miSxdJ5qrz0jbDxfBbtdxYHffKvwqjpqPqURFF5z507V927d28gi/zWIt+VkW2W4QEGYAAGYKBPBoqy2Gcl45SFLAL6ONxwzGpx0ySL4453n7I4bhsmPU59o8iizmXSsjh+ta4bxpPxhAEYgAEY6IsBZPEpYOoLJsqBpb4ZQBbzTHn6q6KLijL23e+Ul+93+oV+gQEYgAEYWDcGkEVkkRtNGFhYBpDF03+U4/RT9c26/cHifE/zQH/QHzAAAzAAA9NmAFlEFLjhhIGFZcBTLf0yl0kiadeuXatOTk6GL4bRsrZN+0uW8vlDDgMwAAMwAAMwsKwMIIuIAjfLMAADMAADMAADMAADMAADMDDCALIIFCNQLOt/Pmg3/7WDARiAARiAARiAARiAgf4YQBaRRWQRBmAABmAABmAABmAABmAABkYYQBaBYgQK/hvT339j6Ev6EgZgAAZgAAZgAAZgYFkZQBaRRWRxjRn4/tWvV3/89HvVn353dfD5yQ8vZHnQdudRfh23rF96y97uD3727eFYaHnZz6fU/q0Xn6s++ae/HZ5ribu2+dJ6/GZZ3irb7gZOv+f54MGDSj/bkvblsq77J2j4rdJ2DHz88ceVPss63rS73TjTT/RTygCyuMaikMKw6uuXd96o3j64Wz337Fn+2D311ED4dANu4VCauyG3KFokf337per3n3y32vnWV+jHOX5/WPTXYSzEXo7N9DurbT4dp5veRZOf69evV48ePapu3bq1cNeW5XqSNxKn4zXP9UU9n9u3b1cPHz6sLl26tHAM+I3S/IMFmZjntUvds+evURb39/er4+Pj4UfruYHa2tqqjo6OhvkODw+rzc3NbF6XWSpL5e/s7Aw+ubrYNntQVqHPkcXT3EgOo2hYPiyFHnPJoSI8iuBoW5cbcpdBerrv++oPj5nGqK8yF7Gctsy1zaeb3UX86ZRFlkVx4UjcKkSXFvGfBerjRZZFtU9RWP2UEdHY6XynL+L3L21irGtlUTIXhc5CGLcJou3t7YEk7u3tDW5YNjY2qoODgyoVRufb3d0d7EvLiUAii8AZeehjGVk8zVQaSbR45GQxSmXbG/I+xowyTo9Zrj/WIdLblrk2+Sw8ixgdWXRZFH+rIAuOkC2i8Cy6LIqBRRXt3Pcj25r/htBH9FETA7WymDtYghcl0GKYip+iispngZRo3rhxYxBt9L70mFgfsrje8Frszn7pa9Wbr31Yvf/W54OPlp95+sypKIqmlWp6qfPEqabpPudxmsuruiOLbounr7pMbb9w7qVhvSpT6z72hecvVD89uFspff2V94b5cufgY+pSTU3TFDXdUN65c6d68uTJ4DPulCXdWOs5REmjn/uKUui2aL/yKb+mnipPjDQ6X5v0/Pnz1f379wft942xz0M3SW3KWLY8mk6mMfJ5egz7Oo9JZNE3pq+++upgXNxGjZHGapw2mqW6Z1zTPOawVF8bCdSxbfJJEpumn5pT90ffY5aeZ7yeXWdMpzUt1WyqfLHgOuu+U/qcvmlx72Nqq8/F51A3ZpKdpjrT8ur6JB3PrutpXT4Hp9OsW9/DKj/9u1L3HWDZXsR/uHTte/Kv970m499u/CeWRUcbFTWMnS5J1PRVRRgllHEfsthucGKfrduyRMxCZ3mzpEm83B8SsXdvfFY5j7Zrf5RA51We3Hbvd/mxLO1Lj3M+tS+Wp3xqi9qk49w25XOZPjaeg+tvSnVD55sH3Vwqv29q6/6wl8r1DbvkT8+DWQjT/BZE52vz7FhahtfdXp1HvJnzuU3rptj1zzr1TaDHS/Vrm9bHlbF4Dh6bcaehRkGwrOfaHOusW3Z0Ov4zQZz9X//7peE0Zh3///yfu6dekhT/cZErv40E6rimfBadummUufNX30Rec23sY5v/gTKr68DnquvRjPoarftO6Wsar6OUk04J9veHGdZYmO20Ly2odaLjcYjlqX+mKW3mR3XOoh7X53MVAz5fc2EmnNepr6Mm4XZ+Uu75YGC5Gegki44iRgGUJOpZRUmjYVDEUHmuXLlyKgrp/cjickPjcZxmKrlKI3WqT5IVI3PpuvJYyCxobqfWo9x5u9O2xzlfbIfKsBw6uuj1VAxzbXYb6tLcDZHyT3Jz4ahhLqIY2yIZkUxGCYj72y77RjS9GfLNiW9W2pZnyXAUK021X2X5PNP9Wo/y2zZf2/b5Riy9YW17fCmfx0Ptn2RM1N+6SUzbp5vEOlmoa9c47fE/LkrHNkmg29OUzxGRuumHuevJ3JZunl3/pOm0eCm1y9ddOta5PohltOnHmL+0bHGbRDpKY+Pt6blp7JvkNMe/+6rrd1Tp3Evbm/q+dNy4281cynauD2IdbSL0MT/L3PfBwPIy0EkWHS301FINfJRFS6D3K41TVg2K8zENdXnB8VhOK5XYxShdrh5LWyqFmqYqkUslrW9ZTMtP22hZtDx6/6SymN7Yu9yuaRQOSYdESWUotTz6Jj5KlgVMx5du7kttKd3AlfIv+3bfYOaEbJJz0xh17ftcfbox7Sti5iinOcrVV7etjqcmCXS5TfmaRMF8pjfOKr/p5tltmCT1jXtf13hTW8xnKkBNwmLJq4vONdXd1373WXoOKj93Hk2SU+qTOjb6OpdSm/ssPy3L/Zcy18R707WU1sM693swsLwMtJZFi2IqeJZFvbRGEcY4HRVZXF4w5n1Rt5FFy5inq6ZpKnPI4hc86qZaAhjFz+vxpl03/o68WRy1fnDt3w5kRXm7sOIbrvS//V3KWLa8PmcJoz59yNkiyqKnoJqpunFy3vhPCC2XBLhJAl1XU76mG1yLgscqTafNbenG3efXd+rzTUUrJ1mx7kWUxVR21F6dR3q9NcmixyAde6/n/pEQ+2bS5aa+n7T89Hifb9p/yOIXfy/TPmOdvlk3BlrJogSw9Pyhn1lMp6KqIz0dlWcWubC6XlhtZLEUWSzVhSx+waFkw9FD9VcUQW23BEZxVD5Hj5RH0tg1imRx6uumW3KQCkdct7ionXF7XLYM6/za5isx1rTdN2bpDWzTcel+tbMkVmneuvXczXRd/rp9ZqOJCYuiGXOZKWverrRJAp23KV+TLJrPaQuB25um5iO9cU/z9bW+DrKYTnlvksVSn/TV503lIItf/J1q6iv201cwMBsGGmWxThQ1SH6OMY04eqqpp6TGAfW+9JiYh7ehzgaA2OeLtNxGFkvTTUvnoemgdVNbc/LpOuKzjs6XRi7Teh35XMRpqLqhj5KktvsmPm7XDXyUSuWzoKXb0/PPrftmvC9ZzNWx6NtmLQR1/dFVFvViGP3GWm76of/h0CSxOfbUxlnIYptn7ZoiKml/SkDVJ5M8d+cyu4hK3Vi4vKa0VF+TsLTpx6a6td8Rykn6zt8pqeCXtk/jHwZ9MqB/FLT5Z5JfMjPpbx6Wvo+aroMm6W4z/uRZ7/s8xn95xr9WFptE0QPtfEq1zQIZX4TjvEqRxeUBJI7bLJfbyKLaIxGLbxuta6PlrSR5FkO/uMbrKn/VZNFRoBjdsSwq6ubt3hajRZZF5Yvb6/re+3wDty6yqBs/3Xj7/JV2FbR4rJYtZVHq0zxt17u0xTf2dWJkNsyP2xvfhuo8ZsfnI55Koqlj2pxvUz7fYNe9DdU3z6l8lPpUN83qk0lv2lW+r480GpbW7fNQnU0/A5IeG9fHlUWdc9NLYmI9pWVL1qRl6TrTNNEYkS2xbY5z//BwO11eeu16f5r2yUBb/nwedddj2s7cuuuLfad8dbJo/iaR/Fxb2Ma9IQwsJgNFWbTwafpp7pNGBS2MzpuKogXR+9PUomlQiCwuJjAen2mnbWVR7bAExmcWSxFEy6XzRglUWY4aer/aoWNiPucpSaf7xu1axMii2mhh9JRM34zrRj8njM6niOLLl786uLHXNt/0+7zrUt8Mr4ssqi90w+nnnZQ2iUBd/2mf5crj1ZS/bn/phrp0TJtolv/BYF5y7RQz3q9Ukifuoiym5cT84+TzOenGvkmwLFFx3FIZcXnxpl3y4+3jprm60xt5lW3RajqXuna4rlSKtF7i1KJQJ9x1dcZ97rs+pMOC5zErtV/1q+1NdVqiXJ7SUsTP59HHPwzUvrbnYkltOpfY5+myzzNlrE4W+4osp21hfb3v+xj/xR3/oizOe9CQxcWFZt5sUD9swAAMjMuAb+z7kB23QWVNGh1zWW1Tn8ckotC2rphPkjrrc43197Fs2amLLnatZx4M+Dz6ZLnNeau+WXPXpl3k4e8CDEyHAWTxqel0LMDSrzAAAzCwmAw4ItNHJNARvj7Fow0385ATC+qs5aRNf3TN02f/zYMBR3gniSx37TPl97n2ce2MUz/HLOZ3KuOy2uOCLCKLE0+b4ktitb8kGF/GdxUZmFQWLE59TT1s28e+WZ+1JFhOViWi5POZpB/nxYD/2THrsXAkc9b/GGl7bZCPv1UwMB0GkEVkEVmEARiAgbVjwLLAjW+7mwtJ6iRitYg3cZY9omTtGNA/WFYhqryILNKmdgzST/PpJ2SRm8S1u0nky2Y+Xzb0O/0OAzAAAzAAAzAAA8vFALKILCKLMAADMAADMAADMAADMAADMDDCALIIFCNQ8B+f5fqPD+PFeMEADMAADMAADMAADEyDAWQRWUQWYQAGYAAGYAAGYAAGYAAGYGCEAWRxjaHQg+p6k9+qvbRgGv9VoUz+WwcDMAADMAADMAADMLBuDCCLayyLhl3SiDDy5WceSGEBBmAABmAABmAABmBADDTK4v7+fnV8fDz8aD0Hz9bWVnV0dDTMd3h4WG1ubp7Kq3Vtj+Vtb2+fyuOyd3Z2Kn28Tjo9YPXbSZJFpfTz9PqZvqVvYQAGYAAGYAAGYAAGlomBWlmUGEY5tBDGbTpZCZ8EcG9vbyAbGxsb1cHBwUAMLYwWxSiHyq/j4jZ3HrI4uwvJP7TLb03Nrs/NOSl9DgMwAAMwAAMwAAMwsKgM1MpirtESxRg1tBimAmk5tEDmynKe9FjlRRZnd9Egi7Pr69x1wDb6HwZgAAZgAAZgAAZgYBEZmFgWHW1Mo4OOGirCKKHMnTyyuBgXBbK4GOOQu0bYxtjAAAzAAAzAAAzAAAzMi4FOsugoYhRASaKeVZQ0+iQUKVSeK1eunIpCer9Ti2Yu+khkcXYXxcWLFwfPLDINdXZ97muAlD6HARiAARiAARiAARhYVAY6yaKjhVHuoiw6Uuj9SuOU1dgJFs9UNJ0HWZzdRXPu3Lnq3r17g4+WPQaksxsD+pq+hgEYgAEYgAEYgAEYWDQGWsuiRTF9vtCyuLu7O4gwxumoJVm0KJZebqNOQhZnf7EosqjfXZQ4Io2z7/9F+3KgPTAAAzAAAzAAAzAAA+vNQCtZlABK7OL0U4PjqaS5CKGno6bPLGp7fHuqy4opsjg7MB1Z1O8txjFgeXZjQF/T1zAAAzAAAzAAAzAAA4vGQKMs1omiTsZRwjTimE5J9Ym3EUXlRRZnd7HwgpvZ9bWvA1L6HAZgAAZgAAZgAAZgYNEZqJXFJlH0yTmfUm2zQKaRyLaiqDKQxdldPMji7Pra1wwpfQ4DMAADMAADMAADMLDoDBRl0cKn6aK5TxpJtDA6byqKnq7q/Wlq0XSHIYuzu3iQxdn1tfkmpc9hAAZgAAZgAAZgAAYWnYGiLM674cji7C4eZHF2fT3v64r6GWsYgAEYgAEYgAEYgIG2DCCLTwELsggDbb8wyAcrMAADMAADMAADMLA+DCCLyGKlt6A+ePCgunjxIm9DhQcYgAEYgAEYgAEYgAEYgIEBA8jiGoMgSdTvKp6cnFSKLvJfovX5LxFjzVjDAAzAAAzAAAzAAAw0MYAsrrEsNsHBfr5AYAAGYAAGYAAGYAAGYGB9GUAWkUUiijAAAzAAAzAAAzAAAzAAAzAwwgCyCBQjUPDfo/X97xFjz9jDAAzAAAzAAAzAAAyYAWQRWUQWYQAGYAAGYAAGYAAGYAAGYGCEAWRxilD84he/4AUyU+xf/8eDlP9+wQAMwAAMwAAMwAAMwED/DCCLM5AZSSNvHO0fXr4Q6FMYgAEYgAEYgAEYgAEYmB4DjbK4v79fHR8fDz9azw3I1tZWdXR0NMx3eHhYbW5uDvNubGxUBwcHw/0uc3t7e5gnlruzs1PpE7ct67J+v1C/Y3jz5s2VOJ9lHQfaPb0vEvqWvoUBGIABGIABGICB1WOgVhYlhlEOLYRxm6CQ8En+9vb2BjJkMUyFMQVI+XVcThhXURYVYUz7gPXVu6gYU8YUBmAABmAABmAABmBgFRiolcXcCUoUowRaDFOBVFRR+SyQubLq8iCLXGA5ZtgGFzAAAzAAAzAAAzAAAzAwGwYmlkVHG9PooKOGmnoqocwNKLI4m0HO9T3b6HsYgAEYgAEYgAEYgAEYgIE6BjrJoqOIUQAliXpWUdLoihRlVJ4rV66cikJ6v9M0SuntSlcpsnju3Lnq3r17FdNQuRgj4yzDAwzAAAzAAAzAAAzAwCIz0EkWHS2MU0ujLKaRQuWLU1bVERJEv9wmlczYUaskizqvjz/+ePCSG73sJp4ny3xBwAAMwAAMwAAMwAAMwAAMLCIDrWXRopg+m2hZ3N3dHUQY43TUnCzGTvAU1rRM5Vk1WdQ5Xbt2bfATGnozKtLIF0K8FliGBxiAARiAARiAARiAgUVjoJUsSgAVDYzTT30iFr5clFASmDvGxyotCeWqyaIii5qKqimp8fxZ5ksBBmAABmAABmAABmAABmBgERlolMU6UdQJ+TnGNDqYTkktnfw6yKJ/Z5FnFvkSKF0HbIcNGIABGIABGIABGICBRWOgVhabRNEn43xKtc0C2RRV9HESRpfldJUii8giF765JoUFGIABGIABGIABGICBZWGgKIsWPr+MJk3TSKLFz/lSUXSk0fuVpi+/iZ2GLHIRRR5YhgcYgAEYgAEYgAEYgAEYmC0DRVmc90Agi7MFYd7jTf2MNwzAAAzAAAzAAAzAAAwsFgPI4lPTHxCmoU6/j/lioY9hAAZgAAZgAAZgAAZgoF8GkMUZyKJebHNycjL46QwA7hdg+pP+hAEYgAEYgAEYgAEYgIHpMIAsTlEWJYmPHz8efG7evDnyEh+gng7U9Cv9CgMwAAMwAAMwAAMwAAOTM4AsTlEWAXRyQOlD+hAGYAAGYAAGYAAGYAAG5sMAsogsEvGEARiAARiAARiAARiAARiAgREGkEWgGIGC/9zM5z839Dv9DgMwAAMwAAMwAAMwsEgMIIvIIrIIAzAAAzAAAzAAAzAAAzAAAyMMIIszguL1V96r3n/r8+FH64v0X4Omtrzw/IXq3RufVW8f3K2ee/bsUrU9d2564dCDBw8q/axJbj/bvviv3rlz56p79+5VemFT3/3in5XRi6A+/vjj3svvu72U9wUX9AV9AQMwAAMwAAOrzwCyOANZlBhKtCRci3ZRqW1vvvZh9czTZ2rbtkqyeO3atcFPmUxDfhZtfPtqj+RaQtfnW30toUji6v+h6YtDyoEVGIABGIABGJgtA42yuL+/Xx0fHw8/Ws8N0tbWVnV0dDTMd3h4WG1ubmbz6vi9vb1B3lK+nZ2dSp9cXcu0TVE4ReMWNZLYVhaXqc/r2upIFoLS/Yum798LlbQruqu0bszY132s6DP6DAZgAAZgAAZgoA8GamVRYhjl0EIYt6kR29vbA/GTAGp9Y2OjOjg4qEoi6HIkoaU8qyaLl3feWMgb4nWTRQkP00/H+/J0JFBTUrU86ReQopQnJyfI4gxmN0w6Vhw/3jVDv9FvMAADMAADy85ArSzmTk6iGAXPYpgKpKKKymeBjGUpr2TyypUrp8qKedZFFh15t7KLJQAAIABJREFUTGVS6/H5QOe7cO6lSvv8/GPME/vP+XP5PKXU+9I0TktN88Z9sT4tp3Xmpt5KTvVJy9V5peW1Wb984+fVwS//UL1w4dvV6x/8tvrxb/4y+Gj5zObpZysdVWyafvrNV38wLEflXX3nV2O1rU37lef8xZerg//7j4NUddWdQ9sy2+TTef7ooz+P1Kv+/PKL38iec5/TUZFF/oC24ZQ8cAIDMAADMAAD82NgYll0lFDRxTiQnmYqKZRQep/yabqqjlOeKJ7Oo3SZZVHP/0mqUgnzepQoC1ZbWVQZki31ketJBU7iFfMpr+p55TuHw3FwX3eJLNbldZ3xPCy1UQRVhtoWJVf5Yp+4bW1SyaLlSss6RqIj4Uklr42cqAwLVF1ZbdrWNo9kUXXqPJrOoW2ZbfJFKXZfSbAl2jnZVpkW7j6m8bYZjzbnQZ75/QGh7+l7GIABGIABGFhtBjrJoqOIUQCj/BmWUuQwjTauqiy6H5SWZNB5SvslUFGonC8VwzSfBdJC6XpKaZ0ApseU8pbq9PbYZpWRiqGjjFEq07pL65ZFiU/MI/lJhUeCUzeF0pJpYXN5MQLnbX2mlkULm8vOnYP39ZFaFtPz1XpddLGpH9u2DVlc7T8ubTkgHxzAAAzAAAzAwOIy0EkWHS1U6kGNstgkg6kcpusuU+kyRxbjeVjyJHVxu5dL+1MJbJuvq3iVBNDti2kpr+vMnWN6HrkyfPy4shgjgbG9cdnP29VFxEpSaJlLhTSWP8lyqfxZyWLX8+rruc++pHOSvufYxf3jxNgwNjAAAzAAAzAwfwZay6JFMX020bK4u7s7mF6qdQ9slMHcdNW438c4RRbzkcVUyFIZk3ClkTv3aS7NyVsun7aV8tbJntoX25Mro+74Ulu8XVGwvmRRZXlKay7tKlVuY1O6brIoSez7Zzia+pj98/9jwxgwBjAAAzAAAzCwfAy0kkUJoN5cGqeferAtgX4O0duVejqqIo46NhVNZLE8TTWVwGWILOYig+l5LLIsliKLkelpLK+bLLoPiSwu3x8Mjx0pYwcDMAADMAAD68FAoyzWiaIg8XOMqQjGKakWyvh7jely+qKbdY4s+lm/3DOLkq94caYyZqmUlMV8peX0+FI+bc+Jnra7vWmdue25MmYRWVQ7m+SkJG11feIoWdMbVuvKKNVbmoaq3yXUT05M+hMgkmNFULtGTJv6se5c4z6eWVyPPzJxzFlmzGEABmAABmBguRiolcUmUfRgO59SbbNA5iKRPkYpkcUvRMsvgbFgpW8MtQQ2yaL6VXl0fMyr43NvQ1U0MM0bxygu50TP+11OjC6q/jgFVXlzZcxKFtvIiQStzbRWnYufg9SUyknErass6jxUpz6TSOo4ssjbUJfrC97XJynjBgMwAAMwAAMwMA4DRVm08KURQK+nkUQLo/c3iaIaiyz+FVqLoKTN4ibpGieyaAgsby4zluU8Ti2Xzmtx1f50n/O4nS5DaZs65ymLFp0mwco9u5i+WdXnbXGbpSxGSW06F7czl44ji22EO1dXblufZeXKZxt/FGEABmAABmAABmBgMgaKsjjvjl2Vaajz7kfqP32BSK40hVNTOfvoGwto3U9y9FFPWobOY9YvibGkahpq2p5x1pHF02yO04ccQx/CAAzAAAzAAAxMkwFk8SkAmyZgi1Z233IncepTPtv0l59Z7Eva2tSpPH2Lts5DEdm+xL3teZCP7zwYgAEYgAEYgAEYaMcAsogs9hIlWqYLrg/Z6mP6adc+c2Rv0mcVu9ar/D5fpeMcnzvG4j5r6c21hW3t/mDQT/QTDMAADMAADKwXA8gistjbzf8yfXlIeiZ5znCZznXStlpSJ3k+stQGC6MEGGlcrz8+JSbYDgcwAAMwAAMwsDgMIIvI4lrKIl9Ci/MlxFgwFjAAAzAAAzAAAzCwmAwgi8gisggDMAADMAADMAADMAADMAADIwwgi0AxAgX/2VnM/+wwLowLDMAADMAADMAADMDALBlAFpFFZBEGFpqBn/zwQvXHT79Xff/q12vb2TbfLL9gqYs/6DAAAzAAAzAAA8vMALKIKNTegM8bbv9w/Osf/LY6s3l2ods6bl9tvfhc9ck//W31p99dHXzaiNG4dU3zuF/ffmlwHjqfPutpK4Ft8/XZtliWXgA0ye9t6gU/fb3kR31hnpRqbGJbl2FZ/xzQtaBzWYb20kZuBmEABmAABlaRAWQRWVzoG7F1kMX4xTJv4YlticttbtzXWRb7+GkR/6RLn2+d9T8iFlEWm3hpw1xklGVu0mAABmAABmCgfwYaZXF/f786Pj4efrSeG4itra3q6OhomO/w8LDa3Nwc5t3Y2KgODg6G+2OZe3t7w3wue2dnp9LH66T9Dz59unh9iiyOjknbPmmbr2/u+5S8PqQznh+yOMpT7B+W6R8YgAEYgAEYqGegVhYlhlEOLYRxmzp4e3t7IIGWPothFEZvS48tDRCyWD9wpX5j+3L327yEp4mbNlGepkhRUx2l/W37pG2+Uj3jbtfU0Ummn6b1qry+fgMUWVzu74OUDdYZTxiAARiAgVkzUCuLucZI9tpIoKKKypcKJLI4f8ifefpM9eZrHw4+Wo7j/MLzF6p3b3xWXd55Y7jd295/6/NKH+3XtnjchXMvDbe//sp7g3zK+/bB3eq5Z7s/a+jppz/+zV8qfa6+86tT9cW657V869at6smTJ8PPnTt3Jm5jk/D45t/Po+Web/zgZ98ePDv48uWvVr//5LvDZ9e0Pe0rS6DLc+pyJYDelkvVXpdpWTy49m8Hz5o5f8zjvF3Spj5xWW3zOX8uvX79evXo0aNKYxv3a2zv379fnT9//tR2RxUVEYz547KO0bFmReWrnpgnLrvMPqajmheNTawjLu986yunOBEz2uY83q/+FUMe1zSf85eY0fYSby5Tz+6qzSrLeVVvLDPmcZ1Kz507N5D2vkQ7ls3y/P9uMQaMAQzAAAzMh4GJZdHRRkUX4yBKEjXVVFNPFVUksjifAY5jEpclgznp0/YoeBI9yV+USq2nx0oWLZPar7rqpDS2pW5ZL7XRy20WTRZv3749kArf9F+6dKl6+PBhNakw1gmPb9rjjb9u3i127kff0MftKlc35EqdzzfjlkiLRU4CnDce73Kc+oY+1quyc+X5mDZpXZ/E49vmi8eky11lUUJXJyc5LlJ20jZYevqIVnpMIzOxPo+rGdA+5Y1jZu7Ej8txuam4pcdqTHRcLN/1K296vPcpddtivW5LrjxL9uPHj6s6eY91sLxYf5cYD8YDBmAABhaPgU6yaOGzAGpAJYl6VlHS6AFW9FB5rly5MoxC+tj4rKKWHXn0sU6ZhjpdWBwtjBFEy51lz2ORprljLYuxPB2XymdaVtN6H7LoG1bddOY+2t/UjrjfAqCb/rhd0aimqFHMn1uuE56cePmm3TfxKlP5dJ7xvHI32bny3FfxWJXpG/d0ezwHtSGKYtvjYhm5ZdWZljtJvtyx3tZFFi11dW8wFSP6J4KYcR2ONNb9Y6FJQl1WU5rjIx6TE7aUFa+nYpfy43za7jpcf3qs9ufq9nFKzVxku+44j0edvMfyWZ7u3xj6l/6FARiAgdVgoJMsOloYBS/KYjr1VPnilNUUGj/rmJuaiixOHzBJoaajOmpoCZT4pWMV1xVtVPQxiqFlsenYWE6b5T5ksU09XfKUpLAkGl3KLomRb7rTG2eVnd50pzfxypO7kddxMYKkfKX6fePeJIupFLQ5rql/Sm1Kj2ubLz0urpfGMDcN9eLFi4OoYmm6aJ0U5sqL7VBk7OTkpFK0LG7vulzHTY4JlZ8eU8qXcuaxzsliG27Tc3N5KXMp7+lxrE//bwd9TB/DAAzAwPow0FoWLYqp2FkWd3d3BxFGrRugJllUPpWXE0pkcfoQSuzidFLJX5RHj6O2e4ppTNdVFhUt8vNnuTR93s392CYtCY9v2HORUW2LkpbexKteHx9v5H0z7m2WhFiW2+y86Y279yvN3cS3OS6WkVsu9Umat22+9Li43qcsOgKdY0Tbcs9Aui2zkEWPTYkpC16OHbUzx5mOif+A0JikUW6fY44X71Pq9qXMNR0Xy2B5+n9H6GP6GAZgAAZWm4FWsugIYJx+ajD8zGI6FVX7PR1VU1CdP00llLljkcXpgxcjhJ6CGgVQY2VRjBHDeJzHc5Eji75hLd0UpzejPqdSWooslvJ32a625KZcWuR8A19XZu4mPnfDn+uXnCiqrtKNe2xH7ia+zXGxjNxyqU/SvG3zpcfF9T5lsS6yGOvMLc9CFnNM5NpSypdyZkbT60zjkis3x0vMV2Kn6bhYBsvT/ztCH9PHMAADMLDaDDTKYp0oCg4/i5hGHNMpqTmQfGxOQpHF2YAnGVQ08fxXd6qfHtw99ZZTC2QabVw2WcyxN8m2klCUyvSzVG1evFEnPG1vktObeLUrveH3jb3KLLU7bk+Pj/u8nGtf6Ybfx7RJ6/okHt82XzwmXc6NrSOEaSTQ41r3zGLTdNO0fq83PbMomRRPTS/BqRvnun1uh9LS2Kecde3/9PhYp5ZL7OQ487EaizbXmfOTzubvDP1MP8MADMDA8jJQK4tNouiBdz6l2lYngT5GqQQzF1XUPmRxNlDpOUVJ4t//3T8M3noax0fL6ZtP/VyjpqPGKOQiRxbTc+pjXRLQ9mU28S2NdWKhdtXdcPvmuUnwcjfhuRv+upvutI8sFnGKYZonV57brPNK87ddr+uTWEbbfPGYdNliqPHVPq+Xpo02SZ3l0+Wl9eXWLaF1Imgpanqu0eNWYkZ9pkigmMm1Rdty7Gh7ylnXsW6qu1RejjO1x8+QtpHo0rmyfTZ/d+hn+hkGYAAGloeBoixa+NK3l3o9jSRaGL0/jRY60uj9StM8ERxkcTYQOXoo+YtTTT0Wcb/y6MU2Lzz/N1N/wY1+KsO/sZim+g1Gt2+eae7ZxTT6pPb55r8U8fBNcTp9T+vptFDfuKd5dePtvkhv4rXdx0Up8La0LK3H8lxuLn/Ml7uJ97nFfC6vbapjc1Nz0+Pb5kuPS9cteH7WUNOONda5sfU/AhTpS8vxehROl6m09GxrmzKbIosai9y45sbWYxTzx/72uEd2dG45zrQtluPllGP3TZo/5nO7UnZynLk8ybuuM96IOpu/H+53UvobBmAABlaXgaIsznvQkcXVhW7ebFH/F/IYb87dL7oZj7Lg7fNK20pg23x9n4eifH3Kicqriyr23f6+yrP4pXJn6RNXfdVVKsei3RTBLx3Pdv7uwAAMwAAMwMBpBpDFp053CIDQH+vAgG/gdYOfnq+2IYvtr4M+BcURw7pIZTpei7IuGcxNU3ZkchayKElsmpq7KP1FO9pfY/QVfQUDMAAD82MAWUQWR2SBC3J+F+Ss+t438Glk0RKZbp9Vu3L1tI0Yts2Xq2PSbZa80m8utinf0jlJGW3qmVaeUmRRkpib/tpnOzz9dBkjsn32A2Wt/nc3Y8wYwwAMzJoBZBFZRBbXlAELo58rc5qLNs76iynW11YC2+aLZfe5LGGZRFYUFVv26ZMWRrOkNBdt7LPfKYsbJxiAARiAARiYHgPI4pqKAhfV9C4q+pa+hQEYgAEYgAEYgAEYWAUGkEVkkcgiDMAADMAADMAADMAADMAADIwwgCwCxQgUq/BfEM6B/+bBAAzAAAzAAAzAAAzAwGQMIIvIIrIIAzAAAzAAAzAAAzAAAzAAAyMMIItrDsUzT5+p3nztw+r9tz6vLpyr/x20F56/UL1747NBXuXXsrZN8h8b/2B96Q2Qfjtn02v39QPn+qHz3A+nq31606R+C0/pJO3l2Mn+O0X/0X8wAAMwAAMwAAMwsDwMIIvIYitZtCi+/sp7vcqW3v5Y94PmlsWmN3Q2yaK+lJrq4otreb64GCvGCgZgAAZgAAZgAAamz0CjLO7v71fHx8fDj9ZzA7O1tVUdHR0N8x0eHlabm5vZvHt7e8N8KlvraZk7OzuVPul21qcPRa6PL++80UskMZataGLTD2i3lcVYbmnZUcxJft6gVDbb58Ml/U6/wwAMwAAMwAAMwMD0GKiVRYlhlEMLYdymwdne3h7In6VvY2OjOjg4qFJhlDxqm/YpT93AIovTG/S6fi/tkyy+fXC3eu7Zs7XjVjo+3X7x4sVBRLE0/dT5/VuATZFF529Kl/2Hz5vOj/2Ldd0wHowHDMAADMAADMDAMjNQK4u5E5MoRgm0GKYCaTG0QKos5WkjisqLLE73worPKrZ5/rBvWZQk1k0/NXtNsujpp3peUZ87d+40yizTUafLlseOlH6GARiAARiAARiAgeVmYGJZdLRR0cUIg6eaWg5L+eIxcRlZnB1YerFN7mU12i6RLH3GfX7R00ElbXHMc8tNsuhjzp8/P3i5TRtZvHnzZvX48eNKqY8nnR1v9DV9DQMwAAMwAAMwAAPLwUAnWXQU0QKoQZYk6llFyaAH3RHEK1euDKOQzre7u9vq2UZkcXYAlWTR46m0z8iip4K2kbVpyGLbKbDx/FmeHY/0NX0NAzAAAzAAAzAAA4vBQCdZdLQwTi21BEoW06mnyucpqz42iqbl03kiFMji7ACZtSxKEptebGMWpiGLXSKbbgfp7Hikr+lrGIABGIABGIABGFgMBlrLomUvfTbRsuiIodY9uKksphFI5StNT0UWZwfIMsjiT35Y/3uOXaahIouzY8vfBaT0OQzAAAzAAAzAAAwsHwOtZFECqJ+4iFFBD7ZlLyeCno6qCKKlMk5XVRk+PkqmtiOLs4MJWZxdX/u6IaXPYQAGYAAGYAAGYAAGFp2BRlmsE0WdnKeSphHHdEpqSQpLEokszu7imbUsdnlmse0F1CWyyDOLs2Or7fiRjzGBARiAARiAARiAgcVjoFYWm0TRA+p8SrXNAplGIiWU8flEC2UqmioDWZwdLLOWxS7TQDX99E+/u1r9+vZLw+nN5i6mXWSRt6HOjq04RizT7zAAAzAAAzAAAzCwXAwUZdHCp+mnuU8qeBZG501F0WDoOOdRqucavS+myOJ0QXrh+QuDn8vI/SzGm699WOl3GON49Pk2VJXb9ncWm2RRP5Xh31hMU/0GYzwHL+snO+7du1dJWr2NdLq80b/0LwzAAAzAAAzAAAwsHwNFWZz3YCKLywdTF2Y8FbTNby12Kbcp7zSmwDbVyf7VZpnxZXxhAAZgAAZgAAZWlQFk8Sngnhfcii4+fvy4avN7i3200dNfiSrCfB88UQYcwQAMwAAMwAAMrDoDyCKyONepmIostv3NxUkvRtX14MGDSlHNScvieP44wAAMwAAMwAAMwAAMrDoDyCKyOFdxcrRPUcZpXmyafipRVDrNeiibPxowAAMwAAMwAAMwAAOrwgCyiCwiTzAAAzAAAzAAAzAAAzAAAzAwwgCyCBQjUKzKf0I4D/6rBwMwAAMwAAMwAAMwAAPjM4AsIovIIgzAAAzAAAzAAAzAAAzAAAyMMIAsAsUIFPz3Zfz/vtB39B0MwAAMwAAMwAAMwMCqMIAsIovI4oozUPcSIb0hdta/dbkqX56cBzcCMAADMAADMAADq84AsrjiorDqAHc5v8s7b1RvH9ytnnv27FoJct1PhujtsPrpkmm/jbbLOJGXP7wwAAMwAAMwAAMwsBgMNMri/v5+dXx8PPxoPTd4W1tb1dHR0TDf4eFhtbm5Ocy7t7c33BfL8/L29vYwr8rf2dkZfHJ1sW0x4Fm2cVhHWZQENv2O5c2bN6vHjx9XSpdtTGkv3wUwAAMwAAMwAAMwMD0GamVRYhjl0EIYt2lwJHqSPgmh1jc2NqqDg4MqFcbcQOqYXD5kcXqDnhuHddi2brJ48eLFwW9Ltoka1kUf14ENzpHvGxiAARiAARiAARgYZaBWFnMdJlGMcmcxTAVSUUXls0DmynKe9FjlRRZHByvXh6u6zWJ39ktfq9587cPq/bc+H3y0/MzTZ05FwDStVNNLnSdONU33OY/TXF7VHfvVbfH0VZep7RfOvTSsV2Vq3ce+8PyF6qcHdyulr7/y3jBf7hx8TF1669at6tGjR9X169erO3fuVE+ePBl8Hj58WF26dGlYr8uQJD548KCSNHpbKW0zHdURyDbyWaqH7et9XTP+jD8MwAAMwAAMLBcDE8uio43pNFJJoqKNijBKKHNgKI+mrqqMdD+yuFwgpeM36bpEzEJnebOkSbxcvkTs3RufVc6j7dofJdB5lSe33ftdfixL+9LjnE/ti+Upn9qiNuk4t035XKaPjefg+ptSyaIFUbKo/OfPn6/u378/+GjZZfilNm1fXuP89+7dq7TscmKqsjRdtS5PzM/yel/DjD/jDwMwAAMwAAPLz0AnWXQUMQqgJDEVPkUKlefKlSunopARmLqoovIhi8sPVxzvrsuSqzRSpzIkWTEyl64rj4XMgua6tR7lztudtj3O+WI7VIbl0NFFr6dimGuz21CXWhZv3759Sua0nkYXHSns8hxiUySSyOJ6X5N1bLIPNmAABmAABmBgNRnoJIuOFio1EFEWLYDerzROWfUxSrUvlcy4H1lcTeDiGNctS+xilC6X19KWSqGmqUrkUknrWxbT8tM2WhYtj94/qSxKGl1WKZXYNb3YJj12nGPSMlhf7+uW8Wf8YQAGYAAGYGC1GGgti5I7TStNny+0LO7u7g7kL05HLcmipTItK8KFLK4WaHFs2yy3kUXLmKerpmkqc8hiPVPIYn3/tOGWPPQhDMAADMAADMDAKjHQShYlgKXnD/3MYi5K6Omo6TOLTVFFdTCyuN4XWhtZLEUWSxcosljPFLJY3z8lrthOv8EADMAADMAADKwqA42yWCeK6hQ/x5hGCR09lBjGzvP2NH/Mo2Vkcb0vujayWJpumrLkdU0HrZvampNP1xGfdXS+NHLpepw68jmPaajTeGbRZfKCm/W+Ns03KRzAAAzAAAzAwOozUCuLTaJoQJxPqbZZIOOLcJy3TVRReZHF1YfPTOTSNrKo4yRi8W2jubK8zfJWkjyLoV9c43WVv2yy6Leb9vk2VL0AR29D1UdRSPcr6Xpfq4w/4w8DMAADMAADq8tAURYtfJp+mvukkUELo/PmRNFRxdy+FDJkcXWhS8c6t95WFnWsJTA+s1iKIFounTdKoMpy1ND71Q4dE/M5T0k6fT5u1zwii2pD09tN3U6ljhrWSaB+r1G/2yhZ5LcW1/v6jOywDAswAAMwAAMwsLoMFGVx3oOOLK4udPNma13qt9y1iS4qT5vppcrX9S2r69LfnCffWTAAAzAAAzAAA6vGALL4FFCvGtSczxdMe+poXcRQ+9pMLXX0sY18MgZfjAF9QV/AAAzAAAzAAAwsKwPIIrLIs2crzkBdNNACWDet1BHKNkK5rF+EtJs/4jAAAzAAAzAAAzAwygCyuOKiAPSj0K9bn/hlNzkhlEgSKYSRdbsmOF+YhwEYgAEYgIF2DCCLyCKRRRiAARiAARiAARiAARiAARgYYQBZBIoRKPhPS7v/tNBP9BMMwAAMwAAMwAAMwMAqM4AsIovIIgzAAAzAAAzAAAzAAAzAAAyMMIAsAsUIFKv83xHOjf/+wQAMwAAMwAAMwAAMwEA7BpBFZBFZhAEYgAEYgAEYgAEYgAEYgIERBpBFoBiBgv+0tPtPC/1EP8EADMAADMAADMAADKwyA42yuL+/Xx0fHw8/Ws91yNbWVnV0dDTMd3h4WG1ubo7kTcsr5dvZ2an0ydXFNi7KRWDgvU9/Xn36L3eHn3/8L7fhlX++wAAMwAAMwAAMwAAMrAwDtbIosYtyaCGM23TTvr29PZDEvb29QcdsbGxUBwcHVRRBb9N2Les4b4v5LAHIIkJoFhYxlRj+9r//5+r6O9cGLCvVOsIIt4vIK22CSxiAARiAARiAgXEYqJXFXIESxSh3Fr5UIBVVVD4LpEVTYhnL1boiktoftyOL0wP6mafPVG++9uHgo+XY7y88f6F698Zn1eWdN4bbve39tz6v9NF+bYvHXTj30nD766+8N8invG8f3K2ee/bsqbzxuLrl8xdfrn700Z+rH//mL4PPwS//UH35xW+MVVZdPV33WQwP//Enp9qi9SiQLvfcuXPVvXv3qgcPHlQXL148dYzzkE6Pd/qWvoUBGIABGIABGICB8RiYWBZLEihJ1PRVRxKdz/LoAdN6lE9vRxbHG1D3X1MqGcxJn7ZHwZPoSf6iVGo9PVayaJnUftVfJ6WN7bvx84EgfvPVHwzl6uo7vxrIoySy6fhp7tf00//03z6uLv+Hl4bt2P73/6769X/9j4Mpqdof67927Vp1cnJSPX78uLp58+apfTEfy9Nlnv6lf2EABmAABmAABmCgGwOdZNFRRAugOjsXGVSUUXmuXLlySgQtkI5Cej2NNqpcZLHbQHYF39HCGEG03Fn2SmXmjrUsxvJ0fCqfpTLjdkUPFUW8fOO0dHm7pDHmb1r+yQ8vVH/63dXiR/ubyoj7NdVUYihB1HZJo+Txg////xhsT6eiElmcLstxbFimr2EABmAABmAABmCgPwY6yaLlTqkHIcpiOvVU+dKooSOMijrmpp+6XGSxv0F2n6appFDTUR01tARK/NK8cV3RRkUfoxhaFpuOjeWUlhVN1NTTGFV0Xoni6x/8tjqzOd7UVpczSRplMU49dXQxlcVJ6uLY6V8H9DF9DAMwAAMwAAMwAAN5BlrLokXRUUF3qGVxd3d3IH8xSpjKostQquNVlqQxLVP7kMX8gLnf+0gldnE6qeQvyqPr0HZPMY3pNGVRzyrmpptKFuf97KJlUZHEOB0VWZw+s2aSlL6GARiAARiAARiAgekz0EoWJYDx+cM4MI4U5qKEkkBPWXUZFkWXYYGMkql9yOL0Bz9GCD0FNQqgxsGiGCOG8TiPY9+RxTpZ7BpZ7Hsaqn8yI05FHfTVv05HTZ/PDwuZAAAgAElEQVRZdB+RTp9p+pg+hgEYgAEYgAEYgIH+GGiURUuepS/tfD/HmEYHc1NSJZypFLr8VCKRxf4GOR2zuC4ZVDTx/Fd3qp8e3D31llMLZBptnLYs+tnE0jOL6fZ4PrNY7vo2VLXp448/5gU3/OZS7fTuWbBLHbP5XqWf6WcYgAEYgIFVYaBWFi1yJVF0JzifRdACGY9zBDJuc75cVBJZnM1FpucUJYl//3f/MHjrqcfUafrmUz/XqOmoMQrZZ2RRdUsI0+jiIkxBdb9oKmqcgmqBzEUV9XMZ+tkMvQ1VP6GhF964HNLZcE4/088wAAMwAAMwAAMw0J2Boixa5BQNzH3SSKKF0XmjFHpgLIzOozR9AY7zIovdB9N91yV19FDyF6eauoy4X3n0YpsXnv+bqb7gxnVLGP0bi0q7Tj91OdNKJYyf/svd4Scniq77F7/4xUAW+a3F2XDtfielv2EABmAABmAABmBgfAaKsjjvTkUWxx/UeY8d9Y+OnX9rUdNR6Z/R/qFP6BMYgAEYgAEYgAEYWDwGkEWeo0JeZsCAJPHk5KSSNPJFuHhfhIwJYwIDMAADMAADMAADowwgizMQBcAbBW9d+sTTT3lWcX0ZWBfWOU8YhwEYgAEYgIHVYwBZRBaJdMEADMAADMAADMAADMAADMDACAPIIlCMQMF/hVbvv0KMKWMKAzAAAzAAAzAAAzDQlQFkEVlEFmEABmAABmAABmAABmAABmBghAFkEShGoOj6Hwfy818qGIABGIABGIABGIABGFg9BpBFZBFZhAEYgAEYgAEYgAEYgAEYgIERBpBFoBiBou6/QufOnav0Zk+95bMu3zz2XTj3UvX+W58PP28f3K2ee/bswrWz1DfPPH2mevO1Dwft17mU8k1re2lsS9v7aMfNmzerx48fDz5a7qNMyli9/2oypowpDMAADMAADMyHAWQRWex0g67fC3zw4EF18eLFTsdN+wK3KF7eeWOh2qXzfv2V9wYSKBms64d5y2Ld2Frq+hQ6/eakfnuyzzLr+pd98/kjQ7/T7zAAAzAAAzCwvAw0yuL+/n51fHw8/Gg9N+BbW1vV0dHRMN/h4WG1ubk5kjctb3t7eySPyt/Z2Rl8cnWxbT7AKZq4qD8sLyFb1EhiW1mcJ9dtxrZNni7noPL4/cn5XMtdxom8jBEMwAAMwAAMrC8DtbIosYtyaCGM2wSPhE9Cube3NxC/jY2N6uDgoIrC6G3armUd5/J8XAQRWVwsKBVJVERRN/hxnBZleZGFbJHbpvFrO7aejtqX4CmS2VdZi8Ih7Vis7y3Gg/GAARiAARiAgckYqJXFXOdKFHMSmAqkoorKZxFUGo9z2Wl53o4sTjaw7se69Pz589X9+/erJ0+eDD+3b9/OyqAksWn6aVreo0ePquvXr2fLq2vXOPvqhEzPLSrqmE5R1XqMRjqfprRqn59/jHli2+K0UeV998Zn1QvPXxicr1Ktu4w01bOJnpZaV06sT8tuo8uLdTqv2q7yz37pa4Pzc970/J2/zdg6b5/TUZHF6V/jHjdS+hoGYAAGYAAGYGAcBiaWRUcH0+mkkkNFGx1JlBR6OTZUx2n6qsqJ25HF6QP9z//8z6dk7tatWwNpTIXRESXd3McxisuXLl2qHj58WN25c2eYR+VMUxij0FmIYmo5smB53e3WehRB51MZkk/ls8hFudN2y2DcrryvfOetoQS6njqRdR6nEtWcAGp/7rlM94H2uQxvi+X42JhP+duMrctV6ihkHQsxf90ysjj9a7yu/9lH/8MADMAADMAADDQx0EkWc1NJc7JnMbxy5cowmliKLHoKayqbyOLs4XVkUNFGLRueNi8ikRhKFiWNPs7lRYH0vr7TOiGzBLaVxSiAamcqldpWV196bl3ySuai5LksS6vK8jal3h7bbFmMYljqgzZjG+vTcl+S11c5aftYn/13B31On8MADMAADMDAajLQSRYdLVRqIKIs1k09dQQyTld1fkUgkcXFAExil8qiph7WvdimTgpz5ZmdPtM6ISuJUiqBk+YrnU9d29JjSrLoSGYqvDo+PY90XXlK59Y0tmn7tN5l2mrueG1zhHJRn4EttZvti/E9xTgwDjAAAzAAAzAwGwZay6JFMcqeBsmyuLu7O5hOGqUvjSZaGP12VT3D6OOYhjqbAY8Xlp4n1DTR+MyilrvKoqegpuV4PS0vtqGv5TohK4lSKlVt81ncYuSu7jzq2pYe1ySLuTp1HjEamZ6X6iid26xl0ZLY9Pxr2i+sz/77gT6nz2EABmAABmAABlrJogQwPn8YwbEA5p479HRUv/00HuflVCi9nWmo04XTophOEc1FApuEoi6y6PGcdlonZCVRSqVq0nylc6xrW3rMuLIYn71Mz0t1lM6taWzT9mmdyOJ0r81cn7ONPocBGIABGIABGJgHA42yWCeKarCfY0wjjp5iGqespifoY3N5kMXpXhCll8/kZLHNc22549Lxjusus68IU52Q5UTJz/pFycrlU5tT+fKx8TnBeG7pcnp8uj+ul2TRdeo8Y/7c9lx9pXPzOEgaY7l1y309a9hXOXVtZd90v0foX/oXBmAABmAABlabgVpZbBJFw+F8SrXNEph7+6mPcUQylUzvRxanC1765lNHB3PTUNu8MbMUqfR4pqnk5PHjx4NPH8+t1cmihcpy53W99XQcWdS5SOriW1O1TeXm3obqvJK4tB/S9ZIsxjqVx8epzDgFVdu7yGKbsXVdSj2NVKIXt4+zjCxO9xofZ0w4hjGBARiAARiAARiIDBRl0cLn5wvTNJU8C6PzpaLoSKP356atxoYhi9MHVdFFP1eoVAJZihC2mXpYenZR5cax1bIlRcI4bVlUfY6s+ac1JFSSrnFlUWX62UWXmUpbPGfV53xKLa65ckr5lNfi6Tyx/a6viyzqmDZj67LHmbbqY9MUWZz+NZ72Oev0OQzAAAzAAAzAQBcGirLYpZBp5EUWFwvkPiNK5kWSIlnsMgXSx5L2x0fbsbXg9xFV1Pghi/2NIdcDfQkDMAADMAADMDANBpDFpwCrLVh9yp2fletLPNqeA/nyvLcZW+Wp+wmVrn2r8u7duzeIMnc9lvz5caRf6BcYgAEYgAEYgIE+GUAWkcWRKaJ1gEnuJhEGR6f6mn5a11b2dfuyrBtbP2PaZxR4GmUy5t3GnP6iv2AABmAABmAABuoYQBaRxU6yaNlTVKgOLPYt3xdPaWxL2/sYYwsj05GXj5c+xp8yGHcYgAEYgAEYWGwGkEVkEemDARiAARiAARiAARiAARiAgREGkEWgGIGC//As9n94GB/GBwZgAAZgAAZgAAZgYBYMIIvIIrIIAzAAAzAAAzAAAzAAAzAAAyMMIItAMQLFLP5LQR38NwwGYAAGYAAGYAAGYAAGFpsBZBFZXHhZbPND9Iv8RfPM02eqN1/7sHr/rc8rncsit7VN2/y7jOO+GVU/m/LgwYNKaZv6uuThhTmL/Qeny1iSl7GEARiAARiAgfkzgCwii73fsPd5YVsUL++8sXDtfP2V9wYSKBmsO+dVkkW/GXXS30fUz3RIGCWedX3XZZ9/u3Ncie1SF3nn/8eLMWAMYAAGYAAGYGD6DDTK4v7+fnV8fDz8aL00MNvb24N8h4eH1ebmZjbf3t7esCyVWypvZ2en0qdUF9unD8ci9LGE7O2Du9Vzz55dOBbayuIi9GNfbehL8vqSznhe+jmXSSU2lsfyenzHMM6MMwzAAAzAAAyUGaiVRYlclLmtra3q6Ojo1DZ1rsRQguj8JVnUfh2vcnRcqTztQxbLg7ZOQC+ykC1y26bBSN+RO5fX1292SmSRRb43psE+ZcIVDMAADMDAujJQK4u5TpHwRRnc2NioDg4OKkUVlT/d7zIshs7n7VqPAuntyCIXpVhoErLc/heev1C9e+Oz4fOBikoqOqkprZrOqmcH9SlFLOO0UeVTWSpT7XHZLiNN9Wyip6XWlWPOY6pzieWlU2+1rvLPfulrg7Y7b5ovltm0/OUXv1Ed/PIP1Y9/85fBR8valjuujYx1KU919BWpdFnIIt8bOXbZBhcwAAMwAAMwMB4DE8ti2vElWdT00yiZOs6iqemo2h/LQhbHG9DYh8u6HIXOQhTTKEddZFFlKL/6xSIX5U7bLYNxu/K+8p23hhLofs3V7X1pKlGN0hn3W2ZjnW6H26v87pdYjp/pVBrLbLN8/uLL1Y8++nN1+cbPh8defedXA3lMhdEvtamLAnYpz+3zC2n6eM6wjcy6XtL1/X5h7Bl7GIABGIABGGjPQCdZtNwpkqjlXEeXZFHb43GeunrlypXBdu2P5SGL7Qcx9tuqLTcJWW6/RcsClZMx9ZPkK40u5sor9WmXvHWymGuH2xfF0LLo81Ien5v2ldpZ2i4xfP2D31ZnNr94HtSRwSiQOl4yd3JyUvsG0y7luU1tJNR5m1Jkke+MJkbYDyMwAAMwAAMw0I2BTrLol9OkUcDY6W1kMU49tYAii90GLvb5Ki83CVluf0kWU6FKJa2reOXqLo1FSRZLEU6Vk55H2l7l6dpmt68khRJHCaTEz3mVKqJY9/bSruW5bL/oRqLnbeOkfUrnOPVzDN9fMAADMAADMAADq8hAa1m0KKZSl3ZKkywqkhinoyKLXFgpQ3G9Schy+1PJKglVKl/pcbEdueVc3bl82tYkiyorPdbtseSm7VX+0rmlZaXrnjLqZxXTtKssdi3P7ZlUFi2JdSLrukj5roEBGIABGIABGICBbgy0kkVFAvVcYZxGWurokixaNtMyPB01jVYyDbXbQJbGY9m3NwlZbr8ly9M1S0KVylcpX6kPc3WX8k4iiz6PtL2qq2ub3b5SJND703TcyGJaTro+qSy6PEtj3TOVzkvKdwsMwAAMwAAMwAAMtGOgURa7iKI6vSSLvA213YAA7ul+ahKy3H5JlV5mY8kqCVUqX3VTQnPjkh6fy+NtJVnU/lI56fZ0XceWzs31ltLSdNNS/qZnFruW53r6lDyeWTx97biPSekXGIABGIABGICBcRmolcWuoqhGlGQxt88CmUYVlZfIIlCLg5wMars/EqjcS2DGkUWVKamLb03VttLbUJ1XbXB7SmmdLFr4dK4+3tHRWHafsqh6vvnqDwY/l5G+zMZtiGkbqetSnsvmbahfsOw+IaVPYAAGYAAGYAAGFoWBoiz6WUJNP819JIU+CS3n8mhbzKf8ad6cKCofsshFIg6aZNF5JHj6xN8hlKBpv2Usipe25+RL2y1qLjPKqPbHj8pwPtcvucyVU8qnvG5jzOP2u75ce31cem4+pinNPWuon9PQ9vTYNpG7LuWp/DZlpu0orfdZVqkOtp/mn/6gP2AABmAABmBgtRkoyuK8Bx5ZXG3w5s0X9Xfn69q1a4Ofz+jruUCX18dvLGo8kcXuY8p1QJ/BAAzAAAzAAAzUMYAsJpGius5iHxfTujMgIWv6vcU2feQX29y7d6/ScptjmvJIYvssr6k+9vN9AAMwAAMwAAMwsOoMIIvIYi836qt+oXB+f/1jYMmb9KcqJJ2TlpGOSZ/PP6Zls87NAAzAAAzAAAzAwDoygCwii8giDHRiwC+7GXf6qKafShSV9v2la2F8/PhxNW77+m4T5XFzAQMwAAMwAAMwsKwMIIuIQu837Mt6MdBuvshhAAZgAAZgAAZgAAZg4AsGkEVkEVmEARiAARiAARiAARiAARiAgREGkEWgGIGC/6Z88d8U+oK+gAEYgAEYgAEYgAEYWFcGkEVkEVmEARiAARiAARiAARiAARiAgREGkEWgGIFiXf9zMs/z3vnWV6rff/Ld6k+/uzpItd5Xe/wG075+H3GRX3DTV59RDv9BhgEYgAEYgAEYgIGnKmQRWexNSrig+vlS/fXtlwbS+MHPvt3L2PT5MxUWz0l/z7DPNsFdP9zRj/QjDMAADMAADMBAykCjLO7v71fHx8fDj9bTQry+vb09yHd4eFhtbm4W87nMurJ2dnYqfVw2KfCuEwMSxj9++r3q+1e/PtE1oGjiyclJbz9T0Zfk9SWd68QE58p3IAzAAAzAAAzAwKwZqJVFyVwUuq2trero6OjUNjVYYihBdP6SLFomd3d3h/lLJ4wscjGU2FiH7ZJEyeIk0UVPF+1r+ql+F1Hi2dfvF7q8vtq3DlxwjnwvwgAMwAAMwAAMzJKBWlnMNURCGGVwY2OjOjg4qCSCyp/udxkSzRs3bgzEMsql96cpssiFkDKxaOu3b9+unjx5Mvxova829iGLkrAHDx5UksZcu27dulU9evSoun79enXnzp3heTx8+LC6dOnSyDGKKjZNP9VxOt79UirL7ekrUunySPnegAEYgAEYgAEYgIH+GJhYFtPBKMlizIcs9jeAsV9Znl2/Sq6iCEm4JF59CaMiipNMQ/U0T8lYiQvJoqVO56N858+fr+7fvz/4aNnHtolS5vog7SeX51RRysePH/cWrXS5pLO7Fuhr+hoGYAAGYAAGVpeBTrLoKKIiiVrOgYEsri4sufFex22WIslWPH+JYhTIuK/NsqOJeiOqPj/54YVT5bcpw3k8xbNuyqhlMRXc3HmonKZnHyWGEs0omY40pnW4nW0k1HlJ+W6BARiAARiAARiAgdky0EkW9/b2Bi+wUVoaKGRxtgNYGge2T28ccjKl/o7TOsfpf/98xiSS6HrbyJ1lMZVelxHTpimtJSl0pNKRy1imlttEQNNjWJ8e2/QtfQsDMAADMAADMBAZaC2LFkXJYCwgXUYWASxlYtXWJT6evpmmfgZwnHNeZll0tDXtD68ji3wvjHNNcAzcwAAMwAAMwMB8GWgli36Lad30Uw8ksjjfAfU4kE5vHEqRxUn7fJllsRRZbOoTIovT47Sp79lP38MADMAADMAADDQx0CiLXURRlSGLQNcE3bLvn3S66SzOv8szi22moTZNa22ablo65zbPLOolPXoJDj+xwXdLiSO2wwYMwAAMwAAMTIeBWlnsKooaJGRxOgPFBbA4/WoxmuRlNrnx1LOKerHNr2+/VDvVO3dsuq1NxK7LM4ttpM7llV5mk7ZR65LQureh+jyUp+5nQHJls21xrhnGgrGAARiAARiAgeVkoCiLfvPp8fHx4KU2aSop9KBrOd3vdefzz2V4e5r6dxpdJr+zuJxAefzWIc09u1h6Nq9Nf/Qpi6qv6aU0lrs2kUWV1+Z3FnPPLtY9x9mmTAslssh3QpvriDxwAgMwAAMwAAP9MVCUxXl3MrLY3yDPeyypfz5j6Whg3W8tdhkbT23tazqoy5MM1rXD53Hv3r3B21Pr8rJvPqzR7/Q7DMAADMAADKwmA8jiU6s5sFywjKsYkNjVTfPsyonEs+n3FtuU6emlbQSwrzrbtIs8XDcwAAMwAAMwAAMw8AUDyCKyWBvV4WL54mJZ1r7oU7YseZNOCVWbmspg+unys7es1wzthj0YgAEYgAEY+CsDyCKyiCyuOAMWvL6mj3paaNP00dKXrKafShSVlvKwnT/SMAADMAADMAADMDB/BpDFFRcFLrL5X2SMAWMAAzAAAzAAAzAAAzCwjAwgi8gi0R0YgAEYgAEYgAEYgAEYgAEYGGEAWQSKESiW8b8etJn/1sEADMAADMAADMAADMBAvwwgi8gisggDMAADMAADMAADMAADMAADIwwgi0AxAgX/ken3PzLz7M8Xnr9QvXvjs+r9tz4ffLSsbfNsU9e6X3/lvUHbL++8MZd268VAuZ/40Btd9el6Pk35/QIh/eRJWr5/m1L7+nphUVN72L863weMJWMJAzAAAzDQlQFkEVns/Wa3K4Tkn84Xl0VRsrVofSzxe/vgbvXcs2cb2zZPWfTPd+Te/Gpx61Pa/ObaVBLT8ZtG3WkdrE/nuqRf6VcYgAEYgIFlYqBRFvf396vj4+PhR+ulE9ze3h7kOzw8rDY3N0fyaZv2xfJ0TK68nZ2dSp/cPrZxkcFAMwMSskWNJHaRxXmNdRshq5PJcdqtOtv+rMi0IpvjtJtjmq9H+og+ggEYgAEYWEYGamVRYhjlcGtrqzo6Ojq1TSdtCXT+nCw6T5TDvb29gTjGbe5EZJELyiyQjsfCIgvZIrfNvEnGctNPvd+p8knwNH3U28ZNJZ8nJyetfoOybfvGbQvHjXfd0W/0GwzAAAzAwCoxUCuLuROVEEYZ3NjYqA4ODioLX7o/V4a3WSCjkHofssiFZhYWLb106VL18OHD6vbt29WtW7eqJ0+eDD9aX5T2NgmZpne++dqH1TNPnxm22VNXL5x7abhN+fTxPj//GPPEc1a9zqNU69qvKaeaehr3xeV0WqqnnzpPqT6VneZ1nW6X2v7Tg7uDc4h50/N3fkcVc9NPncep8/YxHRVZ5HvPXJHCAgzAAAzAwCIwMLEspieBLAJ2ysSqrVsWJYmSRq3rHCWPjx49qq5fvz4UrVmfu4TKcpVLJUpuk5ZTWbIQRjGzXEWZk4ylU1wlnSov3f4//0/7Iy/V0fGxPLcpl+ba5HwW0Hgezh/P1dvUJxZJHxvzuVyJX9tooZ8zbBOFdPmlFFnk+7PEBtthAwZgAAZgYB4MdJJFRxEVSdRyrsFdZNHTWjUdNS2LyCIXRMrEoqxbFu/fv1+dP39+yK4kUbLYNbr4wc++Xf3pd1eznz9++r3q+1e/PqyjSx80CVkXWUwF0PIVpVLLab5Se5vaFo/L1eX9pXK0PbbFZaRimOsDy5+mebqeprSLXNaV1UUWVWcfglrXHvbxPQwDMAADMAAD681AJ1n0M4Y5uTNI/6O98/2xLKnP+z+zb6AFWnVk4AXetGdkK6u0jNWMJqvsepCBtdfSusmOEjeYRaKRtge3JcACoSBZsTS2jOyAQ0QyGwusQUywrRUeJvLMi3mRV3mVN3mTP+BEzyVP8+3qqjp1+p577rn3fl5c1Tl1vvXjVH2qTj236tRpFYsWnnoHUqLR4e0iFncbTHMwR9di8cGDB1e4nVN+S0LKecwJJYuqKAKXsXNaqduXt2ify5OueyYzzio6XBomPbdd7t786Yohy0qHiDynnXOHvIeoNPUJDbm5uPCjD4UBGIABGIABGFiWgWaxaKGYe78wZqJFLFooaldUv+sY49AxYhG4Uybmco5YfOHi/UWLSgs3ia+WehpTLObStDhUOsqPz51f53EuYlEi8TrCz7Og1wnrMsClr4UBGIABGIABGCgx0CQWJegk7GrLT51Ai1iUjeKrzVAiFoHWTM3NHVssbsIy1HT2Lie+csKrVHdTiUWLw1x+lbdcnjdpZrF159RSPeBPPwsDMAADMAADMFBjoFcsDhGKSqhPLLYIRcWDWATcGrjrvDa2WFzVvfQJspxQUhhtAmORpbzl7HLiS2Hje4K1+1L8rba5tBx36R5T/1IcuXvzbN3c31kcsmTV5YVLvwoDMAADMAADMDCEgapYHCoUlXBNLLYKRcWDWATkISBPabstYjEVdzr3DqrXEYveXTTd5TS3G6rFm8RaX93ZNubJYZxmjMf2uh/b2S+NIycWFWbIhjUWl2NsNjPk3UfEIn2k+caFBRiAARiAgVUxUBSL8b1CLRlNfxJ+zpRFYGqjc9t559OcjfzSdxcRi0BvvubmbotYVLlKLFkgaqnph/7ZP1980iKKqpygKokvv7voOOVG0RbrUmlEuygyLQLjdR9HO8WXs435l00pv7l7k72/ndiyecwQ23j/uWPEIv1ejgv84AIGYAAGYGBdDBTF4roy5HQRizQKs4ALC+tgQDN3Ld9aHHOGD7EI6+tgnTThDgZgAAZgoMQAYvEF4CjBgT9s7DIDnjGUGCyVg8TdmDuRKk0JVLmlNO0/pkh1nLi0eRiAARiAARiAgcgAYhGx2DsojcBwTAeySwxYDOa+uWgxmbt23TLyTqw1gaq4V5H2dfNMOPoEGIABGIABGNheBhCLiEXEIgzAQIUBicHc5jUSdH2i7joPTwtGzVim8Vsk5q5dJy3CbO/DnbqlbmEABmAABsZgALFYGSSOUcDEQUOFARiAARiAARiAARiAARjYRAYQi4hFZpVgAAZgAAZgAAZgAAZgAAZg4AoDiEWguALFJv7rQZ75tw4GYAAGYAAGYAAGYAAGxmUAsYhYRCzCAAzAAAzAAAzAAAzAAAzAwBUGEItAcQUK/pHp/0dGu2S2fIOPsuwvyzmW0c2bN7tHjx51z58/7+7du7dUG/m9N36l+/sf/nb30x+9sfh98XMvZ+NrtVtleXlzHfEd09HGOq2f9IjhON5M/qk36g0GYAAGYMAMIBYRi5cGhQYDt95J3LhxY7FDZm6XTMquXnabUD5jiUULwG997eOLdiZXwlH+sRxa7WKYsY/7mNbOrPxBsvlsj80N8cEEDMAADGw3A71i8fj4uDs/P7/46bwExeHh4cLu9PS029/fv2S3t7fXnZycXMTjOBUmF9/R0VGnX+4aftsN5abUr2dh0s8bbEr+yefq25HE4Y/f/XR39LEPL/oyi8J0drHVbpV11icG+8TkKvNG3KtnlTKmjGEABmAABnIMVMWihGEUhwcHB93Z2dklP0UqYSiBaPucWMwlfufOnYV4zAlGxCLA5piZm58/2p4u25tbPsnPetpTOpNYE4txxrFkt6p69Pcb+zi2nb49uaq8EO96WKXcKXcYgAEYgIEcA1WxmAsgQRjFoGcMLfjS67k47GeRKdFoP7uIRYA1C3N2x55t0ezOkydPOg3Kl73vg5de7N797ie679x/tRqXZr00+yVhU0rz7t273dOnTxfv8Ok9vsePH3e3b98u2pfimbt/XH6q+9Q9696vm2/NIOpdRZWt6yPONDreVjvb97n3799f1NHrr79+8e6l7kfvYeoe0/DirnVJdd8MZBo35/TlMAADMAADMLC5DCwtFtPKRyxuLgxpXXLeVpeaZRlD4HlZ67Nnz7oxZm4sTpYVixIe6c9pNIkAACAASURBVEYvDx48WFpIzZ0vbWyzrFh0HUggepObdAmqyqHVrrXMXGeqNx0rnMS9RL7qLsZj7lqZYza9rV+IZcwxZQYDMAADMLCpDAwSi55F1LuHOs7d9BCxWLNlZpFGleNrjn5emte3hK8l73ObWbTAsODwPdg/FR6+XnI9g+adQVPXQqrVTjN2aRw+j8s6S/mp+Y8hFhW/85ibUYzpt9rFMKVji8V0J1fVVzq7KG6H/NkxVFyW8og/fTwMwAAMwAAMzJ+BQWLR7xjmlo26smsCUDa67s1t9P6j3oN02OgiFucPT6yvXT6e6+DZs1XLzCxKbKSziq7rnPDwtW1wxxCLKnuLV7kShCobuVE8ttq1lqvEYuusqGYUh+xy6qXX+mOjNT/Y0Z/DAAzAAAzAwGYy0CwWLRQl9mqV3ScWY9jShjmyQSxuJlCxfnfleE5isW9GzrNtnsWKQiYeW8jUBJPE4ra+uyh2a/fewrbrwrOlFoQ617HeJ5Wgb7VrSdM2iEX6T7OACwswAAMwAAPLMNAkFv1JjNryU2diiFhUGInQuGGO40EsArZZmLs7J7EYy2qsmcXSDNV1ZhYtjKIwjccWVq12NdFrYRzLZMjxsmIxnT10fShfEuMSjMpPq92QvCMW6T+H8IItvMAADMAADJQY6BWLQ4SiEkEsAlsJtm313+V3FiVKtrVexxCLqWD1JzGiv8RiPFd55uyGlPMQscg7i/TZQ9jCFl5gAAZgYLcYqIrFoUJR8AwRi44/9w4kM4u7BeImdzy7sBtqOru47UtQxeOyYtGfJPEMouK0CNRsqv1b7Ya0kSFicejMOLuh0jcPYRFbeIEBGICBzWagKBa986k3o0ldiUJXvo7T6z63nb+paH+5ueWnjhOxuNlguR633R17s4+57Ybq+pP40EY3/qU7atpu0930e5K+X7nXuWcLQS+19QyihGJOMPbZtZbvELGoOMXdkO8sttq25hc7+nsYgAEYgAEYmCcDRbG47gpDLM4TmHVzMbf0hy7hm1v+yQ/tTAx4KXXftxZtJ+5hB3ZgAAZgAAZgYPsZQCy+sP2VTENeTR17+R6fEFhN+cLttOXaN6vtWXRmFaetF9oB5Q0DMAADMLBOBhCLiEVmCK7BAANnOu51dtyrSNtMl765KDFZuraK/BAnbQwGYAAGYAAG1s8AYvEaQgFw1w/uuutAy/AYOMPBujkcO33PlqfLTLX8VLzLHTtN4qMdwQAMwAAMwMB8GUAsIhYZ/MEADMAADMAADMAADMAADMDAFQYQi0BxBQr+3ZnvvzvUDXUDAzAAAzAAAzAAAzAwFQOIRcQiYhEGYAAGYAAGYAAGYAAGYAAGrjCAWASKK1BM9U8F6fCvGAzAAAzAAAzAAAzAAAzMlwHEImJxlmLR33N79uxZ1/ftNzqY+XYw1A11AwMwAAMwAAMwAAObywBiEbE4S7HoTsWiEcG4uZ2M6xKXOoQBGIABGIABGICBzWKgVyweHx935+fnFz+dlyr58PBwYXd6etrt7+8X7RT+zp07Vdujo6NOv1Ja+G8WaMvUl77vxofvd6e+l2GFsHACAzAAAzAAAzAAA+MxUBWLEoZRHB4cHHRnZ2eX/FQZEoYSiLbvE4uORyK0ZItYHK+SN73BSCg+fPiw00fDN/1eyD9cwwAMwAAMwAAMwAAMbAoDVbGYuwkJwijw9vb2upOTk06zirJPr5fiUJhPfepTl+KKtohFGpF5QCzCglnAhQUYgAEYgAEYgAEYmI6BpcViWll9YlGiUrOTml3UUtQoPGNciMXpIIjlPsdjxCIszJFL8gSXMAADMAADMAAD287AILHoWUTNCuo4Vzg1sejlqhKJCotYpIHlGEr9tLkNy1BhJeWCc5iAARiAARiAARiAgdUyMEgselMai71c5dTEYioO0/MYHzOLq634WNZzP37nnXc6fUJD7tzzSv7gFgZgAAZgAAZgAAZgYFsYaBaLFooSg7WbL4lFb2rjdxsVB2KRhlRjKV7T5jaaXUQ0wkzkgmN4gAEYgAEYgAEYgIHVMdAkFv1JjNryU1dSTix6+WoqNBGLq6tY18c2uJpRfPLkSadvLm7D/XAPcA8DMAADMAADMAADMLAJDPSKxSFCUTecE4ueVYzfa0yP041uWIZKA3IDYoMbWDALuLAAAzAAAzAAAzAAA9MxUBWLQ4WiKi4nFksVyszidBVdqoNN8EcswskmcEoe4RQGYAAGYAAGYGDbGCiKRS8dTWcAfR6XlOrY/qkb7dLCQyzSoFImcueIRTjJcYEfXMAADMAADMAADMDAahkoisV1FzzLUFdb8euu3yHpIxZhYQgv2MILDMAADMAADMAADIzDAGLxhXEKEiBXV46IxdWVLdxStjAAAzAAAzAAAzAAAyUGEIuIxVnvMKodULUT6p/+6Z/OOp+lBoY/nS8MwAAMwAAMwAAMwMCmMoBYRCzOUoRZJOq7ippZ3NQGRr55OMAADMAADMAADMAADGwqA4hFxCJCDAZgAAZgAAZgAAZgAAZgAAauMIBYBIorUGzqPx/km3/tYAAGYAAGYAAGYAAGYGA8BhCLiEXEIgzAAAzAAAzAAAzAAAzAAAxcYQCxCBRXoODfmPH+jaEsKUsYgAEYgAEYgAEYgIFNZQCxiFhELMIADMDAZAwcvPRi9+53P9H99EdvLH5//8Pf7n7vjV8pph/tv/i5l4t2m/oQdr6/c//VizJR2ZTutdXO8drVjtIPHz7sbty4sbVl6Hudm/vOO+907733Xnfr1i3Knr4WBmBg4xhALALtxkE7l4HAa29/vTv587/rfumlX6MMd7AdHX3sw92P3/10962vfXyU+pdgknAqiYS5cD9mPnSviMXL/7a3ctBqp/qSWNHO0nLHrL9tjuv+/fvd48ePu9u3by9dZhLoEuqI9cusbzM/3Bt1vU0M9IrF4+Pj7vz8/OKn81IBHB4eLuxOT0+7/f39S3Z7e3vdycnJRTwxzjt37lyyVfxHR0eLXykt/GmI62Zg7mLx3r173fPnz7unT592d+/evdLG1l1+m54+YnH5PqhFLG46J0Pz3yoCW+38GSK+VTuM1zHFohjQrKJmF/kU1LB6GNp+sKd8YWB8BqpiUcIwisODg4Pu7Ozskp8qRcJQAtH2NbEY46tVKGJx/MqulTfXhpf33MXigwcPur/927/tHj161GngQx0Pr+NamSEWly9PxOLVMmwVga12EifMaF0t51rb1rWxxaLiZIZ3eD301RPXKVMYWD0DVbGYqwCJvSgGPWOoWUXZp9cdh+0Qi6uvVJf5prov33i1++aXftbJTe/hM5/8Rvflkx90L37wQxfXbK8w+qXX3/++D3Sff/PbncJ+9CMvd199+ycLO9m+dvTZi3jStHLnWnKqpadf+Ot/yv7msixVS6e0hEqzixr0SDDevHnz0r3qmmcdJSw1C6lfuvTKg6bXX399EY/tSnH6ehqX0leYNH6Vs2Y+lZehotaCTaJDy0H9HpyWh+qa69B2spGt7UrvhqXvhcWlpjGdGI+Po63Sd9q+ni67TNOynV3lV/E4XZ/73vxOn94D1LH8Fad+FhRpXA4rNy0PhYvXhx47n06zFp/STsvD6fm+HE/JzvYt9zE0Tsddc9P7TetfYdO8pXzG+F1nChP90+MWO88q1paful3Gdpu2Q/cn8veKBdvrPObNbdnX7bqvka37lLjEM6YhG8XrPkxhdRz7IPVZMV2Hd3q5fkZh9Evz6HtI43BcdnNx6l58XW6ar5jHluWotuEdR8ZKkR2O4WGdDCwtFtPMIxYBOmVi6LmEoASfxF0Ma/8o8CT+fvc3/+jCzsIwCkb7SRxKKCqM4rXIzInSmG7peM4zix5oafCjgZEGOXLjvcjGgxwPcDxwjEIwDoZ0rDg8qHI4+Sn+733vexdpOK44wHKaHpw5P4o3Dibt3+dGIWaxZEHgc8UR7eJAXQP7KEJsF8N6UJ6KHtvmxIHzbZEQbXQsAZSKAaeT+jsup5fmw+FiGrJRGvHedD2eK97Ur5SG89DnpvE5jdI9yT/NUy6NPjvfb0xHx/E8d2+5/ObSz/mZszT/f/yHv3Fpwx7Vz1/8ySsX7cLhIocxftdnzHu87uMWOy097RMdarOxb3AbdVtXem7v6i9ie07breKJf/rk+gDFp3AxnpiG01U+FJf6IsUr+3/4h39YhE3Dp+kqPvVNaRry67sHhS3l0dfspvfvcGn/Znu5qpMnT550EvLR38cW+LxjyljKTODCwroZGCQWPTuodw91nMt8n1iM7yrqOPe+ouJlGepuN47SDGIUezn+5JeKQIvFKCBllxOfpThz/mOJRQ1YPXuSuulANJePnJ8GRRZyHuh5EGb73KBQ19KBmM41wEoHQIo/ikrHG12n4bDOi/MmWw8oo1+Mo3ZsARDFnew10I5lV7JLB9yqi9wgPicqHKeu5fJoUZCKO/uneU7zkotTcaX5y+VZdvH+FVea3/Tc6aVlZ/8WV+mm91UL15pWza6l3JSHXDm5LtI6quXZ12p5sk3JVdjcHwayb72fPjvPUA19R87tMbZtt9vop7xapLl9p32HbNI+QH45O6ehazGczn3N6csv/rmU64scxvEpTtnFcPJL70F++ilcKjZ9zW4uXV8ruRaDpdle11ufyC/Fj/9uj52of+p/FQwMEosSdjWBpwyWxGIu894QJ7c0FbG428B7uWic9ZOA1HJSib8cT/ZLw1ostoR1HC3uWGKxJa0hNh4keQCnsLlBTW4Ql0snHZjlbEp+uYGY8hIHYTmbUnypf0nwpANp29VEgYVDTuyk8SkfjrMkFh0mdz0nXGwvIZHep89TkeE8p/eVE22pbUnstOTD+Uld3ZdEUK4MU1udl/KQ2tbscmWZhk/vPV7PlVW8Xjq+bjjFVyvj2rWYlz47b6hynY1t0v7CfYr8Yx7S47Rt67r6mVSg5YSY07C4i+F8zenHPsnXHM55suh1GPnr2ILTdqX+J5dHh7ErG/2Rlsbp6zl3mXrJxYffbo+VqH/qfwoGmsWihWJO2MWMDhGLCleyRyzudgOwwPNSVM8CRvFo7mTj9xWja1vHtStiMQ6yXEY5YZjzs31048As+ueONRjT4Cn9KS3bp4MzxT9ksOV45JYEWzqQtl0qqmJcNUHh+KLwc5zRL8bnMBI60V/HCpPO/NXsHT7No8JoplGubeTmhEwaVnlIZ7LjeS7fMY3SscLFeGplXhOBMf6aXe5eY1gdu65ivuJxq7h1vGlZ2r/kKo8xPR/nyriFA6XTZ9cqStwe0zYb26QFWRReuXt1XGrTum7BFuOSv67HP4zk5zQcNvZjvub0ZWMB6jTT/PvcYZSGjtO8OHzso0p5lH/6cz+aSy+11XlrveTC4ne1/CkTygQGVs9Ak1j0DGBt+akrqyT+fD11JUK1w6p2Wo3XEIurr/xY3nM81ruJXjoq4efjmFcJxXRp6qbNLNYG7amgiPdeOtaAyAOX1I0DJw9y0kFSGm8cmKXX4rni9gDO/rmBmAeQsvexB4gO1+paBKSCLR1I264mXGoCII1P+XOcadrOey6MrylMupy0Zu9wcmNYHeeETk5ApfdXE2AxvWWOLZJK5d6ah5pdLI9SXtN7L9kN8c+VcS687NJ2XKvr2rUYf59diyhx+4z9gtLQeRRVqViL+YjH7lNivxPjsa3a+1hi0Xlr6UPS+1J+XAZpP5jLo/NfchW/7j0tz2jfUi/RnmPGQjAAA+tmoFcsDhGKupkhYrH2DiRikcYRZxMlCj3L6Ebj66n/VGLx11///e4P/vIfu5u3fuvSHx3O3zrc2sBJA5g4QPPALh0kpfnWoCkVgamN000HSaWBmNJUXuzKLo3T53rnSps95JbTlQRbKiBsVxItTisNV/PvEyCl6yV/51F5cLo513ZfPj1cCMWcfU7IpOIiPc+llfrV6iK19XkuL75WE4G2kVuz0zXN1MmNYdLjWj5SW537Mwelz06o3FMRmMbjukq5q5V97VqMv8/O777V3lkstW214yjySu075sd//KR9QLTxcU6IuT/SNdnp3P1Omn7M95B00/tSOrU+yuk73y1uLo0Yru+dRdm6nZXea4zxccxYCQZgYNUMVMXiUKGozA4Ri7LNzSoqHsQi8IsDCUEtH/3S3f98sYupG4WXl8YZR81AeinqqpehSiRKLL7xlb+qDlKd3yncOMBK0/NgTK6upeepvc/jwMx+qesBW06M6p92p+lwHvy1/gsvsZgbtHswHgWTB9HRz3bpoN35sZuzy8Vne8VXEww5IVMSGRaR6Yyj04qu0pVAKtnqepxxdNzRT/H15T+m6RmRUl0oDcWnMnS4XHn6mtyaCGy1872l9aC4o4B0PSqPMe7SsQfspZ0rfW9pHcTdUJ23aGMmSgLX+Yx5z+Wxxa5vN1T3ARZobsdql0PFovLYJ5R8H07X/YLPla7zIj+LNfcXFqJpn+TwDut0UjeXv5JYtL/TTONSWema8uZraT7tH92+3VD72lmMi2PGSTAAA1MwUBSLnvVLdy/1uYSeM6hj+6eu7fb39xffZ4zXa8taEYs0APFl8Vd639CzixaIsrv5y0eLpamrFovKn2YX4zcX1/2dxdxgyO00Hch4gCXXNjk3HZjlbOTn+DXg82DzC1/4wmLAl0tDeZVd7lpMw4P22syi3wGzmw60PbBvEQq2dVylQb3yaDEQbaNIlU0UB7KLwiHep45b03acpfuRf8yTjku2ym9qm4pK57NWF6X8p+VhkZOmqfOYbqud85bec+5+c+WrdFNeFGffzKJsWuo/TVP3ePLWry7+ZHC6qU0sm8hLq53LpGUWS+3bbdbtMe1H3Lbl77hzru1ifD5O23lMV38y+RuKFnyybxWLyovFndOT6/DOa3pfMVyaP12TX4wv/hmm67n7df6dZnRbZntlr75Of8qwIyrjoMgPx/CwLgaKYnFdGXK6iEUahVnA3U4WNHBLB19D69qD51SQDI1n0+wtFi020vxLKEXhlV7nfDvbVK5eJfCnEB0WTnFG0vlRW0+Fm6/tkqs/IEoz1bEcLPJVd9Gf491pt9Q1dT0nBhCLmd3N5lRB5IUOYxsZ8MCy9i98y33vqljsE4N911vKFpvt6HumEh6e2cu1afntulj08tIWASibFlFJG92ONko9Uo9zZwCxiFjkn0sYmJQBvxeVm4EY2mHuoljULGr6fl5abohFBh+RCS+pzS3ljnbLHPsPoLRdW0Sm/suktWlhvfw09951vBcvP+2zi2E4pq3DAAysmgHEIkJhUqGwaqCJf76dpgeTegdorIHjLolFCUC9y9YnFNUGEIvzbQfr6qMkRFYtQmIbj+/65WYb11UO60hXYn2KpcDruDfSpK+Bge1nALGIWEQswgAMwAAMwAAMwAAMwAAMwMAVBhCLQHEFCv4l2v5/iahj6hgGYAAGYAAGYAAGYKCPAcQiYhGxCAMwAAMwAAMwAAMwAAMwAANXGEAsAsUVKPr+YeA6/0LBAAzAAAzAAAzAAAzAwPYzgFhELO6EWPTmIP7Yden7dHPu9LQLZvxA9xh59ff6VC4qozHidBzeKl6bO9gPN/9QST9A3/eNRNdbn92qynubN+wYWherKuNl4t2mjZ/0GYnWz0202PlTIvrovX5TfKKC50++31uG8euG9XPJ9S+XZ9R86ue69doazv37dcaAy24S1tqXtd7LlHaIRcTiTg3kl+koVt0w+3awXIVY9D15cNmy06bD1Ny+reK1O+Ljx4877Z5Yi2dd1/QR8bF2bB16D30cKL51ikUPtlf5GYahZbYq+5a6WFXatXj7+gK3Z9nV4tmEa628DbVbh0CY6/OnhZc+5jaBpTSPZmYdLKR52ZRzfwrn3r17G9m3XLcNipFl/1gwb5v47OwVi8fHx935+fnFT+clqA8PDxd2p6en3f7+ftHuzp07F/Epbp2ncR4dHXX6pf6c784/QKuo6+t2FKvISxpn38B01Q9rDxjGmK3SP2i1reIRi+V23MdBys2U5/5XvjaD840ffr374f/9wcXvz/7H/Y3tx+daF319gdvy3MXi3a+81f3N//lvi5+OSyy3DtRa7DxgW4dAmOvzp4WXPuZKdTe1v/ob9T8t/c46WZi6XMZKbxfFojkZQ+S19FFj1dWY8VTFooRhFIcHBwfd2dnZJT9lRsJQAtH2JbFou5OTk25vb6/4YFCciMXyYHJMAHYtrrk+rFUPfQPTKR7WSmPZ2UV3rLXBGGKx3L77OFhnm9XDsvYngAZoGvx74G8x0DJwW+d9ldKea1309QUtg//SPU/hf/iv/2X3nf/5Hxe/b/33f3+JmVL6fX9AOVyfXUv/5LjGduf6/GnhpY+5sctqaHynf/bFhUj8yn/9Svdf/vf3EYsrWjW3i2JRfcqY36jt66OGsj+FfVUs5jIgQRjFoESfxJ9mFWWfXo9x6FqLUFQYxGJ5MBnLdFuPtQxQP3dM/sDzsksfWh7WXuLn9xs1YIzlrDj07qBcXbNdbkbu4KUXO/nbJrp6+Do/0T8exzj9sH7zd36evu3kH/O3zLHiWlYsljrW0ge7XbfrXpaasuZ82b3uslQPxFxffeVbEyh9bKZ1r/p0unJzrLTG6VnF0r+rFoYatMV86DwKyHhtjGPVm9iRqz5j2fqKearVhezSus29U6w49Evbuso9pqXjtC5cd4r33x7/6qLfsV/qxrSdL9V3ZCDapGlPea4/DzQDrTTltvBhkVfiz/nvs/P12p9Zu/L8iWykPOk89hc6Fj+rfP64Doe66nu+97/+U/fav3l18dt0sag/U92PydX50DKJ9u67lxE8sW+NefPx0LGZ+yj1eZHDtI+yXWRR92YedT3eq/rayHIazv2w0o22cawV42vpL27evLl4bcVl8fTp08XzKMYTjx1nX18Ww6z7eGmxmN5ASSx6VtKiMg2XniMWEYtqeFFAqMPsa4QpR+l57CjSazpXxxIH8+6o1KnY3nHEh2nOzkIxdkKKX+FyA0WlEW2dnl2HjeEVT8yvba/j5vI7NB4/lPo6wV2ZWcxxIT/Vtco7V759HCiM6ypyGePy9ZSNP/7D31iIFtu28G5bDa5rm4Fo0K9BmgZsDuMZJC0LszjwtbHcKPI9qPIfExrgLJNOrS7cD6gMnYbs08GO/NRmo39a7gqvthzbttnJ9QkKH+Nz+nYdVvE5vJkoMeOwU7utYrHvPWjnu8/OA7U+sbhLzx/zEll2edrVNfEUGR3z+eN0lnXV/2yyWFSfFcc97t/ct12nfMT6WJs5OT9DxWGabzOX66PcZymM7VI2c31grv/9iz955dIzz/220nVfWEpD6WssU1tNk3vW9I1V+/qotKzmcD5ILHoWsTY7WBKLEolawvrKK68sXL8HGWcpY4EgFhGLqTAco5NyR5ETa6UOI30gOg53NOZW57GTs11My2mkYRVHGt7x2vXDOhdf2pE6TIvreNV51gagLXH1CQrHMZZYVFko36VfLCun3eLqgX3dmcQYf46BeD133MeBwvQN/HXfqVBM0zKLKTulsKUZY8er2SItLZRAlJ8HbVpmKP9VLUV1v5AKwzHqsFYXuWu5MpVdWhc5LnLxqW7SsCpb+dfaqvMR+6OWcK7LKd1Wsag89Q3cnO+aXatY3KXnj3lJ+wKXp1xdUz8b+9SWcDGOKY7d77T0Ny0s1PLsMsk9f3LtthaXrrkvS4XYss9L/4m7zMyi817Ko6+3umYn7aPS54/tUjZ1HvvAvmei8+W+V/2t/eTm+l+LOj37om08ztWNZxrTZ1IMV+ujot1cjgeJRW9Mk9uQxjdUEosOG4WmxWdOMCIWEYvpYH2MTsodRXzgmd20k7J/GiY9t13a2Si+IQ/XNLzjtZt2jvIvdaQO0+Iqn7HTbQlTsmntAHMdbCnOdfiPITSUb9dPykHtnvo4UNi+B2NLHK28K72Wh2YUi3HpqWcXWwZvtXIpXSv1C2PUYakcXa/pACZXL7k40j7E4dKBU67NqxxK/i6jUv76wjn8lO4Qsdj6Z1TNrkUg5NgpcTakrNJ6j2Fb22MpjpSzIc+fEi8xfzl2WsLFOKY4nlIsjn0/peeixGP658XYabfGN0Y7UFoldlK+S3Y5HtUG9KyVW7qfNH7bpe1H/hbZGtfYLro1UZjrQ2LYWh8V7eZy3CwWLfYkBmuZr4lFzSxqOWoMX1qeilhELE4tFtX55P4htJ8evmK3tbPJDQCVRukfx1xnFdtKrnMsdaQxXN+x7guxeLm99XX0fWUar5sDc1Sqf4fp40B2jjP3UKxdcxpyW3mX7RCxqJnEuBx1G8Wi+wDXaerGesnVp8O7T1EZp4N7t+0Yl+sv1xf4mlyHlV307wsXbdNj5y/eaypu0zAt54jFn/c9re0xx47KOeXM/UCsI6WR639KvMT6y7HTEi7GEY+dv8iTjmObiPatx5ssFvXc8XtvqYtYbOvL0nak88hOa/tRmD6x6CWoaV35PB3DxnxspVj0JzHirGC86XhcEotehopYvDwojWXH8S/KJjdYH+MfrVJHobLXQyr3IE3rpRRH+rD2gzQ+DGvxp+HTdMd+WDt+3femisXcADaW93UHHjn+XF7LuGZnGQ6UvgdaOSGh630syaaVd9m2iEUN+vVuYlyKqrAevOm6zsf+lfqFMeqwVI5u2+lAJHdvuTjMQeQzHeSI41L95vqCmHYpf33hYhxTHSMWf94mWttjjh3VVcqZGYj9YanfsW2N5xw7LeGm4sjpuL9pWcnQMsvseHOuyiSWbzwulXUuHvuVZhZ9fQ5uqb8dmrcSOynfJbscjzEPfkaqTiLXafwOk7Yf+feJxdrMouMtuVsnFocIRRVKSSyWZhBLIpKZxfEHVSVo5+ifG+jVOik1PL3A3bcmv9RRqAxq12IZlezSzqavM4tx6rjPPne91JGmcU913toBPhASbQAAIABJREFUzmlZTa5sWh/aFlFDPtZb4sf5SDmyf3T9IJRt9PexWOkbrPTlw3HZ7XtncehuqNcpO+cluqV+IdeHKJwHiLVNCxx/qS76yt/h5ebiSMt+aDvuExal+HJ9SMzrOo6HiMXWZe41O9e/+qrS/ebYKXGmONQ21AeUlqs5nbTe7S+3dq3FLuVsSF238JyLr8RZzO/Ux1OKxbHvbVXPRYuevvFRy/14Nk3PyD772risxE7KWc7OvPb9yW27+JwstbO0/eje/IyqvbOY6yv6ykXXa32UrrufanlOtaS3rE11GepQoajMlMRi7pq/u6gw6Y0gFhGL6RR+y8O6tlujGCt1FOZPHcZ1B9lpZ9M3oHOadmWf/gvma3LTTlR+uY40hmk5Vr6VrtJvsa/Z+KHUN2hyXaqjrcW3rmt6aGspSd8D0R26Boq5B4rKVPUW70PnNcZSjmJYH+cegr4m11ykD9N0N9QW3h1vyx8B+jc/LkG1gMzNKpqVlj95nIeca5ZUZ/F66SEuNpWmfjXBoLhqddHXXp2XXBxpP9RXn47LrsMrbvtF1/WfYy9lIoZbx3GrWPTArW/A22fnNlur+xw7Jc6GcOx6K/W1Le2xFEfKmdKo9TNpXfelvarnT5qPZc83WSx6piruhrpseSi8RVvf+KglrSF59J8ouXRzfZTZjv2W+0Yvp/a5xiyxL1N8YljXfR+5+OyXtsG0/TiOPlHnfmHIWKavj4p1pudU33jKeV2lWxSL3nzGu5ambhR4Ok6v+zza6UZS29JmOYhFxOIQsejOMDeQcKekziX9xc7GDU0dVWrnjko2QzobdUBpXDqXv9OLbpp2THdVD2vnMe08Y76GHOsBkauHNA4LMq/vH/sBmaY39FxC0XmTm/Ko+Nzp14RHWqetzJkbhXfeXVe+Ft20/uJD1XYxLseZ5k+2kTvbeVDc9+CSYNRyVP9yQtFxWri18OIwqeuHdatYtFgo/WObK49S+bkv8HW56QBddZaWp8PFOrNfjCsXn+9fYaNt5Mp9XlrfOo92jmtqV0yYj9RNlzE7b663msiTbZ9d33XFMUQsyt6D4lzbcF3EuvJxri5y/EV+zElkR3nIcVbqL+SvMPHX11/k2PG9pZzFeKc4tkBMWfJ5+u1X56mFBdtO6Yq/+OzR8RAxkubVffcy/WyM07OLMY9p/yv764zLUq4VjzlzuxFvskvbj9uG7eSm8dkm9c+1H6XdwkiuPFQ2uTJpjTOOLXL9iuKZ8lcUi1NmIpcWYnFaEHJ1gN9ydaDOJx04qkzVSakTW/cDdlX16851Dh3cqu5xV+NVneb+Jb5ueZiV3KzsdePcxHAewKSDeA/g00HRJt7jsnlu/ROqz87M9YnOZfO77vC7+vwZUu67wsKQMpnK1gJwE8ZB6lNKfy5ep7z6+ijHqedt7Y9o203hIhYnVudTVCppLCfyxig/D/LiP8KO1wPDTegkneehrjrDMUXF0PSxX00bGPMfav9zOuZDeFPr3X8gpf9263406N91segZij6B12K3CwJh158/rf3ALrDQWhZT222SWDQnGtcsW04tfZTSGDPNZfOs8IhFxOLS8I8B4jbGkftn1w/x3IzjNpUBQmA1Ym0OjIzxEPM/pmMti5pDuSyTB/+BlM4sWkSm/suktWlhzVvfSoWhdn3Cc9PKKc3vLj9/0rIonZuZbWehdP/r9N8ksahyssjr64dqZWreanF47DSXdxV9P4hFxCJicYUM6IEd18/rODfb6Aa5Ta5noXgQb59wVJ0yIzhuvVowpv1FbrZxm/qJvnvRv/kt/+i32nnApsGYftu8AmKXnz8lrvxccv3L5Rk1bl9WKvvov2liUXmXyFvmD87WPiqW01yOEYsrFApzqWTyMX1HSJlT5jAAAzAAAzAAAzAAA5vOAGIRscjMIgzAAAzAAAzAAAzAAAzAAAxcYQCxCBRXoNj0f0DIP//iwQAMwAAMwAAMwAAMwMDyDCAWEYuIRRiAARiAARiAARiAARiAARi4wgBiESiuQMG/MMv/C6My9M6n3rBi7B1QvWtWbWetWl1+5pPf6D7/5re797/vA00MvHzj1e6bX/rZoDC19Ke+xqYs43A9db2RHvUGAzAAAzAAA+tjALGIWGwSCjTS5RqpdjQcWyxqZ63SjpQvfvBD3ZdPftC9dvTZYv1uk1i8f/9+9/jx4+727dvF+7W4XmY3M9rBcu2A8qP8YAAGYAAGYGCzGOgVi8fHx935+fnFT+elSj48PFzYnZ6edvv7+5fs7ty5cxFHjM/HChvjPTo66vSLfhxvFlzU1y/qa2yxqNnE2pbvqxCLc67PFrGo/Hvb9Jat+Od8v+TtF22LsqAsYAAGYAAGYGB1DFTFooRhFIcHBwfd2dnZJT9VjoShBKLtc2KxVIkSkTl7xOLqKr1UF/ivrszHFIsWPLXlp4jFcl1qOSrf1iqXD/0AZQMDMAADMAADMGAGqmLRRtGVIIzibm9vrzs5Oek8M5hej2HT4ygy02uIxd2G9MGDB51+d+/e7Z4+fdo9f/588bt37961Z5vTDxTrPHLnj8RK2H3rax/v/K7hj9/9dKdrttXHs+UnN8b57nc/sXhP0XbRLYlFp5kLqzDKg9wYl0Riafmplp3qvcLSLy5L9TLUm7981H317Z9chNG7iTE9v6voOBUuXo/HH/3Iy5fi0lJYCddoM9axlpxq6anZSN3SslSWo+523zIWf8QDRzAAAzAAA7vAwNJiMS2kIWJRs4qaqdSMZRoPYnG3G6CEogb/ccCvpYYSjhKQKS995xJ/UXRJ6OkdwigYLdwk0CzevEmNz5WOw8rO4R3W52l+SmJRdspb7n1GxZUKVQudvmWUrTOLEoASihJ5yovEZEngaSMcbYhTEosWilGQyu93f/OPBtdXWn59563LUB1P3zJe2+Hudj9E/VP/MAADMAADu87AILHoWUTNJOo4V3itYrE2q6h4EYu73TglFlNh6FnGZWYXI7OpGLPgi8JQ9qnQs1hMhaFEXyrunF4ah/3lOj6Ft7/zEv107a233lq8q6illLbNua1iMQpFxWPBl84u6lqfWFSYNL5c3lbhN1QstpbjKvJKnLvdt1H/1D8MwAAMwMAmMTBILHqTGrmlm2wVi7VZRcWNWNzthiSx+OjRo+7mzZsXrI0tFlNxVxJoFnOemUzP3RZqgrB2LTd7WbKXSKxtbOO8tIrF9NMZy4hFh12HYBwqFlve+3RZ4u52X0T9U/8wAAMwAAO7zECzWLRQlBisFViLWOybVVT8iMXdbphji0ULQb+HaDfOBNomnc1LxWF67vZQEni6XruWu65Zy3TmUnZzFovKn0Wq328sLWmV7Zg/xOK45Tlm3RAXdQMDMAADMAADm8tAk1j0JzFqy08NQYtY7JtVVFyIxc2Fyiws444pFi0C0+Wlc5lZXPD+sQ8vlrAqT86vBGZahnMXizG/3hhnCsGIWNzt/iJyxzEswAAMwAAMwMB4DPSKxSFCURXTJxZbZhUVD2JxvErexAYzVCxKROlzCLkPrkt0aSYxFV+tYjG1K80saiYwFaQu+76ZRdkpHYX/8ulh8d3H1nft+t4vVHreDVW2zqeXkl7nnUXHEd3ae4zapEd1VvsESIyrdqz3WNN3XGv2reVYi4Nru91HUf/UPwzAAAzAwC4wUBWLQ4WiCqxPLLbMKioexOJuN8ChYtHCI/c+n8VdXNapYwnIvmWoDish5w7BflF8lgSpw7SIRcerfMX0HIfc1t1QZSsxWHt/cGyxqF1QU5GpNHIzi74PicXSZ0Diffcd+31WcdNnq+vshrrb/UsLI9jACAzAAAzAAAy80BXFonc+PT8/73I/iUIXoI5zNvKLdp5VbFnOiljc7QY6VCzWZhbFqcWc31WUGNMvJxZtYzeKQsUVRZ1tcp++yNnZPjcD6Y1ucnG5rcmtfWcx2nl20e8Pyo2ftWgVi7KLccTjnDiM19MNdGL+XGdjiEXFq9nF+K3F+NmVmK6Fat/nR2IYjne7P6L+qX8YgAEYgIFdZaAoFtddIIhFGuXUDPpdwdKsnvNjEZiKSF+/rmuxmBOSMU7v5LnpYsf3kVs6HO937OPW9z7HTpf46NNgAAZgAAZgAAY2jQHE4si7Mm4aAOT3F53WusXiEBGq2UUt4ZTw2dQ6lNjNLRte5f1YoG660F5lGRH3L/oEyoKygAEYgAEY2HUGEIuIxY0VG2M33nWKRacd36vsu791iK2+PLVcH3v5aUuasvHy06lnMlvzhx0DEhiAARiAARiAgbkxgFhELCIW/z8DFmxTLkP1bKLeZRwiFNWRWPyMsZvo3DqmVeRHInWs9yNXkT/iZIAAAzAAAzAAAzAwNwYQi4hFxCIMwAAMwAAMwAAMwAAMwAAMXGEAsQgUV6CY2z8a5Id/2WAABmAABmAABmAABmBgegYQi4hFxCIMwAAMwAAMwAAMwAAMwAAMXGEAsQgUV6DgX5vp/7WhzClzGIABGIABGIABGICBuTGAWNxhsajdNPX5hb5NP2THpwbovObWeZEfmIQBGIABGIABGICB1TKAWNxhsejGJSFYE4xvvfXW4nt47Lq52sbo+sClnGEABmAABmAABmAABubAQK9YPD4+7s7Pzy9+Oi9l/PDwcGF3enra7e/vZ+3S+Eq2R0dHnX6ltPAfrwFJDEosyi2Vq7+Nt8kfgS/dG/7jsURZUpYwAAMwAAMwAAMwsD0MVMWihF0UhwcHB93Z2dklP8EgYSjRZ/ucANzb2+tOTk4WPx0rnP1y9ojF6SDzzGGfEOybgaRjmK7OKGvKGgZgAAZgAAZgAAZgYNUMVMViLnEJwijuLPg0qyj79LrjsNC0nf11LgGq6/aTi1icDv5WsWg7lqNOVzexTXBMucMADMAADMAADMAADEzJwNJiMc1sn1i8c+fOJVGo8yg+HR9icbqGYBHYN7N448aN7uHDh4ufjl1XuNPVFWVNWcMADMAADMAADMAADEzFwCCx6FlELSf1UtI0oyWxKDsJQ73/KJt4ns426hpicbpGcOvWrcU7i31iUfWiWcXaZjiy4UcZwAAMwAAMwAAMwAAMwMDmMzBILFrspbODEYSaWJSdl6NKNOaWnzouxOJ0cA2ZMZSgfPLkSXUzHNch7nR1SFlT1jAAAzAAAzAAAzAAA2Mz0CwWLRQ9K1jKSE0sOg6LTdnGmcYYJ2JxetglBPXdRS01LS0zRSxOXy+xXXBM+cMADMAADMAADMAADEzFQJNY1DJRibra8lNnuCQWHYeFou0tINOlqIjF6RqBZxa126nrpeQiFqerl1Id4E8dwAAMwAAMwAAMwAAMTMFAr1i0yGsRispwSSyWRKHjT0UkYnG6BtC6wY3ql3cWp6uXKToA0qA+YQAGYAAGYAAGYAAGSgxUxaKFXKtQVCIlseh3FWNc3jAn9+4iYnE6aFvFomcga8tUS6DhP119UtaUNQzAAAzAAAzAAAzAwBgMFMWihZyWn+Z+EoXOgI5zNvKLdhaM0Tb32QzFi1icDvBWsdhqZy5wp6tDypqyhgEYgAEYgAEYgAEYGJuBolgcO6Gh8SEWp4O9VQTqnUZmFaerl6FtBnvqBgZgAAZgAAZgAAZgYEwGEIt8F3DxGQx9DkOb15Tg8k6pNZtSWPzptGAABmAABmAABmAABmBg8xhALCIWO80Yvvfee92tW7eyYtEzj9rchka+eY2cOqPOYAAGYAAGYAAGYAAGrsMAYnGHxaJEor6rqFlFCcISQLLTr3QdfzofGIABGIABGIABGIABGNg+BhCLOywWadDb16CpU+oUBmAABmAABmAABmBgLAYQi4hFZgxhAAZgAAZgAAZgAAZgAAZg4AoDiEWguALFWP9EEA//asEADMAADMAADMAADMDA5jKAWEQsIhZhAAZgAAZgAAZgAAZgAAZg4AoDiMUVQqHdQ1s2kOHfls39t4W6o+5gAAZgAAZgAAZgAAa2lQHE4grFoqGRaOzbcdS2uHQ2MAADMAADMAADMAADMAADc2CgVyweHx935+fnFz+dlzJ+eHi4sDs9Pe329/ezdml8CpOL7+joqNMvd23T/PT9Qn3HkA/a0+g3jV3yC7MwAAMwAAMwAAMwsLsMVMWihF0UhwcHB93Z2dklP8EjYSiBaPucWNzb2+tOTk4WPx0rnOO7c+fOFVG4jWKRj9rvbkOjk6XuYQAGYAAGYAAGYAAGNo2BqljM3YwEYRSDFoGeIUyvOw4JwhjO/iV7xCKNyYzgwgIMwAAMwAAMwAAMwAAMTM/A0mIxrbSS+JO/ZhY9q+hwEpmardQso/3kIhanhyGWP8eUPwzAAAzAAAzAAAzAAAzsNgODxKJnEXOizyCVxGJpZtHvOXpm0vFsk1i8ceNG9/Dhw45lqLvd2Mw2LhzAAAzAAAzAAAzAAAxsAgODxKIEnza7yb1j6JstiUW/n6jrtvW7jopzm8Wi7vf73//+YpMbbXbj+8elk4ABGIABGIABGIABGIABGJgrA81i0UIxir3cTZXEomwtGL27qt5hfOWVV7Z+GarL6a233lp8QkM7oyIa6RTMBS4swAAMwAAMwAAMwAAMzJGBJrHopaK15ae+uZpYtE10S8tTt2kZqu5XM4taiqolqfH+OaZjgAEYgAEYgAEYgAEYgAEYmCMDvWJxiFDUDQ4Ri34HMresdZvEor+zyDuLdAJz7ATIE1zCAAzAAAzAAAzAAAzkGKiKxaFCUQm0ikUvSZV9LmOIRYDNcYEfXMAADMAADMAADMAADMDANAwUxaJn/fx+YepGkafj9LrPbRc3s9G13OcyYqUjFqcBIJY5x5Q5DMAADMAADMAADMAADMCAGSiKRRusy0UsAum62CNd2IMBGIABGIABGIABGICBFzrE4gurbwi8s7j6MqYxU8YwAAMwAAMwAAMwAAMwMC4DiMUJxKI2tnny5EmnT2cA8LgAU56UJwzAAAzAAAzAAAzAAAyshgHE4grFokTis2fPFr933nkHobjCsqaDWE0HQblSrjAAAzAAAzAAAzCwuwwgFhEwiFgYgAEYgAEYgAEYgAEYgAEYuMIAYhEorkDBv0e7++8RdU/dwwAMwAAMwAAMwAAMmAHEImIRsQgDMAADMAADMAADMAADMAADVxhALALFFSj8TwIu/yrBAAzAAAzAAAzAAAzAwO4ygFicSCx+5pPf6L75pZ9d/HS+SQ3vox95ufvq2z/pvnzyg+7FD35oo/KeK2dtOPTee+91+qxJ7vou+d289VvdH/zlP3Ynf/533S+99GtXyuPGjRvdw4cPO23YNHa5+LMy2gjq+9///ujxj51f4tvdhyV1T93DAAzAAAzsIgOIxQnEooShhJYE19wgU94+/+a3u/e/7wPVvG2TWNQnTPQpk1WIn7nVb0t++sSi4pC4lqAbc1dfi1BEIg/fFk6xgRMYgAEYgAEYmJ6BXrF4fHzcnZ+fX/x0nquoVrs7d+5cxKV4S/EdHR11+uXS2iQ/zcJpNm6uM4mtYnGTyryWV89kIVCGdzZjfy9Uol2zu3x/dHhd1BjnGuUJAzAAAzAAAzAwFgNVsSghF8XcwcFBd3Z2dslPGRlip/CKR+FK8enatonF144+O0vhu2tiUYKH5afX60A9E6glqTpethPSLKVmeBGL16uPZcuf8JQ7DMAADMAADMBAHwNVsZgLLGF4enra7e/vVweLqZ2F4eHh4aVwOo8C0mnuilj0zGMqJnUe3w+03cs3Xu10ze8/RhuXnVzb5+y8pNTXUjcuS01t47WYXi7N3NJbiVP90nh1X2l8LedvfOWvOv28lPILf/1PnX6//vrvX4nPs4ql5ad6X0/v7Snsa29/fRGP4iq9y9eSvxYbp6s0lbbvoXQfLXG22KRl9plv/U33gf36+6hjLkdFLPKAauEUGziBARiAARiAgfUxMJlY1PLTVGTu7e11Jycni2Wpuh5B2GSxqPf/JKpSEebzKKIs6lrFouKQ2FJZOZ1UwEl4RTvZKp1P/qvTS2Us/yEzizVbpxnvw6I2CkHFobxFkSu7WCaRg75jCcVU0El0acMWiaEYvk+cWLQpPsWrsBJPElEtQiqmNeQ4phuFaek+hsTdaqv7bblHC+4xlvH21Udr3rFb3wOEsqfsYQAGYAAGYGC7GRgkFi3uJPB0XIIjZ6eZxhhOM5MSj5/61KcW/roe49tksRjvoyQGbVO6LgEVBZXtUmGY2llAWlA6nZJbE4BpmJJtKU37xzwrjlQYepYxiso07dK5RE4qDD1jls4uSuDUllBatKWiSaItirhSXq7rX0q3dB/XTacWrlUsKo6+cqylE68hFrf74RLrmmPqGgZgAAZgAAY2k4FBYtGb06SzgGnl5+yiWIxLTy0sEYuX32lMRaDFovxjead2Q4VXSQDGNHxcsnWaad4ULs1fLg6Hv65YTMVdTmT5fbvajJhFm8Sh73lxDxOJRc9mxrSnOh4iFsd673Ms0TlVGZHOZj7kqDfqDQZgAAZgAAauz0CzWLQATEVdWvglO4tFzSTG5aiIxZ/vlpoKrVRktYpFCa505i6to3ieE2/xejwu2dbEnu4j5icXRy18TD93nBM5iMXhHUKuHHPlLb9lxaJE4tif4SjlFf/hLFBmlBkMwAAMwAAMwIAZaBKLmgnUZy7iMlJHEN2anUVkGoeXo+p6jItlqPllqH2icqjwyom3WA/xuGRbSzMVvbk4auFj+rnjnMhBLA7v4HLlmCtv+S0rFh0vM4vD68llh0vZwQAMwAAMwAAMTMFAr1isCcCYwT47dkO9vHzUZZebMfS7frl3FvvEouOTKHMaNTcVczXbnNCTvfObppnzz8UxhVhUPvvEyXWWoXqWrLTDaq08fc3pSrDZr+bqUxP65MSYnwAZIhb7yrGW93iNdxZ5yEUeOIYHGIABGIABGJgfA1Wx2CcAXaGtdlqKGpegWkCms4qKd1dmFi2ovAmMz9MdQy0C+8Siyk42Ch9tFT63G6qWraa2rtfUzQk92zie+N6h0o9LUGWbi2MqsdgnTizaWt9Z9HuQWlK5jHBzuq1iUfehNPVbRqS67uS2ikV2Q51fJx7rkWPqBwZgAAZgAAZgYEwGimLR7xJq+Wnu53cXW+2caYWL8eWEomx3RSzqXi0EJdos3CS6rjOz6HK2eHOcMS7b2LW4tK2Fq66n12zjfDoOuS1prlMsWuiUBJZFW6tY1D1buE0pFqNILd1LrJfSse4zftMxHqdl4Dj6BLftWtwx42pJDxsenjAAAzAAAzAAAzAwjIGiWFx3QW6LWFx3OZL+5QYhcaUlnFrKOUbZWIDWPskxRjppHLqPqTeJsUjVMtQ0P9c5RyxeZvM6ZUgYyhAGYAAGYAAGYGCVDCAWXwCwVQI2t7jHFncSTmOKz5by8juLY4m2ljRlM7bQ1n1oRnYs4d56H9jR58EADMAADMAADMBAGwOIRcTiKLNEm9TgxhBbYyw/HVpmntkb813F1jz4fuW2humzs3CfWvT25YvrbQ8PyolyggEYgAEYgIHtZwCxiFgcbfC/SR2GRM8y7xlu0r0um1eL1GXejyzlwYJRAhjRuP0PnBIH+FP3MAADMAADMDBPBhCLiMWdFIt0SPPskKgX6gUGYAAGYAAGYAAG5sMAYhGxiFiEARiAARiAARiAARiAARiAgSsMIBaB4goU/Jszn39zqAvqAgZgAAZgAAZgAAZgYF0MIBYRi4hFGIABGIABGIABGIABGIABGLjCAGIRKK5Asa5/LnYhXW0Ss8w3GdmYh38Wd6GdcI9wDgMwAAMwAAPzYACxiFhELE7EwBifn/DOpMsITjrfeXS+1AP1AAMwAAMwAAMwMHcGesXi8fFxd35+fvHTee6mWu0U1raluGRzdHS0+OXSwo+GtWkM+NuOY3x+wp+b4FMTtINNawfkF2ZhAAZgAAZgYLMYqIpFibko6A4ODrqzs7NLfqrwVrvDw8OF6HzllVe609PTK/FEeBCLmwVSrDuOr9adhN2Ys4FjzFJST1friTKhTGAABmAABmAABmDgFwxUxWKuoCQMJfT29/ezM4wOk9pJaL799tuLcAqLWPxFJbjMpnLf/74PdJ9/89uLn45juh/9yMvdV9/+Sffa0Wcv/O33zS/9rNNP1+UXw71849UL/8988hsLO9l++eQH3Ysf/NAl2xiudnzz1m91f/CX/9h94a//afE7+fO/637ppV+7Vly1dIZeu337dvf48ePu/v37l/Kic/nreozTs4oSeNHfx3fv3l2Ek/vgwYPu+fPni9+jR4+6mzdvZsO0LEd1usxArq+tuY5xqQMYgAEYgAEYgIFNZGAysRgLB7G4/sYiMZgTffKPAk9CT+Ivikqdp2ElFi0mdV31XROlkYfc8Wtvf30hEH/99d+/EEtvfOWvFuJRIjIXZiq/oWJRS0/fe++9TstHc3mUSHz69OlCIFqAOg2Jx1wY+SneJ0+edBKFORtdf/bsWTXtXDj81t8+qQPqAAZgAAZgAAZgYA4MDBKLe3t73cnJyeKn49IN9NkhFtcPv2cL4wyixZ3FXql+c2EtFmN8Cp+Kz1Kc0V+zh5pFlGDM+Us0Rv++4y9+7uXupz96o/jT9b444nULOQs7X8vNLHoGsDa7Z7GYCkOd12YXPXNYmrH09Vrazjvu+tskdUAdwAAMwAAMwAAMzI2BQWLxzp07i3cO5dZupM8OsTiPhiBRqOWonjW0CJTwq9WvZhs1+xiFocViX9havL6m2UQtPY2zir4mofiZb/1N94H96y1tdTzLuEPEojejqW1sY7F47969S+XeJxZb4l7mPgk7j3ZKPVAPMAADMAADMAAD62KgWSxaAMYNb3KZbrFDLM4DeAm7uJxU4i+KR9ev/L3ENLqrFIt6VzG33FRicd3vLiIW58Gv+cSlPmAABmAABmAABmBgNQw0iUXvYqolqLXlp61ZHhJOAAAJRklEQVR2iMXVVObQRhJnCL0ENQpAxWehGGcMYzinOfbMYk0sDp1ZXOcy1JbZP2YW59EezDIu9QEDMAADMAADMAADP2egVyy2CsBWOxU8YnE+DVBiULOJN3/5qPvDkx9c2uXUAjKdbVy1WOx7ZzF9l3HqxpybWdSupXq/MN0Ndcg7i0OXofqdxNI7ixaqtc11pi470ptP26cuqAsYgAEYgAEYgIE+BqpisVUAtto5M4jF+YCp9xQlEv/d7/yHxa6nriO76c6nfq9Ry1HjLOSYM4tKW4IwnV2cwxJU5c3C0JvP+FyfvEjFouxbd0MdKhb7dkP1txi1I2rtnUnXNe582iV1QV3AAAzAAAzAAAzMgYGiWPSOpufn54tNbVLX7y622lkgpvH4XIIzFsjR0VGnX/TjePxG49lDib+41NRlHa/LRhvbfPQj/2KlG9w4bX8+w99ZHLr81PGswvXsor+JqJ1QJfZyYrFvBvA6y1BbZixtI7HIjqjjt51VcEWc1BMMwAAMwAAMwMCcGCiKxXVnErFIQ1k3g2OmL7E25nJQzRrWvrHovGtGUWKxtFTVdri0NxiAARiAARiAARiAgZQBxOILQJFCwfn4THh2cYwZPr+L2BeX7R4+fNhplpF6Hb9eKVPKFAZgAAZgAAZgYJsZQCwiFhEREzHgdwiXeX/QS0trAtA2vKvIw2ubH17cG3zDAAzAAAzAwOoZQCxOJBSAefUwb0IZSyjWhF7fPUhwjrmctS89rsMtDMAADMAADMAADOwuA4hFxCIzizAAAzAAAzAAAzAAAzAAAzBwhQHEIlBcgYJ/j3b33yPqnrqHARiAARiAARiAARgwA4hFxCJiEQZgAAZgAAZgAAZgAAZgAAauMIBYBIorUPifBFz+VYIBGIABGIABGIABGICB3WUAsbjjYvH97/tA9/k3v91980s/616+8WpVOH70Iy93X337Jwtb2etYfst0IN65s7RD6O+98Svd3//wt7vv3K/nbZk8xLBK56c/euPi98XPLXd/Me6pjr/1tY93P373093Rxz7cWzf6/EbfJzimyjfp7O6DiLqn7mEABmAABmBgngwgFhGLTWLRQvEzn/xGrwAZ0tglVGq7e1osSgANiXdZW6c7N7EoASghWCuPIWLR338sifVly5Hw8+z4qRfqBQZgAAZgAAZgoIWBXrF4fHzcnZ+fX/x0nou4xW5/f787PT29iEvxHh4eZuM7Ojrq9Mulhd/0cL929NlRZhJj3UmgPHnypJNgif7x2KKtJo6i/VjHTnfbxaLKy99/lDtW+RHP9G2UMqfMYQAGYAAGYAAGxmagKhYlAKM4PDg46M7Ozi75KUMtdhaKURzeuXNnIRyjn28QsTgv2CUWv3zyg+7FD35oFEFx69atxYxi34xWy0yamRnT3SWxqHLrm+Eds2yJa15tm/qgPmAABmAABmAABkoMVMViLpCEoWYHJf5y1+3XYmcBGQWpwyMWVwttfFex5f3DscWiRGJt+ekFBw3LLu/evds9ffq0e/78+eL3+PHj7vbt21U+HX/JbRGLmnWM7zem71UqDi0ZlRvfhXz3u5/oDl568VL+dC7/GJ+PNauqn89zbpx51bHSffN3fp6+7aNNet8sR11te0vLm3PKGwZgAAZgAAZgYBMYQCzu+DuLglQb2+Q2q5G/hGTpd933F72pTcvGKn0zi/fv318IxHv37l2IrwcPHizEo0TkdRthn1iU8NLGO7JTGs5nFIyOQ2LNQi1nZ6EYRaTsFS5dBuvwji93fw4bwyuemN80nOvk4cOHnY7T65zzQIMBGIABGIABGICB3WNgkFjc29vrTk5OFj8dl4BptfOyVi1HTeNiZnE6GEtiMdbJmDOLnsVqeUeuJo40e6hZRAnGmFf7SzRG/yHHFnqpWFMcpTylgsxxRAGp8DqPwtB2MS2nkYa1f4tYzMVXC9c62zukHLGdrh1T1pQ1DMAADMAADMDA2AwMEot+xzAn7mLGWuwsKPUOpERjDK9jxOJ0sE8tFiUS+za2MQ81caTZRC09jbOKDieh+OjRo+7mzZtX2LJNzc0JONunotD+aZj03HapWFR8cRZQdqX7Lvk7brkShOmnM1rCDamXmB7H07VVypqyhgEYgAEYgAEYmJKBZrFoAZh7vzBmuMXOQpHdUOcB+yaIxThLZt4kEvWuYm65qcTiMu8uloSe0o7LPCXy0p/zWoojFYulZai5ZaMtog+xOI92ZU5xqQ8YgAEYgAEYgIFNZaBJLGq3Ugk7LUGtLT9ttZPgVHy1GUpmFqdrVNsqFqeeWUw7gVaxaAEYRWdOKCp+29aWkyIWp2s7aZ1zTtnDAAzAAAzAAAxsEwO9YrFVALbatQhFFTBicbqGNrVYHPLOYq2x+d3E0juLqb/i0qY6z5496/o+2VESeoqjdi3mt2SXzizmxF2MJx57FjJ9lzHa5OJrEZm8szhdm4v1xTHlDgMwAAMwAAMwMFcGqmKxVQC22rUKRRUWYnG6RjO1WPTOmy27ofp9vpI4kiBMl6KWlqD6244Si327fpaEnhuy8lOa/bNNKY5ULOoe++JynHL70r6OWHSd9JVLzAfH07VRypqyhgEYgAEYgAEYWAcDRbEY3yvUktH053cXW+2882kaj88lOGMBIBZX2yA++pGXF5/LyH0W4/NvfrvTdxhjfYy5G6ribZ3F6hOLikuC0d9YlFtbflqbWfTsW1wO6uN0wxilK1Hm63b7djlVuFQs2s9xRFe2uh5/nl2MdsqLba4jFsea7XUecC/XGeVBecAADMAADMAADGwiA0WxuO6bQSxud4PyLF/L7OK6WVx1+qWZQgvlKARXlRfVA7OK293mVsUO8cINDMAADMAADGwvA4jFZNYG2KeDXbOLWhLa8r3Fba0XzxLGGUnfq5exrlosqvx3vR5c5rjTtX/KmrKGARiAARiAgfkzgFhELF4sX1xHg9WMVus3F9eRvynSzM0sWkQOeZfxOnn18tO+DX+uEzdh5v8AoI6oIxiAARiAARiAgRoDiEXE4lrFojdW2XWxIsEY30HUcW62sdaYr3NNYp2lwDwkrsMOYeAGBmAABmAABrafAcQiYnGtYpFOZvs7GeqYOoYBGIABGIABGICBzWQAsYhYRCzCAAzAAAzAAAzAAAzAAAzAwBUG/h/iFV77tRkBOgAAAABJRU5ErkJggg==&quot; /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;After enabling code-folding:&lt;/h3&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt=&quot;&quot; src=&quot;data:image/png;base64,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&quot; /&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.rainabba.me/feeds/597572516880862774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.rainabba.me/2020/09/chrome-devtools-has-implemented-code.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/597572516880862774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/597572516880862774'/><link rel='alternate' type='text/html' href='http://blog.rainabba.me/2020/09/chrome-devtools-has-implemented-code.html' title='Chrome DevTools has implemented code-folding (as of v73 apparently)!'/><author><name>rainabba</name><uri>http://www.blogger.com/profile/14064142359598390121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8237010798052417466.post-4910894793057202678</id><published>2018-06-01T14:08:00.002-07:00</published><updated>2018-06-01T14:14:02.298-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Docker"/><category scheme="http://www.blogger.com/atom/ns#" term="Docker-CE"/><category scheme="http://www.blogger.com/atom/ns#" term="windows 10 1803"/><category scheme="http://www.blogger.com/atom/ns#" term="windows server 2019"/><category scheme="http://www.blogger.com/atom/ns#" term="wsl"/><title type='text'>Installing WSL+Ubunutu+Docker on Windows 10/2019 1803</title><content type='html'>How&#39;s that for a needfully-long title? This article comes years after my first taste of Docker and some weeks after diving deep to migrate a legacy app, to node.js, to docker containers so it can be managed and run more effectively.
&lt;br /&gt;
&lt;br /&gt;
There is a LOT to share, but for the moment I&#39;m going to focus on the biggest pain-point in getting to really appreciate what Docker can do for a Windows developer; getting Docker running in an environment friendly to all you&#39;ll find about Docker on Linux or OSX!
&lt;br /&gt;
&lt;br /&gt;
In a nut-shell, you need WSL (which effectively connects a &quot;distro&quot; to Windows low-level APIs). Then you need an environment/distro to actually work in. I&#39;m using Ubuntu here and some of the script is sensitive to that, but there are many other distros available now so you have freedom. Once you have Ubuntu and WSL, you can install Docker-CE. You need CE specifically to work nicely with WSL, otherwise you can use the regular Docker, but then why are you reading this?!
&lt;br /&gt;
&lt;br /&gt;
To help ensure my environments were consistent (and because I had to try this dozens of times before it all worked for me), I&#39;ve created a bash script and in the comments are 4 PowerShell commands you can use to get started with nothing more than a working install of &lt;b&gt;Windows 10 1803&lt;/b&gt; or &lt;b&gt;Server 2019 Preview 1803&lt;/b&gt;. I&#39;ll let the script explain the details and I make no guarantees about this script so test in a safe place, but I rely on it :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
**Bash script**&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;https://gist.github.com/rainabba/6f345c439261882e0c1e648fcfc43df4&quot;&gt;https://gist.github.com/rainabba/6f345c439261882e0c1e648fcfc43df4&lt;/a&gt;&lt;/b&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.rainabba.me/feeds/4910894793057202678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.rainabba.me/2018/06/windows-1803-wsl-ubunutu-docker.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/4910894793057202678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/4910894793057202678'/><link rel='alternate' type='text/html' href='http://blog.rainabba.me/2018/06/windows-1803-wsl-ubunutu-docker.html' title='Installing WSL+Ubunutu+Docker on Windows 10/2019 1803'/><author><name>rainabba</name><uri>http://www.blogger.com/profile/14064142359598390121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8237010798052417466.post-3128199147837111670</id><published>2017-04-28T14:29:00.001-07:00</published><updated>2017-04-28T14:29:18.738-07:00</updated><title type='text'>Uninstall OneDrive from Windows 10 - half-baked</title><content type='html'>OneDrive is a &quot;cloud-file&quot; service by Microsoft which is not unlike Google Drive, DropBox, Box, SugarSync and like Drive also provides some nifty web-based tools.&lt;br /&gt;
&lt;br /&gt;
OneDrive is NOT critical to any aspect of Windows. OneDrive is treated by MS as an app (nota &amp;nbsp;service) in all respects except the implementation in Windows which is atrocious.&lt;br /&gt;
&lt;br /&gt;
You can disable the &quot;Start with Windows&quot; option then exit it (like any other systray service), but it will pop back up later and harass you if you&#39;ve not set it up. That sort of behavior is more what you&#39;d expect from a &quot;Windows Feature&quot; which you&#39;d turn off using the Windows &quot;Programs and Features&quot; dialog.&lt;br /&gt;
&lt;br /&gt;
That&#39;s NOT how OneDrive is to be managed though so if you don&#39;t use and don&#39;t want to see it, be prepared for the most absurd &quot;configuration&quot; I&#39;ve ever seen from MS. Even a registry change would be easier than this mess....&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://support.office.com/en-US/article/Turn-off-or-uninstall-OneDrive-f32a17ce-3336-40fe-9c38-6efb09f944b0&quot;&gt;https://support.office.com/en-US/article/Turn-off-or-uninstall-OneDrive-f32a17ce-3336-40fe-9c38-6efb09f944b0&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
WHY? Microsoft, WHY are you pushing OneDrive at me SO HARD that you&#39;re doing stupid crap like this? Either make it part of the OS (and a service we can just simply disable) or make it a Feature that can be managed reasonably.</content><link rel='replies' type='application/atom+xml' href='http://blog.rainabba.me/feeds/3128199147837111670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.rainabba.me/2017/04/uninstall-onedrive-from-windows-10-half.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/3128199147837111670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/3128199147837111670'/><link rel='alternate' type='text/html' href='http://blog.rainabba.me/2017/04/uninstall-onedrive-from-windows-10-half.html' title='Uninstall OneDrive from Windows 10 - half-baked'/><author><name>rainabba</name><uri>http://www.blogger.com/profile/14064142359598390121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8237010798052417466.post-6253760436399056084</id><published>2017-01-04T14:32:00.000-07:00</published><updated>2017-01-04T14:32:47.174-07:00</updated><title type='text'>Who am I? Who are you?</title><content type='html'>What part(s) of our body are permanent? That is, what parts grow, then never get replaced/recycled/regrown?&lt;br /&gt;
&lt;br /&gt;
If all if it, then we are NEVER the same person from moment to moment in the most literaly sense.&lt;br /&gt;
&lt;br /&gt;
Since we appear to have consistency from day to day, the process must be somewhat slow. What about year to year or decade to decade? Is the process that slow though? If not, how are we consistent across so much time in appearance, personality, habits and such?&lt;br /&gt;
&lt;br /&gt;
DNA likely accounts for much of this, but how much? If none, then where does it come from? If all then the moment we&#39;re concieved, we ARE who we are. We may make choices along the way, but those choices are a result of who we are so those choices are determined in the most fundamental sense, the moment we&#39;re conceived.&lt;br /&gt;
&lt;br /&gt;
If it&#39;s not entirely DNA that dictates who we are, then how much of it is DNA (nature) and how much is otherwise (nurture) and where is that nurture recorded/maintained in ourselves? Our brain? How fast does it regenerate itself? If not at all, then our brain IS who WE ARE. If it regenerates over time, then either that period of time is how often we change OR there&#39;s some other part of us that dictates who we are.&lt;br /&gt;
&lt;br /&gt;
Perhaps DNA kickstarts us, our brain is US from day to day, and as it regenerates, it&#39;s influenced by who we are (what we do, think, etc..) and so we end up with consistency. In that case, we could halt that consistency up to the point of who we are from our DNA, by interurrupting our decisions and environment completely.&lt;br /&gt;
&lt;br /&gt;
What part of ME is seeking these answers? Why do so many humans seem to have the same quest? Is that explained by DNA or circumstance? If the former, we all are likely to find us here eventually. If the later, some cultures will never ask these questions because they will never come into contact with those who do. How could we know though because if you&#39;re asking these questions, you can&#39;t go ask others or lead them to the question without putting it in their &quot;minds&quot;. It&#39;s a bit like (to quote Alan Watts) saying, &quot;Don&#39;t think of a pink elephant while taking your medicine.&quot; Once heard, one cannot avoid the thought because it&#39;s already been comprehended.</content><link rel='replies' type='application/atom+xml' href='http://blog.rainabba.me/feeds/6253760436399056084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.rainabba.me/2017/01/who-am-i-who-are-you.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/6253760436399056084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/6253760436399056084'/><link rel='alternate' type='text/html' href='http://blog.rainabba.me/2017/01/who-am-i-who-are-you.html' title='Who am I? Who are you?'/><author><name>rainabba</name><uri>http://www.blogger.com/profile/14064142359598390121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8237010798052417466.post-2927163956128177398</id><published>2016-11-05T08:21:00.002-07:00</published><updated>2016-11-05T08:21:57.120-07:00</updated><title type='text'>Relaxing in a houseboat on the Amstel, overlooking the Magere Brug - Perspective</title><content type='html'>The tour boats full of people taking in the sights keep sliding by. The sun occasionally teases me with it&#39;s warmth, but mostly stays hidden behind clouds that promise more rain, but that doesn&#39;t really bother me; I have an umbrella for that.&lt;br /&gt;
&lt;br /&gt;
I&#39;m sitting on a cute little couch, in the parlor for a beautiful houseboat and it feels like one of the 100&#39;s of cafe&#39;s nearby. Across the river are homes that have existed more than 5 times longer than I have. At any given moment, I can see more people on bicycles than cars and boats combined and that&#39;s saying something because there are a LOT of boats here on the river and the nearby canals I can see.&lt;br /&gt;
&lt;br /&gt;
The Michelangelo, one of the boats belonging to &quot;LOVERS canal cruises&quot; just did a graceful pirouette to turn around and head back up river. A lot of the tour boats do that right here, in front of my little home for the week and I wonder why. Not all of them though and the ones that continue down river have a very tight squeeze to get through if they want to go under the &lt;b&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Magere_Brug&quot; target=&quot;_blank&quot;&gt;Magere Brug&lt;/a&gt;&lt;/b&gt;, the &quot;Skinny Bridge&quot; that is an extremely old, manually operated, wooden draw-bridge meant only for pedestrians and cyclists and even they have to be careful as they pass each other over the top.&lt;br /&gt;
&lt;br /&gt;
How did I end up here? Just last week my 2 year-old daughter was to undergo a dangerous surgery to remove a chunk from her left lung where a pocket has formed that held &lt;a href=&quot;https://en.wikipedia.org/wiki/Group_A_streptococcal_infection&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;group a streptococcus&lt;/b&gt;&lt;/a&gt;; an infection that nearly took her life. It looks like her body is finally dealing with the pocket that was leftover so the surgery was canceled, much like my life had been when we found out the doctors wanted to do the surgery. My wife Jessica and I both stopped making plans. I resigned from my latest venture; something I&#39;d been close to doing anyway after 2.5 years of the most unreal stress and accomplishments I could never have imagined. I say that as a US Marine that&#39;s had more than a few challenges in life too. That journey took me to New Zealand, introduced me to famous musicians and made me an &quot;Executive Producer&quot; working for the likes of Samsung and Red Bull at the largest music festivals in North American. Hell, I got to be the first one (literally &quot;ME&quot;) to do a major 360, live-streaming production for and to YouTube to help them show off their newest feature.&lt;br /&gt;
&lt;br /&gt;
I&#39;m just a geek that likes to learn, explore, play with technology and quietly build relationships with others of a like mind though. Few people really know my name. Fewer have any idea what skills I posess, I&#39;m nothing close to important by the social and cultural standards that surround me, yet I find myself in a position that is about as likely as winning the lottery back home I think. I grew up poor with very few privileges save for being a white, male which lately feels as much like a curse as anything given all the resentment aired in the media from those who aren&#39;t &quot;white&quot; or &quot;male&quot; which I think is more people than not.&lt;br /&gt;
&lt;br /&gt;
All I do know is that right now I&#39;ve got peace and I hope that my perspective on this moment is clear and my appreciation for it is deep and complete.&lt;br /&gt;
&lt;br /&gt;
Thanks to my friend Tim for inviting me to his home town to help &quot;consult&quot; for him and making this all possible. Thanks to Kelly for making me feel so welcome every time I see her. Thanks to Ben, Wim and everyone at VRDays for throwing a great event and showing me so much hospitality. Most of all though, thank you to my wife Jessica for giving me her blessing to go on this trip and find this moment of peace while she stays home taking care of my 3 treasured children even though I&#39;ve been traveling so much and have to leave again only a day after I get back home. Without her, Andrew, Jolie and Ayla back home, I think I&#39;d only be lonely in this moment, but instead I feel loved everywhere I go.&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.rainabba.me/feeds/2927163956128177398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.rainabba.me/2016/11/relaxing-in-houseboat-on-amstel.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/2927163956128177398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/2927163956128177398'/><link rel='alternate' type='text/html' href='http://blog.rainabba.me/2016/11/relaxing-in-houseboat-on-amstel.html' title='Relaxing in a houseboat on the Amstel, overlooking the Magere Brug - Perspective'/><author><name>rainabba</name><uri>http://www.blogger.com/profile/14064142359598390121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8237010798052417466.post-7831328073627919796</id><published>2016-06-06T11:52:00.000-07:00</published><updated>2016-06-06T11:52:02.372-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="aws"/><category scheme="http://www.blogger.com/atom/ns#" term="encoding"/><category scheme="http://www.blogger.com/atom/ns#" term="ffmpeg"/><category scheme="http://www.blogger.com/atom/ns#" term="g2"/><category scheme="http://www.blogger.com/atom/ns#" term="h.264"/><category scheme="http://www.blogger.com/atom/ns#" term="nvidia"/><category scheme="http://www.blogger.com/atom/ns#" term="x264"/><category scheme="http://www.blogger.com/atom/ns#" term="x265"/><title type='text'>Building ffmpeg with opencl support on Linux (AWS Linux AMI)</title><content type='html'>The last year I&#39;ve learned more about video, live production, DIT, editing, encoding, players, codecs and ffmpeg than I could have imagined there was to know (and that only of course proved that there&#39;s 1,000x more to learn), but one particular part of this journey has proven VERY difficult so I wanted to share some of that.
&lt;br /&gt;
&lt;br /&gt;
ffmpeg is an open-source project and there are NO definitive binaries for any platform. There ARE some great builds out there which are well-maintained and very useful, but they aren&#39;t &quot;official&quot; and they weren&#39;t meeting all my needs so I had to setup a basic build environment which proved difficult itself for me even though I&#39;ve been compiling on Linux (building Android Kernels even) for some 15 years.
&lt;br /&gt;
&lt;br /&gt;
I&#39;ve put together a GIST to share the key points (an updated ffmpeg build with x264, x265, aac and opencl acceleration in particular) and I&#39;m still evolving it. Find that gist &lt;a href=&quot;https://goo.gl/5R8mME&quot; target=&quot;_blank&quot;&gt;HERE&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
If you already know how to build, this should be a great reference. If you don&#39;t and want to use this with no real experience, please know that this was done an an AWS G2 instance (nvidia grid GPUs) running an AWS Linux AMI so it won&#39;t copy/paste/work just anywhere, but if you&#39;re running a distro with YUM and have an nvidia card, it should be pretty close at the least.</content><link rel='replies' type='application/atom+xml' href='http://blog.rainabba.me/feeds/7831328073627919796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.rainabba.me/2016/06/building-ffmpeg-with-opencl-support-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/7831328073627919796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/7831328073627919796'/><link rel='alternate' type='text/html' href='http://blog.rainabba.me/2016/06/building-ffmpeg-with-opencl-support-on.html' title='Building ffmpeg with opencl support on Linux (AWS Linux AMI)'/><author><name>rainabba</name><uri>http://www.blogger.com/profile/14064142359598390121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8237010798052417466.post-3513787552812272215</id><published>2016-01-26T08:38:00.001-07:00</published><updated>2016-01-26T08:38:18.232-07:00</updated><title type='text'>Who IS a &quot;professional&quot;?</title><content type='html'>I subscribe to very few blogs and today an article was posted on what may be my favorite, and it got me thinking. The following started as a reply, but I decided it might be appropriate here too.&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
In the last couple years, I&#39;ve been forced to reevaluate myself in light of my career. I&#39;ve spent nearly 2 decades in software in one form or another and despite being able to make some pretty hefty claims; they always sounded exaggerated to my own ears, when coming out of my mouth so I felt awkward calling myself a professional even though I can&#39;t imagine many people refuting the claim. Still, I was reluctant to claim the title until my personal interest in virtual reality, backed by my years of photography and a years of &quot;playing around&quot; with a variety of video technologies saw me into the role of CTO in an up-and-coming VR company which in turn found me working side-by-side with (not employed by or for to be clear) the production team for RedBull, with the streaming engineers they use to broadcast to the Internet, and helping Samsung give 1,000&#39;s their first experience with VR at the largest music festivals in North America.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://houldsworth.wordpress.com/2016/01/26/what-makes-a-professional/#comment-1686&quot; target=&quot;_blank&quot;&gt;This article [https://houldsworth.wordpress.com/2016/01/26/what-makes-a-professional]&lt;/a&gt; resonates with me because by most objective definitions, I&#39;m a professional software developer and DBA, but I didn&#39;t feel like it and few labeled me as such who had the knowledge and experience to do so (worth mentioning that I work from home and am not even surrounded by co-workers or peers often in that field). On the other hand, I&#39;m quite new to the &quot;professional&quot; field of photography, videography and VR, yet I don&#39;t mind saying that I&#39;m one of very few people in the world who has done a real-time video production broadcasting to VR and I&#39;ve been complimented by some rather significant people in the industry both explicitly and implicitly and a large part of that comes down to the fact that we show up to do what we do amongst 10k&#39;s of people, have to deal with incredible challenges on the fly and have yet to fail.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Am I more of a &quot;professional&quot; for having spent decades in a field, or for successfully doing something new and difficult? I think you raise a great point and I&#39;m presently of the mind that I am on both accounts, but for very different reasons in each field. In the end, not even others with experience in these fields; paid or not, could do what I do readily (and for pay) and that seems like a good basis to label me a professional in general and in those fields. It does not mean that others are not are not either though, so where do we stop applying the label OR is the label possibly less meaningful in this world where knowledge and experience are such different beasts?&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Was Einstein a professional in physics when he was a &quot;only&quot; a patent clerk, but generating his Theory of Relativity, or did he not earn that title until he quit and started receiving funding and/or recognition for that theory?&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Is a soldier a professional right after boot-camp, or not until he&#39;s fought in a war [and killed an enemy?]&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.rainabba.me/feeds/3513787552812272215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.rainabba.me/2016/01/who-is-professional.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/3513787552812272215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/3513787552812272215'/><link rel='alternate' type='text/html' href='http://blog.rainabba.me/2016/01/who-is-professional.html' title='Who IS a &quot;professional&quot;?'/><author><name>rainabba</name><uri>http://www.blogger.com/profile/14064142359598390121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8237010798052417466.post-4107461413207198841</id><published>2015-08-14T10:13:00.000-07:00</published><updated>2015-08-14T10:13:47.197-07:00</updated><title type='text'>FINALLY working on my pilots license for real</title><content type='html'>I&#39;ve had a few false-starts towards my powered license, but each time I lost the motivation just enough and didn&#39;t really undestand why until a few weeks ago when I was in Chicago (doing a production at Lollapalooza to bring vantage.tv to the public for the first time) when a friend hooked me up with an instructor and we took a Cessna 172 out, did a touch-n-go at Midway, flew out over lake Michagan than did some slow-flight work before returning, all after dark.&lt;br /&gt;&lt;br /&gt;That same friend got me interested in gliding simulators such as Condor and Silent Wings, some months ago. I&#39;ve been building and playing with toy/model/rc gliders my entire life and I&#39;ve always been fascinated. Somehow though, I never made the connection and suddenly I realized that it&#39;s not so much &quot;flight&quot; that I&#39;m interested in as &quot;unpowered flight&quot; (soaring, gliding, para-gliding, para-sailing, etc..). This realization motivated me to locate an instruction school nearby and I was luck to find AZSoaring.com (owned by a family that&#39;s been gliding for decades and largely managed by a champion aerobatic glider pilot). I think I&#39;ve found that hobby I&#39;ve been looking for my entire life. No sound but the wind, almost nothing obstructing my view of the world, and the perfect balance between me, nature and machine.&lt;br /&gt;&lt;br /&gt;This was the first of 3 flights this day and despite decades of simulator time, I was surprised at how much higher my cognitive load was compared to when I&#39;m in a sim and what I expected (I knew it would be at least somewhat higher).&lt;br /&gt;&lt;br /&gt;By flight #3 (with plenty of coaching an an instructor ready to take the controls at any moment of course), I was largely handling takeoff, tow, release, flight, pattern, descent and landing.&lt;br /&gt;&lt;br /&gt;I was also pleasantly surprised at how nice the 2-33 was to fly despite my preconceptions about how &quot;poor&quot; a glider it is. In reality, it&#39;s magnitudes nicer to fly that a 162/172 (by my tastes) which makes me even more excited at the idea of making my way to the Grob 103a and such.&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe width=&quot;320&quot; height=&quot;266&quot; class=&quot;YOUTUBE-iframe-video&quot; data-thumbnail-src=&quot;https://i.ytimg.com/vi/Rx35P1FwuWk/0.jpg&quot; src=&quot;https://www.youtube.com/embed/Rx35P1FwuWk?feature=player_embedded&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.rainabba.me/feeds/4107461413207198841/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.rainabba.me/2015/08/finally-working-on-my-pilots-license.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/4107461413207198841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/4107461413207198841'/><link rel='alternate' type='text/html' href='http://blog.rainabba.me/2015/08/finally-working-on-my-pilots-license.html' title='FINALLY working on my pilots license for real'/><author><name>rainabba</name><uri>http://www.blogger.com/profile/14064142359598390121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/Rx35P1FwuWk/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8237010798052417466.post-2473616914998522675</id><published>2014-10-07T00:40:00.003-07:00</published><updated>2014-10-07T00:41:52.489-07:00</updated><title type='text'>Adventures in Git OR How to fork folders in one Repo to their own repo with history</title><content type='html'>In short, I had one repo, with multiple folders where each really represented its own project and I needed to fork each folder to a separate repo WITH history. This is the solution I came up with. This does require git 1.8.4 (git subtree split).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;git subtree split --prefix=sourceFolderInAnyExistingProject -b anyNewBranchNameForFork&lt;br /&gt;&lt;br /&gt;mkdir ../someNewRepoFolder&lt;br /&gt;&lt;br /&gt;cd ../someNewRepoFolder&lt;br /&gt;&lt;br /&gt;git init --bare&lt;br /&gt;&lt;br /&gt;cd backToOriginalWorkingFolder&lt;br /&gt;&lt;br /&gt;git push ../someNewRepoFolder anyNewBranchNameForFork:master&lt;br /&gt;&lt;br /&gt;cd ../someNewRepoFolder&lt;br /&gt;&lt;br /&gt;git remote add origin YourNewRepoRemote&lt;br /&gt;&lt;br /&gt;git push -u origin --all&lt;br /&gt;&lt;br /&gt;cd ..&lt;br /&gt;&lt;br /&gt;rm -rf somenewRepoFolder&lt;br /&gt;&lt;br /&gt;git clone YournewRepoRemote someNewRepoFolder&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sorry if that&#39;s not clear enough, but basically, you use git subtree split to take ANY folder presently in a repo and create a branch that&#39;s filtered to have just that folder and all the history for it. Then you create a bare repo, push the branch into it, then push that repo (without working folder) to your new repo, then either trash the folder or clone the repo into another one and BAM, you&#39;ve forked not only an existing repo, but just one folder in it if you prefer (I had many &quot;projects&quot; in one repo that needed to be forked individually so this was useful for me) and history stays intact.</content><link rel='replies' type='application/atom+xml' href='http://blog.rainabba.me/feeds/2473616914998522675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.rainabba.me/2014/10/adventures-in-git-or-how-to-fork.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/2473616914998522675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/2473616914998522675'/><link rel='alternate' type='text/html' href='http://blog.rainabba.me/2014/10/adventures-in-git-or-how-to-fork.html' title='Adventures in Git OR How to fork folders in one Repo to their own repo with history'/><author><name>rainabba</name><uri>http://www.blogger.com/profile/14064142359598390121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8237010798052417466.post-1218045347723762363</id><published>2014-04-04T11:59:00.000-07:00</published><updated>2014-04-04T11:59:15.030-07:00</updated><title type='text'>SuperAdmin (GodMode) folder for Windows 8.1</title><content type='html'>I didn&#39;t think there were any cool tricks left for Windows that I wasn&#39;t aware of but I just learned otherwise.&lt;br /&gt;&lt;br /&gt;Create a folder using one of the following names based on your version of Windows and have access to a SuperAdmin folder that makes finding all sorts of admin shortcuts as easy to find as they always SHOULD have been. I&#39;ve only tested the 8.1 but am under the impression that it should work for 7 and 8 also.&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
Windows 8.1 - &lt;span style=&quot;font-weight:bold; text-shadow:0 0 5px rgb(0,0,0), 0 0 10px rgba(0,0,0,0.8);&quot;&gt;SuperAdmin.{ED7BA470-8E54-465E-825C-99712043E01C}&lt;/span&gt;&lt;div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.rainabba.me/feeds/1218045347723762363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.rainabba.me/2014/04/superadmin-godmode-folder-for-windows-81.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/1218045347723762363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/1218045347723762363'/><link rel='alternate' type='text/html' href='http://blog.rainabba.me/2014/04/superadmin-godmode-folder-for-windows-81.html' title='SuperAdmin (GodMode) folder for Windows 8.1'/><author><name>rainabba</name><uri>http://www.blogger.com/profile/14064142359598390121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8237010798052417466.post-411600304800197252</id><published>2014-03-07T17:19:00.001-07:00</published><updated>2019-12-01T15:05:51.741-07:00</updated><title type='text'>SSL Certs for IIS with PFX once and for all - SSL and IIS Explained</title><content type='html'>The problem is more common than dirt but the solutions provided are so often entirely incorrect and obscure and that&#39;s likely because the &quot;Linux and Apache&quot; folks are trying to use their standard approach with MS platforms that like to do their own thing.&lt;br /&gt;
&lt;br /&gt;
Here&#39;s what you need to understand:&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;b&gt;CSR - Certificate Signing Request:&lt;/b&gt; A CSR is how you ask for a certificate and provides things like your identify, the use, etc.. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;KEY - Private Key&lt;/b&gt;: When someone uses the public key that you share with the world (like that which your web server will give the client and they will use to encrypt traffic), your possession of the private key is how you prove (as a web site) that you are master. You encrypt using your private key and the client decrypts with your public key. ANYONE can have your public key and thus anyone can decrypt but since you are the only one with a private key, it is guaranteed (when you control that key correctly) that if the public key works, traffic must have come from you. Similarly, anything encrypted with your public key can ONLY be decrypted using your private key.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;CER/CRT/CERT/CERTIFICATE - Public Key&lt;/b&gt;: See KEY explanation&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;PFX&lt;/b&gt;: Along comes microsoft and their proprietary way of doing things and the confusion that follows. IIS expects a PFX but the format has nothing to do with the standards world of PKI, keys and certs really. So how do you give them a PFX that includes the private key (needed to encrypted/decrypt your web traffic)? The intended way is for you to generate the CSR using IIS then give that CSR to your CA (internal or public) then get a key back based on the private key known by the creator of the CSR (IIS). This is where things are &quot;all wrong&quot; in the public CA business (from the perspective of us using IIS but really, they have it right). Most likely you created the CSR using your CA or the company reselling for them (cheapssl, gogetssl, etc..). When you do this, they give you a private key to keep safe and a public key to use but IIS/Windows has no concept of the private key so you&#39;re dead in the water from the start.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;The solution:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Use IIS &quot;Server Certificates&quot; UI to &quot;Generate Certificate Request&quot; (the details of this request are out of the scope of this article but those details are critical). This will give you a CSR prepped for IIS. You then give that CSR to your CA and ask for a certificate. Then you take the CER/CRT file they give you, go back to IIS, &quot;Complete Certificate Request&quot; in the same place you generated the request. It may ask for a  .CER and you might have a .CRT. They are the same thing. Just change the extension or use the *.* extension drop-down to select your .CRT. Now provide a proper &quot;friendly name&quot; (*.yourdomain.com, yourdomain.com, foo.yourdomain.com, etc..) THIS IS IMPORTANT! This MUST match what you setup the CSR for and what your CA provided you. If you asked for a wildcard, your CA must have approved and generated a wildcard and you must use the same. If your CSR was generated for foo.yourdomain.com, you MUST provide the same at this step.&lt;br /&gt;
&lt;br /&gt;
Now select the PERSONAL store (No, not webhost). This will import your CRT in the personal store where it can be associated with the private key generated by IIS when it created the CSR. THIS IS WHERE ALL THE PROBLEMS COME FROM. This is what causes SO many headaches. The CRT you got from your CA and the KEY they gave you are useless here unless you do as others might suggest and go play around with other tools like openssl (which can work but why bother when you can do it the way IIS intended?)&lt;br /&gt;
&lt;br /&gt;
Now you should see your cert in the server certificates list and if you open it, you should see something like, &quot;You have a private key that corresponds to this certificate&quot;.&lt;br /&gt;
&lt;br /&gt;
Now if you can use the Export function (IIS 8 provides this in the same place as the &quot;request&quot; and &quot;complete request&quot; links) or use the Certificate MMC then navigate to the personal store and export from there to the PFX format. You need to provide a strong password to protect this file because it will have the entire certificate chain AND your private key. In other words, this PFX has the keys to the entire &quot;domain&quot; (speaking figuratively).&lt;br /&gt;
&lt;br /&gt;
Chances are that you don&#39;t even need the PFX now because you already have the certificate inside IIS but if you&#39;re using the centralized certificate store like I am, you do AND the file name is critical. For wildcard certs, the name MUST be _.yourdomain.com.pfx (assuming your request was for *.yourdomain.com). If you asked for www.somedomain.org, then the filename must be www.somedomain.org.pfx because this is how SNI and centralized SSL store will look for the right one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;In summary, the easy way to install an SSL cert into IIS:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Generate your CSR using IIS&lt;/li&gt;
&lt;li&gt;Provide that CSR to your CA&lt;/li&gt;
&lt;li&gt;&quot;Complete Request&quot; using the CER/CRT you get back from the CA&lt;/li&gt;
&lt;li&gt;[optional] Export to PFX and protect with a strong password&lt;/li&gt;
&lt;li&gt;Live long and encrypt&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;b&gt;Update (20191201)&lt;/b&gt;: Even today, I am using this post as I have to renew SSL for a stack that lives both on IIS and Node.js. Because of this, I also need the private key file so if you&#39;ve done step #4 above and need a .key also, the following might save you some googling. Be sure to protect your .key file when you do this though!&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
`&lt;span style=&quot;background-color: white; color: #172b4d; font-family: SFMono-Medium, &amp;quot;SF Mono&amp;quot;, &amp;quot;Segoe UI Mono&amp;quot;, &amp;quot;Roboto Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, Menlo, Courier, monospace; font-size: 14px;&quot;&gt;openssl pkcs12 -in exported.pfx -nocerts -out key.pem -nodes&lt;/span&gt;`&lt;/div&gt;
&lt;div&gt;
then&lt;/div&gt;
&lt;div&gt;
`&lt;span style=&quot;background-color: white; color: #172b4d; font-family: SFMono-Medium, &amp;quot;SF Mono&amp;quot;, &amp;quot;Segoe UI Mono&amp;quot;, &amp;quot;Roboto Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, Menlo, Courier, monospace; font-size: 14px;&quot;&gt;openssl rsa -in key.pem -out server.key&lt;/span&gt;`&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Now you you can use server.key and the cer/crt you were provided.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.rainabba.me/feeds/411600304800197252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.rainabba.me/2014/03/ssl-certs-for-iis-with-pfx-once-and-for.html#comment-form' title='17 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/411600304800197252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/411600304800197252'/><link rel='alternate' type='text/html' href='http://blog.rainabba.me/2014/03/ssl-certs-for-iis-with-pfx-once-and-for.html' title='SSL Certs for IIS with PFX once and for all - SSL and IIS Explained'/><author><name>rainabba</name><uri>http://www.blogger.com/profile/14064142359598390121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>17</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8237010798052417466.post-2240398013213801522</id><published>2014-03-04T11:33:00.001-07:00</published><updated>2014-03-04T12:05:22.803-07:00</updated><title type='text'>My first experience with VMware vCHS - Part 2 - vCloud Connector</title><content type='html'>&lt;b&gt;This is the 2nd in a vCHS series. You can find the previous entry &lt;a href=&quot;http://goo.gl/KSO4p1&quot;&gt;HERE&lt;/a&gt;.&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;h2&gt;OnPrem - vCloud Connector (general label for a collection of systems and configuration)&lt;/h2&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
If you don&#39;t know what vCloud is or about the vConnector, right now all you need to know is that you can&#39;t do actual migrations (it creates vApp templates from powered down VMs) and the only other thing is really useful for are stretch migrations (a vShield networking trick that are only useful in some very rare situations.&lt;br /&gt;
&lt;br /&gt;
VCC does NOT allow you to use the vSphere client to manage vCHS any more than you can do on the web (for the most part, it just gives you a window to the web interface and does some back-end management that you can also initiate from the web).&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;vCloud Connector Server - Provided as a zip containing an OVF that can be easily added to any host onPrem. Once you&#39;ve installed, visit https://assignedip:5480/ (port 5480 is a theme so learn it). Once you&#39;ve configured networking, set the time-zone and changed the password, contine to the Node which is the same process.&lt;/li&gt;
&lt;li&gt;vCloud Connector Node- Provided as a zip containing an OVF that can be easily added to any host onPrem. Once you&#39;ve installed, visit https://assignedip:5480/&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Once you&#39;ve installed the node and done the same basic config (IP/Time-zone/Password), you need to go to the Node/Cloud menu and register your vCenter to the node (the node manages vCenter and the VCCS manages the node).&lt;/li&gt;
&lt;li&gt;Next you can go back to the VCCS and &quot;register the node&quot;.&lt;/li&gt;
&lt;li&gt;Now we want to register the vCHS node to your VCCS.&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;This is what allows you to use your vCenter to manage onPrem and vCHS together (and any other nodes you register). This is where I hit some frustrating resistance.&lt;/li&gt;
&lt;li&gt;To register vCHS node you need the Node URL (given to me in my onboarding email), VCD Org Name (not given to me and I had to deduce that it was provided in vCHS vCloud Director. It is the unique ID at the very top of the page, next to the navigation arrows. For me it was MXXXXXXX-XXX. You also need a username and password which you might think should be the same you log into the vCHS portal with but it apparently is not.&lt;/li&gt;
&lt;li&gt;After a few failed attempts, I was able to navigate to the vCloud Director, My Cloud, Logs, Events and see the failed attempts. Despite multiple emails and a phone call to vCHS support, I presently do not have the credentials I need so I&#39;m stuck with the connector for now. More to come.....&lt;/li&gt;
&lt;li&gt;UPDATE: After speaking with vCHS support, it sounds like my credentials are out of sync in one of their DBs and I was doing everything right. Now I wait for them to tell me it&#39;s fixed.&lt;/li&gt;
&lt;li&gt;The solution came fairly quickly (less than 2 hours) and I had my vCHS node registered with VCCS.&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;div&gt;
If you have questions, please feel free to ask in comments. This was someone brief but it&#39;s because once it&#39;s working, it&#39;s really very straight-forward until/unless you try a stretch deploy (which I haven&#39;t).&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Next will be an entry on vCHS networking.&lt;/b&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.rainabba.me/feeds/2240398013213801522/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.rainabba.me/2014/03/my-first-experience-with-vmware-vchs_4.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/2240398013213801522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/2240398013213801522'/><link rel='alternate' type='text/html' href='http://blog.rainabba.me/2014/03/my-first-experience-with-vmware-vchs_4.html' title='My first experience with VMware vCHS - Part 2 - vCloud Connector'/><author><name>rainabba</name><uri>http://www.blogger.com/profile/14064142359598390121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8237010798052417466.post-8121008434621182078</id><published>2014-03-04T11:09:00.000-07:00</published><updated>2014-03-04T11:52:03.505-07:00</updated><title type='text'>My first experience with VMware vCHS - Part 1 - Setup and IPSEC</title><content type='html'>&lt;div style=&quot;background-color: rgba(175,175,175,.2); padding: 10px;&quot;&gt;
&lt;h2&gt;Prologue to vCHS Migration&lt;/h2&gt;
&lt;br /&gt;
I&#39;ve decided to do a few articles regarding my migration to VMware vCHS (cloud hosting) solution and this is the 1st in the series.&lt;br /&gt;
&lt;br /&gt;
I&#39;ve had a few significant technical issues but the support has been as good as I can imagine. Last night I even met up with the specialty sales-rep assigned to my account and we spent nearly 3 hours talking over dinner about things in general and my project. VMware is not only doing more than I could hope to get me up and running but they&#39;re also looking at how they can help me through their &quot;success stories&quot; to help promote our business in a mutually beneficial manner which is wonderful because after 10 years of seeing 20%+ growth per year, we&#39;re likely going to explode this year leaving those gains in the dust and any help they provide will only strengthen our growth.&lt;br /&gt;
&lt;br /&gt;
By the way, the &quot;Customer Success Team&quot; isn&#39;t a hollow catch-phrase. It reminds me of my experience as a consumer with American Express. They JUMP every time I need help. We have scheduled 2 hours calls (that we 3 hours) where they literally sat on the phone with me to walk through issues and wait for me to learn and question them AND did it with a wonderful attitude (sincerely eager to help).&lt;br /&gt;
&lt;br /&gt;
In summary, the migration has been rough, but when do they go smooth? That said, I can&#39;t imagine a better infrastructure than they&#39;re giving me and their support is the best I&#39;ve seen for any product/service anywhere save perhaps for high-end auto purchase experiences I&#39;ve had.&lt;br /&gt;
&lt;br /&gt;
I would HIGHLY recommend vCHS to anyone that needs a rock-solid, highly flexible hosting solution that covers everything from end-end.&lt;br /&gt;
&lt;br /&gt;
At the moment we have 3 units of the VPS solution (they have dedicated and shared, VPS is the shared solution) which includes 15GHz dedicated CPU (you really can&#39;t talk cores or speed with the way they work), 30Ghz Burst, 60GB Ram (dedicated) and 2TB of SAN storage that is SSD cached and I&#39;m constantly seeing 150MB-250MB/s with &amp;lt;2ms latency and my SQL Server is running as fast as it was locally with dual-quad xeons on a 8-disk RAID 10 over 15kSAS drives.&lt;/div&gt;
&lt;br /&gt;
&lt;h2&gt;My first experience with VMware vCHS - Part1 - Setup and IPSEC&lt;/h2&gt;
&lt;br /&gt;
My present hosting provider hasn&#39;t been a pleasant experience. I seem to have some bad luck this way. My last experience was with RackSpace who has very good service in so many ways, but I found out the hard way that their security is severely lacking and when they make a mistake that cost me $10,000&#39;s, they had NO interest in taking responsibility and I&#39;m not big on law suits so I dealt with the months (almost years) of heartache, moved on and tried Central Host (the hosting division of 8x8 which has since been bought up by Black Lotus.&lt;br /&gt;
&lt;br /&gt;
My experience with 8x8 was a nightmare and I&#39;m still feeling the pain as Black Lotus does their best to clean up the data center I&#39;m in. They&#39;ve also made amazing efforts to make things right with me but I&#39;ll leave that for my other blog. In the end, they offered me an incredible deal (~$2,000/mo for dedicated virtual hosts, 6-core HT, 3.5Ghz Xeon CPUs, 32GB ram, 2TB SATA RAID with 200GB SSD caching, 24 IPS and each of 2 hosts were at different data-centers) but they use App-Assure (Xen and/or Kvm) and I&#39;m a Vmware guy interested in uptime and performance more than raw performance and didn&#39;t want to learn new systems either. VCenter is amazing and I know how to keep my business running with it so I went with vCHS. I also appreciate the way vCHS scales compared to typical virtual hosting solutions. I don&#39;t have to worry about &quot;hosts&quot;.&lt;br /&gt;
&lt;br /&gt;
The way the actual provisioning went was very straight forward. I got an email once the contract was signed and they told me provisioning had started. Once provisioning was done, I got an email with vCloud login and password setup links. I set my password, logged in, and headed over to the edge network configuration interface in the vCloud Director portal (the things they haven&#39;t made more simple and put into the vCHS portal and accessed through a full-blow vCloud Director instance which I prefer anyway not having really taken to the vSphere Web interface as it is).&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Since I use pfSense (presently 2.1 and everything below assumes that) at all my other data-centers, I did a quick search and ended up using&amp;nbsp;&lt;a href=&quot;http://goo.gl/gnLZF0&quot;&gt;THIS&lt;/a&gt;&amp;nbsp;guide as a reference to catch the nuances of their IPSec implementation (main/aggressive, which encryption he got working, etc..)&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
From there I went to my only gateway, edge gateway services, enabled VPN, setup the public IP, then added my tunnel (they combine phase 1 and phase 2 into a single UI). I quickly found that they use main and not aggressive which I should have caught from the tutorial I found. This is where I had my first issue. vCloud directory gateway status shows &quot;System Alerts&quot; with a red icon that was clickable and I wanted to see what it had to say so I clicked it and watched the entire UI refresh. I tried this a few times before giving up. I&#39;m guessing it&#39;s a popup blocker issue at this point but since the directory comes up in a new window with no address bar and uses Flash (grr, WHY would they do that with such a new system???!!!) so there was no way to tell quickly and so I gave up there and went back to pfSense logs to see how things are going.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
As so often is the case when doing IPSEC between pfSense and anything other than pfSense, I had to figure out what IPSEC standards they use. Here&#39;s what I found and I hope it saves someone some time. It&#39;s taken me years to get to a point where this doesn&#39;t become an all-night project:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
If you know what you&#39;re doing and want to skim the settings, just know that even though vCHS asks for &quot;Peer ID&quot;, it only supports Main mode which only supports IPs are IDs so Peer ID MUST be the remote gateway IP. This stinks for those of us trying to use more advanced methods to get around dynamic IPs. Really, &quot;Peer ID&quot; should read &quot;Peer IP&quot; and the only reason you have to provide both it AND &quot;Peer IP&quot; (which should read &quot;Peer Gateway IP&quot;) is because they do support NAT-T.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Once I realized my mistake with the Peer ID, I had to delete the entry and create a new one then got an error about &quot;Configuring Edge Gateway Services&quot;. I refreshed and it disappeared so I figured it was a fluke until I was seeing the same errors about IDs and when I check vCHS, the settings were back to the first entry so I deleted and tried again tripple-checking using the settings below and THEN I got a connection (I already had phase 2 setup. See below Phase 1 for settings). Once everything was working, my IPSec log had only 3 entries before a full connection (since there were so few options or advanced features being used).&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Phase 1&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Main Mode&lt;/li&gt;
&lt;li&gt;Name: &lt;b&gt;Anything descriptive you like&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Description: &lt;b&gt;More descriptive stuff you like&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Enable this VPN: &lt;b&gt;checked &lt;/b&gt;(default)&lt;/li&gt;
&lt;li&gt;Establish VPN to: &lt;b&gt;&quot;a remote network&quot;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Local Endpoint: &lt;b&gt;(predefined external IP endpoint at the vCHS end)&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Local ID: &lt;b&gt;The vCHS public IP assigned to the local endpoint&lt;/b&gt; (pfsense: Remote Gateway and Peer identifier)&lt;/li&gt;
&lt;li&gt;Peer ID: &lt;b&gt;The IP of the remote gateway&lt;/b&gt; (pfsense: My identifier, My IP Address)&lt;/li&gt;
&lt;li&gt;Peer IP: &lt;b&gt;The IP of the remote gateway&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Encryption protocol: &lt;b&gt;AES-256&lt;/b&gt; (pfsense: same for Phase 1 Encryption algorithm)&lt;/li&gt;
&lt;li&gt;pfsense-Hash: &lt;b&gt;SHA1&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;pfsense-DH Key Group: &lt;b&gt;2 (1024 bit)&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;pfsense-Lifetime: &lt;b&gt;28800&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;pfsense-Nat-T: &lt;b&gt;Disable &lt;/b&gt;(if you need it, enable and update the Local ID on vCHS accordingly)&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;b&gt;Phase 2 (pfsense)&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Mode: &lt;b&gt;Tunner IPv4&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Local Network: &lt;b&gt;Lan subnet&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Remote Network: &lt;b&gt;CIDR format for remote subnet&lt;/b&gt;&amp;nbsp;(ex. 192.168.110.0/24)&lt;/li&gt;
&lt;li&gt;Protocol: &lt;b&gt;ESP&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Encryption: &lt;b&gt;AES 256&lt;/b&gt; (they only appear to support AES at this time)&lt;/li&gt;
&lt;li&gt;Hash: &lt;b&gt;SHA1&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;PDF key group: &lt;b&gt;2 (1024bit)&lt;/b&gt; (they support off also)&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.rainabba.me/feeds/8121008434621182078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.rainabba.me/2014/03/my-first-experience-with-vmware-vchs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/8121008434621182078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/8121008434621182078'/><link rel='alternate' type='text/html' href='http://blog.rainabba.me/2014/03/my-first-experience-with-vmware-vchs.html' title='My first experience with VMware vCHS - Part 1 - Setup and IPSEC'/><author><name>rainabba</name><uri>http://www.blogger.com/profile/14064142359598390121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8237010798052417466.post-4554023280085283519</id><published>2014-02-28T10:12:00.001-07:00</published><updated>2014-02-28T10:12:28.239-07:00</updated><title type='text'>Adventures in Node.js - Using NPM on Windows</title><content type='html'>The following still needs to be more carefully verified but I&#39;m making this public now to help someone and hopefully do just that....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We&#39;ll call this installment #2 of &quot;Adventures in Node.js&quot; even though my &lt;b&gt;&lt;u&gt;&lt;a href=&quot;http://goo.gl/pYMQr3&quot; target=&quot;_blank&quot;&gt;previous Node entry&lt;/a&gt;&lt;/u&gt;&lt;/b&gt; didn&#39;t have this in mind.&lt;br /&gt;
&lt;br /&gt;
I&#39;m short on time today so I can&#39;t elaborate so much but in short:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;One time on your machine:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Install Python 2.7 and add the python.exe folder location to your PATH environment variable.&lt;/li&gt;
&lt;li&gt;Either 1 or 2 depending on your setup:&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;If you don&#39;t have Visual Studio 2008 installed (which provides vcbuild.exe):&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;install the Windows SDK (to provide vcbuild.exe). Good reference at https://github.com/TooTallNate/node-gyp/wiki/Visual-Studio-2010-Setup then ensure that the path to vcbuild.exe is in your PATH environment variable&lt;/li&gt;
&lt;li&gt;npm install -g socket.io --msvs_version=2012&lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt;If you DO have VS installed, run the following to setup your environment properly:&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;Add the path to vcbuild.exe to your PATH environment variable then run the following&lt;/li&gt;
&lt;li&gt;npm install -g node-gyp&lt;/li&gt;
&lt;li&gt;node-gyp configure --msvs_version=2012&lt;/li&gt;
&lt;li&gt;node-gyp build&lt;/li&gt;
&lt;li&gt;npm install -g socket.io --msvs_version=2012&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;b&gt;Once for your project:&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;npm install&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
Now your project should be ready for you to use npm in general. My purpose today was to check out grunt, grunt-cli and grunt-devtools thanks to recommendations from Paul Irish both at Google I/O 2013 and a couple weeks ago at the Chrome Dev Summit.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Now that I have npm working it was as simple as (from &lt;a href=&quot;http://gruntjs.com/getting-started#preparing-a-new-grunt-project&quot;&gt;http://gruntjs.com/getting-started#preparing-a-new-grunt-project&lt;/a&gt;):&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;npm install -g grunt-cli&lt;/li&gt;
&lt;li&gt;npm install grunt --save-dev&lt;/li&gt;
&lt;li&gt;npm install grunt-devtools&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
Next I try to setup and use &lt;a href=&quot;https://plus.google.com/113127438179392830442/posts/buNcN6HiBZ9&quot; target=&quot;_blank&quot;&gt;Yeoman&lt;/a&gt; (another framework he suggested that relies on Grunt).&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.rainabba.me/feeds/4554023280085283519/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.rainabba.me/2014/02/adventures-in-nodejs-using-npm-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/4554023280085283519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/4554023280085283519'/><link rel='alternate' type='text/html' href='http://blog.rainabba.me/2014/02/adventures-in-nodejs-using-npm-on.html' title='Adventures in Node.js - Using NPM on Windows'/><author><name>rainabba</name><uri>http://www.blogger.com/profile/14064142359598390121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8237010798052417466.post-6049891669785515299</id><published>2014-02-25T16:18:00.002-07:00</published><updated>2014-02-25T16:18:28.426-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="attorneys"/><category scheme="http://www.blogger.com/atom/ns#" term="courts"/><category scheme="http://www.blogger.com/atom/ns#" term="freeamerica"/><category scheme="http://www.blogger.com/atom/ns#" term="judges"/><category scheme="http://www.blogger.com/atom/ns#" term="jurors"/><category scheme="http://www.blogger.com/atom/ns#" term="jury"/><category scheme="http://www.blogger.com/atom/ns#" term="juryduty"/><category scheme="http://www.blogger.com/atom/ns#" term="jurynullification"/><category scheme="http://www.blogger.com/atom/ns#" term="justice"/><category scheme="http://www.blogger.com/atom/ns#" term="lawyers"/><category scheme="http://www.blogger.com/atom/ns#" term="legal"/><category scheme="http://www.blogger.com/atom/ns#" term="managegovernment"/><title type='text'>How We Can Begin to Fix the Government and Your Responsibility and Right as a Juror</title><content type='html'>&lt;b&gt;One way we have to begin to get our government back in check 100% legally, without any violence&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
WARNING: If you continue reading, you will likely ruin your ability to serve on any jury that is well managed OR you will forfeit your ability to use this knowledge without being guilty of perjury. This is no joke and you better research this yourself because I&#39;m not responsible for your actions, your interpretation of this information, or any consequences. On the other hand, it is YOUR RESPONSIBILITY as an American to know this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;YOU WERE WARNED&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Scroll down to read....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pushed down so you must scroll to read and won&#39;t be exposed without that effort......&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Jury Nullification*: Ultimately, it&#39;s the jurors RIGHT and RESPONSIBILITY to make a guilty judgement not ONLY based on the facts and law, but ALSO on what you think is right; thereby judging the law itself as well as the &quot;crime&quot;. It is a mechanism very intentionally built into the core of our legal system.&lt;br /&gt;
&lt;br /&gt;
This is not my interpretation either, this is our founding forefathers design:&lt;br /&gt;
&lt;br /&gt;
John Adams wrote, “_It is not only the juror’s right, but his duty to find the verdict according to his own best understanding, judgment and conscience, though in direct opposition to the instruction of the court._”&lt;br /&gt;
&lt;br /&gt;
Thomas Jefferson wrote, “_I consider trial by jury as the only anchor yet imagined by man by which a government can be held to the principles of its constitution._”&lt;br /&gt;
&lt;br /&gt;
This video and the following link help explain but beware because jury selection includes questions worded very carefully to eliminate people who understand their full responsibility and power as a juror and those questions are typically worded in a way that if you use jury nullification, you will likely find yourself guilty of perjury. This is because the people who run the legal system as as susceptible to this power as criminals and your ignorance of it gives them tyrannical power. As long as they can keep you off a jury, they can manipulate the legal system rather than have it manipulated by the people who should be doing so, &quot;THE PEOPLE&quot;.&lt;br /&gt;
&lt;br /&gt;
The only real way to address this abuse is spread the knowledge so far that they cannot reasonably assemble an otherwise fair jury without allowing jurors who know their full responsibilities and rights as a juror.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.youtube.com/embed/mxYUr6CNopQ?feature=player_embedded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.rainabba.me/feeds/6049891669785515299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.rainabba.me/2014/02/how-we-can-begin-to-fix-government-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/6049891669785515299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/6049891669785515299'/><link rel='alternate' type='text/html' href='http://blog.rainabba.me/2014/02/how-we-can-begin-to-fix-government-and.html' title='How We Can Begin to Fix the Government and Your Responsibility and Right as a Juror'/><author><name>rainabba</name><uri>http://www.blogger.com/profile/14064142359598390121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8237010798052417466.post-7910322915147218891</id><published>2014-02-11T21:52:00.001-07:00</published><updated>2014-02-11T21:52:38.870-07:00</updated><title type='text'>How to KILL Performance in Chrome 34 dev channel with one CSS rule</title><content type='html'>I just accidentally discovered a sure-fire way to KILL performance in Chrome 34 dev. I mean, going from a decent 30-60 fps to 0.25-1 fps.&lt;br /&gt;&lt;br /&gt;See link below for sample code.&lt;br /&gt;&lt;br /&gt;On a page with a good number of input elements (like a management dashboard I&#39;m working with), apply &quot;&lt;b&gt;border: dotted 1px rgba(200, 200, 200, 0.9)&lt;/b&gt;;&quot; to input elements. It&#39;s the combination of the&amp;nbsp;&lt;b&gt;INPUT&lt;/b&gt;, element, &lt;b&gt;border-style:dotted&lt;/b&gt;&amp;nbsp;and &lt;b&gt;border-color:rgb&lt;u&gt;a&lt;/u&gt;()&lt;/b&gt;. Remove the dotted (use solid) or remove the alpha channel and use rgb() instead and performance returns.&lt;br /&gt;&lt;br /&gt;Even after the page is fully rendered and I scroll a few times, which causes things to smooth out a bit, dev-tools is rendered useless.&lt;br /&gt;&lt;br /&gt;A sample page can be found here: &lt;a href=&quot;https://github.com/rainabba/miscCode/blob/master/Chrome34KillPerfUsingInputs&quot;&gt;https://github.com/rainabba/miscCode/blob/master/Chrome34KillPerfUsingInputs&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.rainabba.me/feeds/7910322915147218891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.rainabba.me/2014/02/how-to-kill-performance-in-chrome-34.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/7910322915147218891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/7910322915147218891'/><link rel='alternate' type='text/html' href='http://blog.rainabba.me/2014/02/how-to-kill-performance-in-chrome-34.html' title='How to KILL Performance in Chrome 34 dev channel with one CSS rule'/><author><name>rainabba</name><uri>http://www.blogger.com/profile/14064142359598390121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8237010798052417466.post-6376615168778565192</id><published>2014-01-30T18:09:00.000-07:00</published><updated>2014-01-30T19:58:10.213-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ar"/><category scheme="http://www.blogger.com/atom/ns#" term="augmented reality"/><category scheme="http://www.blogger.com/atom/ns#" term="augmentedreality"/><category scheme="http://www.blogger.com/atom/ns#" term="googleglass"/><category scheme="http://www.blogger.com/atom/ns#" term="meta"/><category scheme="http://www.blogger.com/atom/ns#" term="metaview"/><category scheme="http://www.blogger.com/atom/ns#" term="spaceglasses"/><title type='text'>Glass is NOT Augmented Reality and you Should Stop Comparing it to AR</title><content type='html'>First, let me say that I AM a Glass explorer and I&#39;m also KickStarter backer #1 for Meta. I&#39;ve also been working with just about every stereoscopic tech you can think of over the last 15 years (I&#39;m a backer for Oculus Rift, was using LCD Shutter Glasses back in &#39;97, used to DRAW stereoscopic images by hand as a child, wrote my own &quot;Magic Eye&quot; app in DOS 6 using qbasic at the age of 15, etc...)&lt;br /&gt;
&lt;br /&gt;
I feel like I&#39;ve been talking to walls the last year but here it is said better than I have been able to word it so far. The &lt;b&gt;CEO&lt;/b&gt; of &lt;a href=&quot;https://www.spaceglasses.com/&quot;&gt;Meta (SpaceGlases, Meta-View)&lt;/a&gt; Meron Gribetz, the man that hired &lt;a href=&quot;http://goo.gl/0VRhGW&quot;&gt;Steve Mann&lt;/a&gt; (a top authority on wearable computing) and &lt;a href=&quot;http://goo.gl/tJpSXm&quot;&gt;Steven Feiner&lt;/a&gt; (credited with coining the term augmented reality), says in very simple terms that Glass is not AR so don&#39;t take my word for it. To understand how much of an authority Meta is on AR, make sure you know who &lt;a href=&quot;http://goo.gl/0VRhGW&quot;&gt;Steve Mann&lt;/a&gt; and &lt;a href=&quot;http://goo.gl/tJpSXm&quot;&gt;Steven Feiner&lt;/a&gt; are and then understand that the CTO for Meta has been working with Mann for more than 10 years.&lt;br /&gt;
&lt;br /&gt;
&quot;&lt;i&gt;The 3D output allows you of course allows you to paint graphics on regions of interest in the real world; *&lt;b&gt;TRUE&lt;/b&gt;* augmented reality&lt;/i&gt;&quot;&lt;br /&gt;
&lt;br /&gt;
&quot;&lt;i&gt;The modern definition of augmented reality; the ability to take digital information and register it to parts of the real world&lt;/i&gt;.&quot;&lt;br /&gt;
&lt;br /&gt;
&quot;&lt;i&gt;Glass is a Notification Machine&lt;/i&gt;&quot;&lt;br /&gt;
&lt;br /&gt;
Glass is a HUD which can be manipulated to provide some VERY BASIC AR-LIKE behavior. That doesn&#39;t make it AR any more than a the Nintendo Virtual Boy was VR. That&#39;s not to call Glass inferior in any way. Glass just wasn&#39;t intended for AR applications. Eventually technology will get to a point where a real AR display like Meta will be useful for something like Glass (lightweight, unobtrusive, wireless, decent battery life; everything Meta is trying to improve right now but falls far short in compared to Glass). With its present design, Glass will never be real AR; no stereoscopy, no direct fov, no 3D tracking, almost nothing that would allow it to convincingly &quot;augment reality&quot; any more than your smartphone currently can. If you&#39;re going to call Glass an AR device, then so is ANY smartphone with a camera on the back of a screen. If anything, your phone is MORE appropriate for AR than Glass.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;a href=&quot;http://goo.gl/hSeogT&quot;&gt;Here is the video where I pulled those quotes from&lt;/a&gt;.&lt;/b&gt;&lt;/div&gt;
&lt;br /&gt;
This is the man who will bring AR mainstream and who presently employs the two TOP authorities on AR. He validates what I&#39;ve been saying since Glass was released. I hate to even mention Glass and AR in the same topic because I don&#39;t want to perpetuate the confusion but to clarify, I must do so.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Clarification&lt;/u&gt;&lt;/b&gt;: Based on a question just posed to me elsewhere, I came up with the following clarification.&lt;br /&gt;
&lt;br /&gt;
The reason I&#39;d more readily call a smartphone AR hardware is because of the fact that you can move the display in your line of sight and it will then (in general) have a camera pointed where your eyes do. Glass intentionally places the display above and to the side of your primary visions so immediately it cannot be in your direct field of view. It does have a camera facing forward with a huge FOV though so the display can be aligned with the camera. It might be a fine distinction, but that&#39;s why I say that it&#39;s isn&#39;t AR but has AR-like ability. You could call a car a bus because it can carry many passengers, but it&#39;s still not a bus, it&#39;s a car and the difference might seem insignificant, but only until you need a bus (something that does what the name implies). Furthermore, to &quot;augment reality&quot;, you must have some reasonably level of belief that your reality has been augmented. As the Oculus Rift has proven, just putting a display in front of you does not accomplish this. Certain things like stereoscopic vision and latency are FAR more important than just having a display. A phone has a larger, higher resolution display that can easily take up a large portion of your primary FOV which is critical to AR. Add an auto-stereoscopic display (EVO 3D or Nintendo 3ds), and you&#39;d also gain stereoscopic vision and with that, be much close to what AR needs to &quot;augment reality&quot; as opposed to just superimposing images into space. Glass has an interesting phenomenon where the display size is entirely dependant on what you see behind it. Because no stereoscopic cues are provided, the only way to make it even remotely believable is perfect scaling of the virtual image of the real one, something next to impossible with only the one camera. The Evo 3D has 2 cameras and so would be that much closer STILL to being a useful AR device but it falls far short in one way that Glass doesn&#39;t (not entirely anyway) and that is keeping your hands free so you can interact with reality. A major difference between superimposing graphics and AR is the fact that you not only could believe at some level that your reality has been augmented (not just projected over), but that you can still interact with your reality. That rules out the &quot;phone as AR hardware&quot; idea. So to sum it up, AR must make your reality appear to have changed (not just a projection) and you must be able to interact with that augmented reality. The primary difference between VR and AR is the fact that VR disconnects you from reality. Even with various hand-sensors, VR wouldn&#39;t be AR. Similarly, a HMD (head mounted display, like Glass and similar devices) will never be AR. The only real common thread is a see-through, head mounted display (HMD).</content><link rel='replies' type='application/atom+xml' href='http://blog.rainabba.me/feeds/6376615168778565192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.rainabba.me/2014/01/glass-is-not-augmented-reality-and-you.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/6376615168778565192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/6376615168778565192'/><link rel='alternate' type='text/html' href='http://blog.rainabba.me/2014/01/glass-is-not-augmented-reality-and-you.html' title='Glass is NOT Augmented Reality and you Should Stop Comparing it to AR'/><author><name>rainabba</name><uri>http://www.blogger.com/profile/14064142359598390121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8237010798052417466.post-7733531984070215281</id><published>2013-12-14T09:31:00.001-07:00</published><updated>2013-12-14T09:31:57.368-07:00</updated><title type='text'>Chrome Dev Tools - Code Collapsing / Folding in Source Editor On Its Way!</title><content type='html'>I should be able to highlight some code or act on an entire file by hitting a keyboard shortcut (I&#39;m accustomed to Ctrl-M, Ctrl-M to collapse/expand a selected chunk) and have that code visually collapse to just the definition/signature line and a + show up on the left side of the IDE which I could click to re-expand that collapsed piece of code. Ideally, collapsing would also work anywhere there are mandatory closing symbols on a separate like (such as each/while/do/if/else/etc...)&lt;br /&gt;
&lt;br /&gt;
What went wrong? The behavior just doesn&#39;t exist as of right now that I can find.
&lt;br /&gt;
&lt;br /&gt;
Did this work before? No
&lt;br /&gt;
&lt;br /&gt;
How to solve the issue? Ask the Chrome Dev Team to implement it via the bug submitted below :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The value of this behavior is evident when you consider how often it appears elsewhere even in Chrome (any collapsable treeview demonstrates this). Elements tab does it, all the tabs in the right-pane of Elements (Styles, Computed, Event Listeners, etc..) also do it. Nearly every major IDE does it (Netbeans, VIM, Eclipse, Visual Studio, etc..)
&lt;br /&gt;
&lt;br /&gt;
This is extremely valuable to me when working with larger code files to the extent that I&#39;m still using other IDEs instead of DevTools when working with larger or more complex files.
&lt;br /&gt;
&lt;br /&gt;
If you&#39;re not familiar with this behavior somehow,&amp;nbsp;&lt;a href=&quot;http://vimeo.com/4020903&quot; rel=&quot;nofollow&quot;&gt;&lt;b&gt;http://vimeo.com/4020903&lt;/b&gt;&lt;/a&gt;&amp;nbsp;does a great job at showing the behavior, some potentially configurable options and perhaps a pattern to emulate since it&#39;s VIM and oss.&lt;br /&gt;
&lt;br /&gt;
If you like the idea, go vote (not sure if it matters now, but it can&#39;t hurt) by clicking the star at the top left of the bug report below.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://code.google.com/p/chromium/issues/detail?id=328431&quot;&gt;&lt;b&gt;https://code.google.com/p/chromium/issues/detail?id=328431&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.rainabba.me/feeds/7733531984070215281/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.rainabba.me/2013/12/chrome-dev-tools-code-collapsing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/7733531984070215281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/7733531984070215281'/><link rel='alternate' type='text/html' href='http://blog.rainabba.me/2013/12/chrome-dev-tools-code-collapsing.html' title='Chrome Dev Tools - Code Collapsing / Folding in Source Editor On Its Way!'/><author><name>rainabba</name><uri>http://www.blogger.com/profile/14064142359598390121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8237010798052417466.post-1491545170633876136</id><published>2013-12-13T19:31:00.001-07:00</published><updated>2013-12-13T19:31:38.193-07:00</updated><title type='text'>Another from Tony - How Babies Are [NOT] Made</title><content type='html'>&lt;div style=&quot;text-align: center;&quot;&gt;
Wish I&#39;d have thought of this with both my children. Priceless!&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;How Babies are Made - Who Knew&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Canadian photographer Patrice Laroche surely will have no trouble explaining to his kids about the birds and the bees.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
During his wife Sandra’s pregnancy, the artist created this hilarious explanatory photo series titled “How to Make a Baby”...&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
The creative couple planned and carried out their project throughout the whole period of 9 months, taking pictures in the exact same settings as Sandra’s belly expanded.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
The pregnancy saga of Sandra and Patrice basically denounces all the traditional cabbage and the stork stories.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN0TE24FNgz4w3Vk1UrKcIcbt5u9uK8dfhqYC6nOuUN7npDqWoP1Ncb5I0pYNAfLeUUAYPLukex50p2ybq638H0S7-bnB8kT9CWj7lCCJNpK4G0GGO7twR8G3Iqwn6GX_cnuunbUF90lI/s1600/image001.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN0TE24FNgz4w3Vk1UrKcIcbt5u9uK8dfhqYC6nOuUN7npDqWoP1Ncb5I0pYNAfLeUUAYPLukex50p2ybq638H0S7-bnB8kT9CWj7lCCJNpK4G0GGO7twR8G3Iqwn6GX_cnuunbUF90lI/s1600/image001.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEickXo0gj1Q0jGuwV-XMcJBqupqZe44oIJ7ZpLe5xj8f7QxeQB-ATrYFqkT5MdmzBLC_PaFKwFzg2bVky8OHAJJvkC5EqejN0l65H5NqlhpLKyWhy0I24nBZh_0enw98EyrvLvanChC8dA/s1600/image002.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEickXo0gj1Q0jGuwV-XMcJBqupqZe44oIJ7ZpLe5xj8f7QxeQB-ATrYFqkT5MdmzBLC_PaFKwFzg2bVky8OHAJJvkC5EqejN0l65H5NqlhpLKyWhy0I24nBZh_0enw98EyrvLvanChC8dA/s1600/image002.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSz4Fjq6hsp6u-wD_oAG9Wib0aW0JgfVc42F3YdT-2RCwMXRibUVlzKbf7JFrN3ZaLocY5t-H8MVkz0GVr9g80y_1pJGayC8U91QwbEe68fA4r_5gl28OAoKr5UibzHY3DfnpMOAuIQ4k/s1600/image003.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSz4Fjq6hsp6u-wD_oAG9Wib0aW0JgfVc42F3YdT-2RCwMXRibUVlzKbf7JFrN3ZaLocY5t-H8MVkz0GVr9g80y_1pJGayC8U91QwbEe68fA4r_5gl28OAoKr5UibzHY3DfnpMOAuIQ4k/s1600/image003.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-ifgBQAKYnHYki6DG1lkTXTbjjOqh8HSWYWW5VhNXJAc9GNi4XQNM3N9JvBA-lowxDBecVyB7CxMjda8wxnrKFsvItC5ICjGxxlmr3Nvb21SDkYy4g1HGnNuHjEMxTIuOkHXEjlnqdEU/s1600/image004.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-ifgBQAKYnHYki6DG1lkTXTbjjOqh8HSWYWW5VhNXJAc9GNi4XQNM3N9JvBA-lowxDBecVyB7CxMjda8wxnrKFsvItC5ICjGxxlmr3Nvb21SDkYy4g1HGnNuHjEMxTIuOkHXEjlnqdEU/s1600/image004.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisH7VesBKrgaNAm745hTjNpX3jtxGC1GtdBTU9LWXDKzLeEr8xAkdXXGIZx46UjPqN8049whYclOXTUanoJfqpStpwD2BGR9bxOf6vf9cpbXX3ZfLxPKWqYD77VOkY4UxofaRX_ksnji0/s1600/image005.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisH7VesBKrgaNAm745hTjNpX3jtxGC1GtdBTU9LWXDKzLeEr8xAkdXXGIZx46UjPqN8049whYclOXTUanoJfqpStpwD2BGR9bxOf6vf9cpbXX3ZfLxPKWqYD77VOkY4UxofaRX_ksnji0/s1600/image005.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0AovFt7Ywej8Ujijol7eN5BHm_MU1Hwm7gR2wlccWXkcRTKuwYTP3Vqk0jSM11Urcj49Codf1_l8thftc5PWzvJQ41DVRKtH-PYIlUmFJ5CBa72kQX5qgXsNzQLslVElWWlWZ8f-v69A/s1600/image006.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0AovFt7Ywej8Ujijol7eN5BHm_MU1Hwm7gR2wlccWXkcRTKuwYTP3Vqk0jSM11Urcj49Codf1_l8thftc5PWzvJQ41DVRKtH-PYIlUmFJ5CBa72kQX5qgXsNzQLslVElWWlWZ8f-v69A/s1600/image006.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhanjuYtYcU1zjIntpHdNQX4hw_225bUSKz5rn9SialSa17f9Bceuy6ey5rSEJbQPzM7BcYieOj7oZXUFKYiX_ENeKin_3_n5OgFrZNM1DYBGXCWf1On2-6ch6pg_227Jj1g-QY6uD0lyQ/s1600/image007.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhanjuYtYcU1zjIntpHdNQX4hw_225bUSKz5rn9SialSa17f9Bceuy6ey5rSEJbQPzM7BcYieOj7oZXUFKYiX_ENeKin_3_n5OgFrZNM1DYBGXCWf1On2-6ch6pg_227Jj1g-QY6uD0lyQ/s1600/image007.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Now how could I not have shared this with you -?&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Go ahead, smile, and enjoy your day!!&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqtn3i9S3KFPtnx7kHflU3pZZDrEYyrjh50-VBE_RWxxuoOl5B0iyjmyukfS6KS6Y5O9kmXV60YiYb0k8QaEPM2pkWFHVFJd78zBMHKMjTvXOtGg_cJa-V-z3tZ59E6uEla6Shj1Vs7zA/s1600/TonyD.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqtn3i9S3KFPtnx7kHflU3pZZDrEYyrjh50-VBE_RWxxuoOl5B0iyjmyukfS6KS6Y5O9kmXV60YiYb0k8QaEPM2pkWFHVFJd78zBMHKMjTvXOtGg_cJa-V-z3tZ59E6uEla6Shj1Vs7zA/s1600/TonyD.gif&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
Courtesy of TonyD (He&#39;ll be blogging directly soon)&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.rainabba.me/feeds/1491545170633876136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.rainabba.me/2013/12/another-from-tony-how-babies-are-not.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/1491545170633876136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8237010798052417466/posts/default/1491545170633876136'/><link rel='alternate' type='text/html' href='http://blog.rainabba.me/2013/12/another-from-tony-how-babies-are-not.html' title='Another from Tony - How Babies Are [NOT] Made'/><author><name>rainabba</name><uri>http://www.blogger.com/profile/14064142359598390121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN0TE24FNgz4w3Vk1UrKcIcbt5u9uK8dfhqYC6nOuUN7npDqWoP1Ncb5I0pYNAfLeUUAYPLukex50p2ybq638H0S7-bnB8kT9CWj7lCCJNpK4G0GGO7twR8G3Iqwn6GX_cnuunbUF90lI/s72-c/image001.jpg" height="72" width="72"/><thr:total>0</thr:total></entry></feed>