<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>147039</bug_id>
          
          <creation_ts>2015-07-17 08:17:20 -0700</creation_ts>
          <short_desc>REGRESSION(r184376): [SOUP] Multiple assertions when downloading files</short_desc>
          <delta_ts>2015-07-20 23:19:47 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Michael Catanzaro">mcatanzaro</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1110131</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-07-17 08:17:20 -0700</bug_when>
    <thetext>With my debug build of r186919, the network process crashes when I download any file:

ASSERTION FAILED: !m_adoptionIsRequired
../../Source/WTF/wtf/RefCounted.h(45) : void WTF::RefCountedBase::ref()

My semi-random test file is http://cdimage.debian.org/debian-cd/8.1.0/amd64/iso-dvd/debian-8.1.0-amd64-DVD-1.iso

Backtrace incoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110132</commentid>
    <comment_count>1</comment_count>
      <attachid>256971</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-07-17 08:22:54 -0700</bug_when>
    <thetext>Created attachment 256971
Backtrace</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110828</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-07-20 17:07:09 -0700</bug_when>
    <thetext>&lt;MagicSchoolBus&gt;Carrrrlos!&lt;/MagicSchoolBus&gt;

You have to either adopt the ref before assigning to the RefPtr:

    // We don&apos;t adopt the ref, as it will be released by cleanupSoupRequestOperation, which should always run.
    RefPtr&lt;ResourceHandle&gt; newHandle = new ResourceHandle(d-&gt;m_context.get(), firstRequest(), nullptr, d-&gt;m_defersLoading, d-&gt;m_shouldContentSniff);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110846</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-07-20 17:36:18 -0700</bug_when>
    <thetext>Insufficient patch:

diff --git a/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp b/Sourc
e/WebCore/platform/network/soup/ResourceHandleSoup.cpp
index ea692d6..d407dcc 100644
--- a/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp
+++ b/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp
@@ -1036,14 +1036,15 @@ bool ResourceHandle::start()
 RefPtr&lt;ResourceHandle&gt; ResourceHandle::releaseForDownload(ResourceHandleClient*
 downloadClient)
 {
     // We don&apos;t adopt the ref, as it will be released by cleanupSoupRequestOperation, which should always run.
-    RefPtr&lt;ResourceHandle&gt; newHandle = new ResourceHandle(d-&gt;m_context.get(), firstRequest(), nullptr, d-&gt;m_defersLoading, d-&gt;m_shouldContentSniff);
+    ResourceHandle* newHandle = new ResourceHandle(d-&gt;m_context.get(), firstRequest(), nullptr, d-&gt;m_defersLoading, d-&gt;m_shouldContentSniff);
+    newHandle-&gt;relaxAdoptionRequirement();
     std::swap(d, newHandle-&gt;d);
 
     g_signal_handlers_disconnect_matched(newHandle-&gt;d-&gt;m_soupMessage.get(), G_SIGNAL_MATCH_DATA, 0, 0, nullptr, nullptr, this);
-    g_object_set_data(G_OBJECT(newHandle-&gt;d-&gt;m_soupMessage.get()), &quot;handle&quot;, newHandle.get());
+    g_object_set_data(G_OBJECT(newHandle-&gt;d-&gt;m_soupMessage.get()), &quot;handle&quot;, newHandle);
 
     newHandle-&gt;d-&gt;m_client = downloadClient;
-    continueAfterDidReceiveResponse(newHandle.get());
+    continueAfterDidReceiveResponse(newHandle);
 
     return newHandle;
 }

That doesn&apos;t change the refcount so it should be good. But it&apos;s insufficient because that&apos;s not the only bug when downloading files; the next one is:

ASSERTION FAILED: client()
../../Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp(1377) : virtual void WebCore::ResourceHandle::continueDidReceiveResponse()

Truncated backtrace is:

1   0x7f7500255df0 /home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18(WTFCrash+0x20) [0x7f7500255df0]
2   0x7f750607ca29 /home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN7WebCore14ResourceHandle26continueDidReceiveResponseEv+0x49) [0x7f750607ca29]
3   0x7f75046df82b /home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN6WebKit29NetworkConnectionToWebProcess33convertMainResourceLoadToDownloadEmmRKN7WebCore15ResourceRequestERKNS1_16ResourceResponseE+0xbb) [0x7f75046df82b]
4   0x7f750489fdf0 /home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN3IPC22callMemberFunctionImplIN6WebKit29NetworkConnectionToWebProcessEMS2_FvmmRKN7WebCore15ResourceRequestERKNS3_16ResourceResponseEESt5tupleIJmmS4_S7_EEJLm0ELm1ELm2ELm3EEEEvPT_T0_OT1_St14index_sequenceIJXspT2_EEE+0xf0) [0x7f750489fdf0]
5   0x7f750489fbbc /home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN3IPC18callMemberFunctionIN6WebKit29NetworkConnectionToWebProcessEMS2_FvmmRKN7WebCore15ResourceRequestERKNS3_16ResourceResponseEESt5tupleIJmmS4_S7_EESt19make_index_sequenceILm4EEEEvOT1_PT_T0_+0x6c) [0x7f750489fbbc]
6   0x7f7504898b90 /home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN3IPC13handleMessageIN8Messages29NetworkConnectionToWebProcess33ConvertMainResourceLoadToDownloadEN6WebKit29NetworkConnectionToWebProcessEMS5_FvmmRKN7WebCore15ResourceRequestERKNS6_16ResourceResponseEEEEvRNS_14MessageDecoderEPT0_T1_+0x140) [0x7f7504898b90]
7   0x7f7504897b92 /home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN6WebKit29NetworkConnectionToWebProcess46didReceiveNetworkConnectionToWebProcessMessageERN3IPC10ConnectionERNS1_14MessageDecoderE+0x302) [0x7f7504897b92]
8   0x7f75046ded1e /home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN6WebKit29NetworkConnectionToWebProcess17didReceiveMessageERN3IPC10ConnectionERNS1_14MessageDecoderE+0x6e) [0x7f75046ded1e]
9   0x7f750424b4f3 /home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN3IPC10Connection15dispatchMessageERNS_14MessageDecoderE+0x33) [0x7f750424b4f3]
10  0x7f7504246477 /home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN3IPC10Connection15dispatchMessageESt10unique_ptrINS_14MessageDecoderESt14default_deleteIS2_EE+0xc7) [0x7f7504246477]
11  0x7f750424b61f /home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN3IPC10Connection18dispatchOneMessageEv+0x11f) [0x7f750424b61f]
12  0x7f750424b95d /home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(+0x36f895d) [0x7f750424b95d]
13  0x7f750424b72d /home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(+0x36f872d) [0x7f750424b72d]
14  0x7f75041b637e /home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZNKSt8functionIFvvEEclEv+0x3e) [0x7f75041b637e]
15  0x7f750688803a /home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN3WTF7RunLoop11performWorkEv+0x13a) [0x7f750688803a]
16  0x7f750688e14d /home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(+0x5d3b14d) [0x7f750688e14d]
17  0x7f750688df1d /home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(+0x5d3af1d) [0x7f750688df1d]
18  0x7f75041b637e /home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZNKSt8functionIFvvEEclEv+0x3e) [0x7f75041b637e]
19  0x7f75002b4519 /home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18(_ZN3WTF15GMainLoopSource12voidCallbackEv+0xa9) [0x7f75002b4519]
20  0x7f75002b2106 /home/mcatanzaro/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18(_ZN3WTF15GMainLoopSource18voidSourceCallbackEPS0_+0x16) [0x7f75002b2106]
21  0x7f74fc507471 /home/mcatanzaro/jhbuild/install/lib/libglib-2.0.so.0(+0x56471) [0x7f74fc507471]
22  0x7f74fc504ab9 /home/mcatanzaro/jhbuild/install/lib/libglib-2.0.so.0(+0x53ab9) [0x7f74fc504ab9]
23  0x7f74fc5058fd /home/mcatanzaro/jhbuild/install/lib/libglib-2.0.so.0(g_main_context_dispatch+0x33) [0x7f74fc5058fd]
24  0x7f74fc505ae1 /home/mcatanzaro/jhbuild/install/lib/libglib-2.0.so.0(+0x54ae1) [0x7f74fc505ae1]
25  0x7f74fc505f07 /home/mcatanzaro/jhbuild/install/lib/libglib-2.0.so.0(g_main_loop_run+0x1d5) [0x7f74fc505f07]
26  0x7f750688d47d /home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN3WTF7RunLoop3runEv+0xbd) [0x7f750688d47d]
27  0x7f750474ad2d /home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN6WebKit16ChildProcessMainINS_14NetworkProcessENS_18NetworkProcessMainEEEiiPPc+0xfd) [0x7f750474ad2d]
28  0x7f750474ab7b /home/mcatanzaro/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(NetworkProcessMainUnix+0x1b) [0x7f750474ab7b]
29  0x400c39 /home/mcatanzaro/jhbuild/install/libexec/webkit2gtk-4.0/WebKitNetworkProcess(main+0x49) [0x400c39]
30  0x7f74f5c1a790 /lib64/libc.so.6(__libc_start_main+0xf0) [0x7f74f5c1a790]
31  0x400b19 /home/mcatanzaro/jhbuild/install/libexec/webkit2gtk-4.0/WebKitNetworkProcess(_start+0x29) [0x400b19]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110848</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-07-20 17:39:11 -0700</bug_when>
    <thetext>ResourceHandle::continueAfterDidReceiveResponse is clearly prepared to handle the case of a missing client, so I think the assertions in ResourceHandle::ContinueDidReceiveResponse are wrong. Same for ResourceHandle::continueAfterWillSendRequest and ResourceHandle::continueWillSendRequest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110857</commentid>
    <comment_count>5</comment_count>
      <attachid>257153</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-07-20 18:11:09 -0700</bug_when>
    <thetext>Created attachment 257153
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110902</commentid>
    <comment_count>6</comment_count>
      <attachid>257153</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-20 23:19:43 -0700</bug_when>
    <thetext>Comment on attachment 257153
Patch

Clearing flags on attachment: 257153

Committed r187101: &lt;http://trac.webkit.org/changeset/187101&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1110903</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-20 23:19:47 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>256971</attachid>
            <date>2015-07-17 08:22:54 -0700</date>
            <delta_ts>2015-07-17 08:22:54 -0700</delta_ts>
            <desc>Backtrace</desc>
            <filename>gdb.txt</filename>
            <type>text/plain</type>
            <size>59656</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">ClRocmVhZCAxMyAoVGhyZWFkIDB4N2ZhZmRlN2ZhNzAwIChMV1AgMTkzMzUpKToKIzAgIDB4MDAw
MDdmYjA0MGMwZGM3ZCBpbiBuYW5vc2xlZXAgKCkgYXQgLi4vc3lzZGVwcy91bml4L3N5c2NhbGwt
dGVtcGxhdGUuUzo4MQpObyBsb2NhbHMuCiMxICAweDAwMDA3ZmIwNDI5YTE4ZTQgaW4gc3RkOjp0
aGlzX3RocmVhZDo6c2xlZXBfZm9yPGxvbmcsIHN0ZDo6cmF0aW88MWwsIDEwMDBsPiA+IChfX3J0
aW1lPS4uLikKICAgIGF0IC91c3IvYmluLy4uL2xpYi9nY2MveDg2XzY0LXJlZGhhdC1saW51eC81
LjEuMS8uLi8uLi8uLi8uLi9pbmNsdWRlL2MrKy81LjEuMS90aHJlYWQ6MjkyCiAgICAgICAgX19z
ID0ge19fciA9IDB9CiAgICAgICAgX19ucyA9IHtfX3IgPSA1MTIwMDAwMDB9CiAgICAgICAgX190
cyA9IHt0dl9zZWMgPSAwLCB0dl9uc2VjID0gNTEyMDAwMDAwfQojMiAgMHgwMDAwN2ZiMDQyOTlh
ZmFiIGluIGJtYWxsb2M6OnNsZWVwIChsb2NrPS4uLiwgZHVyYXRpb249Li4uKQogICAgYXQgLi4v
Li4vU291cmNlL2JtYWxsb2MvYm1hbGxvYy9TdGF0aWNNdXRleC5oOjY0Ck5vIGxvY2Fscy4KIzMg
IDB4MDAwMDdmYjA0Mjk5YWQ2ZCBpbiBibWFsbG9jOjp3YWl0VW50aWxGYWxzZSAobG9jaz0uLi4s
IAogICAgc2xlZXBEdXJhdGlvbj0uLi4sIGNvbmRpdGlvbj1AMHg3ZmIwNDMwMmQ3Zjg6IHRydWUp
CiAgICBhdCAuLi8uLi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1N0YXRpY011dGV4Lmg6NzQKTm8g
bG9jYWxzLgojNCAgMHgwMDAwN2ZiMDQyOTlhY2M5IGluIGJtYWxsb2M6OkhlYXA6OnNjYXZlbmdl
ICgKICAgIHRoaXM9MHg3ZmIwNDMwMmI2ODggPGJtYWxsb2M6OlBlclByb2Nlc3M8Ym1hbGxvYzo6
SGVhcD46OnNfbWVtb3J5PiwgCiAgICBsb2NrPS4uLiwgc2xlZXBEdXJhdGlvbj0uLi4pIGF0IC4u
Ly4uL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvSGVhcC5jcHA6ODkKTm8gbG9jYWxzLgojNSAgMHgw
MDAwN2ZiMDQyOTlhOGUwIGluIGJtYWxsb2M6OkhlYXA6OmNvbmN1cnJlbnRTY2F2ZW5nZSAoCiAg
ICB0aGlzPTB4N2ZiMDQzMDJiNjg4IDxibWFsbG9jOjpQZXJQcm9jZXNzPGJtYWxsb2M6OkhlYXA+
OjpzX21lbW9yeT4pCiAgICBhdCAuLi8uLi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0hlYXAuY3Bw
Ojg0CiAgICAgICAgbG9jayA9IHsKICAgICAgICAgIF9NX2RldmljZSA9IDB4N2ZiMDQzMDJiNjdj
IDxibWFsbG9jOjpQZXJQcm9jZXNzPGJtYWxsb2M6OkhlYXA+OjpzX211dGV4PiwgX01fb3ducyA9
IGZhbHNlfQojNiAgMHgwMDAwN2ZiMDQyOTllNzMyIGluIGJtYWxsb2M6OkFzeW5jVGFzazxibWFs
bG9jOjpIZWFwLCB2b2lkIChibWFsbG9jOjpIZWFwOjoqKSgpPjo6ZW50cnlQb2ludCAoCiAgICB0
aGlzPTB4N2ZiMDQzMDJkYTU4IDxibWFsbG9jOjpQZXJQcm9jZXNzPGJtYWxsb2M6OkhlYXA+Ojpz
X21lbW9yeSs5MTY4PikKICAgIGF0IC4uLy4uL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQXN5bmNU
YXNrLmg6MTMxCiAgICAgICAgZXhwZWN0ZWRTdGF0ZSA9IGJtYWxsb2M6OkFzeW5jVGFzazxibWFs
bG9jOjpIZWFwLCB2b2lkIChibWFsbG9jOjpIZWFwOjoqKSgpPjo6U2lnbmFsZWQKIzcgIDB4MDAw
MDdmYjA0Mjk5ZTY3NSBpbiBibWFsbG9jOjpBc3luY1Rhc2s8Ym1hbGxvYzo6SGVhcCwgdm9pZCAo
Ym1hbGxvYzo6SGVhcDo6KikoKT46OnB0aHJlYWRFbnRyeVBvaW50ICgKICAgIGFzeW5jVGFzaz0w
eDdmYjA0MzAyZGE1OCA8Ym1hbGxvYzo6UGVyUHJvY2VzczxibWFsbG9jOjpIZWFwPjo6c19tZW1v
cnkrOTE2OD4pIGF0IC4uLy4uL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQXN5bmNUYXNrLmg6MTIx
Ck5vIGxvY2Fscy4KIzggIDB4MDAwMDdmYjA0MGMwNTU1NSBpbiBzdGFydF90aHJlYWQgKGFyZz0w
eDdmYWZkZTdmYTcwMCkKICAgIGF0IHB0aHJlYWRfY3JlYXRlLmM6MzMzCiAgICAgICAgX19yZXMg
PSA8b3B0aW1pemVkIG91dD4KICAgICAgICBwZCA9IDB4N2ZhZmRlN2ZhNzAwCiAgICAgICAgbm93
ID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgdW53aW5kX2J1ZiA9IHtjYW5jZWxfam1wX2J1ZiA9
IHt7am1wX2J1ZiA9IHsxNDAzOTMzMjg5MTIxMjgsIAogICAgICAgICAgICAgICAgLTg3ODAwNDk0
NTkxMTYwNzc5ODAsIDE0MDM5MzM0NTY5MjUxMSwgMTQwMzkzMzI4OTEyMTI4LCAKICAgICAgICAg
ICAgICAgIDgzODg2MDgsIDgzODg2MDgsIDg3NTMxMDE1MjU1MjM3OTUwNDQsIDg3Mzg4MTA3MDcx
MTk0NzU4MTJ9LCAKICAgICAgICAgICAgICBtYXNrX3dhc19zYXZlZCA9IDB9fSwgcHJpdiA9IHtw
YWQgPSB7MHgwLCAweDAsIDB4MCwgMHgwfSwgCiAgICAgICAgICAgIGRhdGEgPSB7cHJldiA9IDB4
MCwgY2xlYW51cCA9IDB4MCwgY2FuY2VsdHlwZSA9IDB9fX0KICAgICAgICBub3RfZmlyc3RfY2Fs
bCA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIHBhZ2VzaXplX20xID0gPG9wdGltaXplZCBvdXQ+
CiAgICAgICAgc3AgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBmcmVlc2l6ZSA9IDxvcHRpbWl6
ZWQgb3V0PgojOSAgMHgwMDAwN2ZiMDM4NWZmZjNkIGluIGNsb25lICgpCiAgICBhdCAuLi9zeXNk
ZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvY2xvbmUuUzoxMDkKTm8gbG9jYWxzLgoKVGhyZWFk
IDEyIChUaHJlYWQgMHg3ZmIwMjVmZmQ3MDAgKExXUCAxOTMzNikpOgojMCAgc3lzY2FsbCAoKSBh
dCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvc3lzY2FsbC5TOjM4Ck5vIGxvY2Fs
cy4KIzEgIDB4MDAwMDdmYjAzZWMzMjBmOCBpbiBnX2NvbmRfd2FpdF91bnRpbCAoY29uZD0weDkx
ZDY2OCwgbXV0ZXg9MHg5MWQ2NjAsIAogICAgZW5kX3RpbWU9Njg4NDgwOTg2NSkgYXQgZ3RocmVh
ZC1wb3NpeC5jOjE0NDQKICAgICAgICBub3cgPSB7dHZfc2VjID0gNjg4NCwgdHZfbnNlYyA9IDMw
OTg2NTMzOX0KICAgICAgICBzcGFuID0ge3R2X3NlYyA9IDAsIHR2X25zZWMgPSA0OTk5OTk2NjF9
CiAgICAgICAgc2FtcGxlZCA9IDEKICAgICAgICByZXMgPSA5NTU3NjI0CiMyICAweDAwMDA3ZmIw
M2ViYThlMzYgaW4gZ19hc3luY19xdWV1ZV9wb3BfaW50ZXJuX3VubG9ja2VkIChxdWV1ZT0weDkx
ZDY2MCwgCiAgICB3YWl0PTEsIGVuZF90aW1lPTY4ODQ4MDk4NjUpIGF0IGdhc3luY3F1ZXVlLmM6
NDIyCiAgICAgICAgcmV0dmFsID0gMHgzZjcwYmFiMAogICAgICAgIF9fZnVuY19fID0gImdfYXN5
bmNfcXVldWVfcG9wX2ludGVybl91bmxvY2tlZCIKIzMgIDB4MDAwMDdmYjAzZWJhOTBjMSBpbiBn
X2FzeW5jX3F1ZXVlX3RpbWVvdXRfcG9wX3VubG9ja2VkIChxdWV1ZT0weDkxZDY2MCwgCiAgICB0
aW1lb3V0PTUwMDAwMCkgYXQgZ2FzeW5jcXVldWUuYzo1NzAKICAgICAgICBlbmRfdGltZSA9IDY4
ODQ4MDk4NjUKIzQgIDB4MDAwMDdmYjAzZWMwYzEyMiBpbiBnX3RocmVhZF9wb29sX3dhaXRfZm9y
X25ld190YXNrIChwb29sPTB4OTFkNjAwKQogICAgYXQgZ3RocmVhZHBvb2wuYzoyNjIKICAgICAg
ICB0YXNrID0gMHgwCiM1ICAweDAwMDA3ZmIwM2VjMGMxNWMgaW4gZ190aHJlYWRfcG9vbF90aHJl
YWRfcHJveHkgKGRhdGE9MHg5MWQ2MDApCiAgICBhdCBndGhyZWFkcG9vbC5jOjI5NgogICAgICAg
IHRhc2sgPSAweDdmYjAyMDAwMzZmMAogICAgICAgIHBvb2wgPSAweDkxZDYwMAojNiAgMHgwMDAw
N2ZiMDNlYzBiYmNlIGluIGdfdGhyZWFkX3Byb3h5IChkYXRhPTB4OGZhZDQwKSBhdCBndGhyZWFk
LmM6NzY0CiAgICAgICAgdGhyZWFkID0gMHg4ZmFkNDAKICAgICAgICBfX2Z1bmNfXyA9ICJnX3Ro
cmVhZF9wcm94eSIKIzcgIDB4MDAwMDdmYjA0MGMwNTU1NSBpbiBzdGFydF90aHJlYWQgKGFyZz0w
eDdmYjAyNWZmZDcwMCkKICAgIGF0IHB0aHJlYWRfY3JlYXRlLmM6MzMzCiAgICAgICAgX19yZXMg
PSA8b3B0aW1pemVkIG91dD4KICAgICAgICBwZCA9IDB4N2ZiMDI1ZmZkNzAwCiAgICAgICAgbm93
ID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgdW53aW5kX2J1ZiA9IHtjYW5jZWxfam1wX2J1ZiA9
IHt7am1wX2J1ZiA9IHsxNDAzOTQ1Mjg0OTUzNjAsIAogICAgICAgICAgICAgICAgLTg3ODAwNDk0
NTkxMTYwNzc5ODAsIDE0MDcyOTQ4OTQxNTY3OSwgMTQwMzk0NTI4NDk1MzYwLCAKICAgICAgICAg
ICAgICAgIDgzODg2MDgsIDgzODg2MDgsIDg3Mzg4NzA1NDgxMzYxMDMwMTIsIDg3Mzg4MTA3MDcx
MTk0NzU4MTJ9LCAKICAgICAgICAgICAgICBtYXNrX3dhc19zYXZlZCA9IDB9fSwgcHJpdiA9IHtw
YWQgPSB7MHgwLCAweDAsIDB4MCwgMHgwfSwgCiAgICAgICAgICAgIGRhdGEgPSB7cHJldiA9IDB4
MCwgY2xlYW51cCA9IDB4MCwgY2FuY2VsdHlwZSA9IDB9fX0KICAgICAgICBub3RfZmlyc3RfY2Fs
bCA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIHBhZ2VzaXplX20xID0gPG9wdGltaXplZCBvdXQ+
CiAgICAgICAgc3AgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBmcmVlc2l6ZSA9IDxvcHRpbWl6
ZWQgb3V0PgojOCAgMHgwMDAwN2ZiMDM4NWZmZjNkIGluIGNsb25lICgpCiAgICBhdCAuLi9zeXNk
ZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvY2xvbmUuUzoxMDkKTm8gbG9jYWxzLgoKVGhyZWFk
IDExIChUaHJlYWQgMHg3ZmIwMzAwMjg3MDAgKExXUCAxOTAyNSkpOgojMCAgMHgwMDAwN2ZiMDM4
NWY0NjZkIGluIHBvbGwgKCkgYXQgLi4vc3lzZGVwcy91bml4L3N5c2NhbGwtdGVtcGxhdGUuUzo4
MQpObyBsb2NhbHMuCiMxICAweDAwMDA3ZmIwM2ViZWYxNDcgaW4gZ19wb2xsIChmZHM9MHg3ZmIw
MjgwMDA4ZTAsIG5mZHM9MiwgdGltZW91dD0tMSkKICAgIGF0IGdwb2xsLmM6MTI0Ck5vIGxvY2Fs
cy4KIzIgIDB4MDAwMDdmYjAzZWJkZTEyMyBpbiBnX21haW5fY29udGV4dF9wb2xsIChjb250ZXh0
PTB4OTFlNzQwLCB0aW1lb3V0PS0xLCAKICAgIHByaW9yaXR5PTIxNDc0ODM2NDcsIGZkcz0weDdm
YjAyODAwMDhlMCwgbl9mZHM9MikgYXQgZ21haW4uYzo0MTAzCiAgICAgICAgcG9sbF9mdW5jID0g
MHg3ZmIwM2ViZWYxMjAgPGdfcG9sbD4KIzMgIDB4MDAwMDdmYjAzZWJkZGFiNiBpbiBnX21haW5f
Y29udGV4dF9pdGVyYXRlIChjb250ZXh0PTB4OTFlNzQwLCBibG9jaz0xLCAKICAgIGRpc3BhdGNo
PTEsIHNlbGY9MHg4ZmFjYTApIGF0IGdtYWluLmM6MzgwMwogICAgICAgIG1heF9wcmlvcml0eSA9
IDIxNDc0ODM2NDcKICAgICAgICB0aW1lb3V0ID0gLTEKICAgICAgICBzb21lX3JlYWR5ID0gMzI2
ODgKICAgICAgICBuZmRzID0gMgogICAgICAgIGFsbG9jYXRlZF9uZmRzID0gMgogICAgICAgIGZk
cyA9IDB4N2ZiMDI4MDAwOGUwCiM0ICAweDAwMDA3ZmIwM2ViZGRiYTUgaW4gZ19tYWluX2NvbnRl
eHRfaXRlcmF0aW9uIChjb250ZXh0PTB4OTFlNzQwLCAKICAgIG1heV9ibG9jaz0xKSBhdCBnbWFp
bi5jOjM4NjkKICAgICAgICByZXR2YWwgPSAwCiM1ICAweDAwMDA3ZmIwM2ViZGY3MzkgaW4gZ2xp
Yl93b3JrZXJfbWFpbiAoZGF0YT0weDApIGF0IGdtYWluLmM6NTYyMgpObyBsb2NhbHMuCiM2ICAw
eDAwMDA3ZmIwM2VjMGJiY2UgaW4gZ190aHJlYWRfcHJveHkgKGRhdGE9MHg4ZmFjYTApIGF0IGd0
aHJlYWQuYzo3NjQKICAgICAgICB0aHJlYWQgPSAweDhmYWNhMAogICAgICAgIF9fZnVuY19fID0g
ImdfdGhyZWFkX3Byb3h5IgojNyAgMHgwMDAwN2ZiMDQwYzA1NTU1IGluIHN0YXJ0X3RocmVhZCAo
YXJnPTB4N2ZiMDMwMDI4NzAwKQogICAgYXQgcHRocmVhZF9jcmVhdGUuYzozMzMKICAgICAgICBf
X3JlcyA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIHBkID0gMHg3ZmIwMzAwMjg3MDAKICAgICAg
ICBub3cgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICB1bndpbmRfYnVmID0ge2NhbmNlbF9qbXBf
YnVmID0ge3tqbXBfYnVmID0gezE0MDM5NDY5NjQ0MzY0OCwgCiAgICAgICAgICAgICAgICAtODc4
MDA0OTQ1OTExNjA3Nzk4MCwgMTQwNzI5NDg5NDEzMDM5LCAxNDAzOTQ2OTY0NDM2NDgsIAogICAg
ICAgICAgICAgICAgODM4ODYwOCwgMCwgODczODg0NzU1ODc4Njc4MDI2MCwgODczODgxMDcwNzEx
OTQ3NTgxMn0sIAogICAgICAgICAgICAgIG1hc2tfd2FzX3NhdmVkID0gMH19LCBwcml2ID0ge3Bh
ZCA9IHsweDAsIDB4MCwgMHgwLCAweDB9LCAKICAgICAgICAgICAgZGF0YSA9IHtwcmV2ID0gMHgw
LCBjbGVhbnVwID0gMHgwLCBjYW5jZWx0eXBlID0gMH19fQogICAgICAgIG5vdF9maXJzdF9jYWxs
ID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgcGFnZXNpemVfbTEgPSA8b3B0aW1pemVkIG91dD4K
ICAgICAgICBzcCA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIGZyZWVzaXplID0gPG9wdGltaXpl
ZCBvdXQ+CiM4ICAweDAwMDA3ZmIwMzg1ZmZmM2QgaW4gY2xvbmUgKCkKICAgIGF0IC4uL3N5c2Rl
cHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9jbG9uZS5TOjEwOQpObyBsb2NhbHMuCgpUaHJlYWQg
MTAgKFRocmVhZCAweDdmYjAyZjgyNzcwMCAoTFdQIDE5MDI2KSk6CiMwICAweDAwMDA3ZmIwMzg1
ZjQ2NmQgaW4gcG9sbCAoKSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzY2FsbC10ZW1wbGF0ZS5TOjgx
Ck5vIGxvY2Fscy4KIzEgIDB4MDAwMDdmYjAzZWJlZjE0NyBpbiBnX3BvbGwgKGZkcz0weDdmYjAy
MDAwMTBjMCwgbmZkcz0yLCB0aW1lb3V0PS0xKQogICAgYXQgZ3BvbGwuYzoxMjQKTm8gbG9jYWxz
LgojMiAgMHgwMDAwN2ZiMDNlYmRlMTIzIGluIGdfbWFpbl9jb250ZXh0X3BvbGwgKGNvbnRleHQ9
MHg5MWYwMDAsIHRpbWVvdXQ9LTEsIAogICAgcHJpb3JpdHk9MjE0NzQ4MzY0NywgZmRzPTB4N2Zi
MDIwMDAxMGMwLCBuX2Zkcz0yKSBhdCBnbWFpbi5jOjQxMDMKICAgICAgICBwb2xsX2Z1bmMgPSAw
eDdmYjAzZWJlZjEyMCA8Z19wb2xsPgojMyAgMHgwMDAwN2ZiMDNlYmRkYWI2IGluIGdfbWFpbl9j
b250ZXh0X2l0ZXJhdGUgKGNvbnRleHQ9MHg5MWYwMDAsIGJsb2NrPTEsIAogICAgZGlzcGF0Y2g9
MSwgc2VsZj0weDhmYWNmMCkgYXQgZ21haW4uYzozODAzCiAgICAgICAgbWF4X3ByaW9yaXR5ID0g
MjE0NzQ4MzY0NwogICAgICAgIHRpbWVvdXQgPSAtMQogICAgICAgIHNvbWVfcmVhZHkgPSAwCiAg
ICAgICAgbmZkcyA9IDIKICAgICAgICBhbGxvY2F0ZWRfbmZkcyA9IDIKICAgICAgICBmZHMgPSAw
eDdmYjAyMDAwMTBjMAojNCAgMHgwMDAwN2ZiMDNlYmRkZjA3IGluIGdfbWFpbl9sb29wX3J1biAo
bG9vcD0weDkxZWY5MCkgYXQgZ21haW4uYzo0MDAyCiAgICAgICAgc2VsZiA9IDB4OGZhY2YwCiAg
ICAgICAgX19mdW5jX18gPSAiZ19tYWluX2xvb3BfcnVuIgojNSAgMHgwMDAwN2ZiMDNmNDY2Y2Yz
IGluIGdkYnVzX3NoYXJlZF90aHJlYWRfZnVuYyAodXNlcl9kYXRhPTB4OTFlZmQwKQogICAgYXQg
Z2RidXNwcml2YXRlLmM6MjQ2CiAgICAgICAgZGF0YSA9IDB4OTFlZmQwCiM2ICAweDAwMDA3ZmIw
M2VjMGJiY2UgaW4gZ190aHJlYWRfcHJveHkgKGRhdGE9MHg4ZmFjZjApIGF0IGd0aHJlYWQuYzo3
NjQKICAgICAgICB0aHJlYWQgPSAweDhmYWNmMAogICAgICAgIF9fZnVuY19fID0gImdfdGhyZWFk
X3Byb3h5IgojNyAgMHgwMDAwN2ZiMDQwYzA1NTU1IGluIHN0YXJ0X3RocmVhZCAoYXJnPTB4N2Zi
MDJmODI3NzAwKQogICAgYXQgcHRocmVhZF9jcmVhdGUuYzozMzMKICAgICAgICBfX3JlcyA9IDxv
cHRpbWl6ZWQgb3V0PgogICAgICAgIHBkID0gMHg3ZmIwMmY4Mjc3MDAKICAgICAgICBub3cgPSA8
b3B0aW1pemVkIG91dD4KICAgICAgICB1bndpbmRfYnVmID0ge2NhbmNlbF9qbXBfYnVmID0ge3tq
bXBfYnVmID0gezE0MDM5NDY4ODA1MDk0NCwgCiAgICAgICAgICAgICAgICAtODc4MDA0OTQ1OTEx
NjA3Nzk4MCwgMTQwNzI5NDg5NDEzMzkxLCAxNDAzOTQ2ODgwNTA5NDQsIAogICAgICAgICAgICAg
ICAgODM4ODYwOCwgMCwgODczODg0ODY1Nzc2MTUzNzEyNCwgODczODgxMDcwNzExOTQ3NTgxMn0s
IAogICAgICAgICAgICAgIG1hc2tfd2FzX3NhdmVkID0gMH19LCBwcml2ID0ge3BhZCA9IHsweDAs
IDB4MCwgMHgwLCAweDB9LCAKICAgICAgICAgICAgZGF0YSA9IHtwcmV2ID0gMHgwLCBjbGVhbnVw
ID0gMHgwLCBjYW5jZWx0eXBlID0gMH19fQogICAgICAgIG5vdF9maXJzdF9jYWxsID0gPG9wdGlt
aXplZCBvdXQ+CiAgICAgICAgcGFnZXNpemVfbTEgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBz
cCA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIGZyZWVzaXplID0gPG9wdGltaXplZCBvdXQ+CiM4
ICAweDAwMDA3ZmIwMzg1ZmZmM2QgaW4gY2xvbmUgKCkKICAgIGF0IC4uL3N5c2RlcHMvdW5peC9z
eXN2L2xpbnV4L3g4Nl82NC9jbG9uZS5TOjEwOQpObyBsb2NhbHMuCgpUaHJlYWQgOSAoVGhyZWFk
IDB4N2ZiMDI2ZmZmNzAwIChMV1AgMTkwMjcpKToKIzAgIDB4MDAwMDdmYjAzODVmNDY2ZCBpbiBw
b2xsICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXNjYWxsLXRlbXBsYXRlLlM6ODEKTm8gbG9jYWxz
LgojMSAgMHgwMDAwN2ZiMDNlYmVmMTQ3IGluIGdfcG9sbCAoZmRzPTB4N2ZhZmQ4MDAxMGUwLCBu
ZmRzPTEsIHRpbWVvdXQ9LTEpCiAgICBhdCBncG9sbC5jOjEyNApObyBsb2NhbHMuCiMyICAweDAw
MDA3ZmIwM2ViZGUxMjMgaW4gZ19tYWluX2NvbnRleHRfcG9sbCAoY29udGV4dD0weGRjNjI4MCwg
dGltZW91dD0tMSwgCiAgICBwcmlvcml0eT0yMTQ3NDgzNjQ3LCBmZHM9MHg3ZmFmZDgwMDEwZTAs
IG5fZmRzPTEpIGF0IGdtYWluLmM6NDEwMwogICAgICAgIHBvbGxfZnVuYyA9IDB4N2ZiMDNlYmVm
MTIwIDxnX3BvbGw+CiMzICAweDAwMDA3ZmIwM2ViZGRhYjYgaW4gZ19tYWluX2NvbnRleHRfaXRl
cmF0ZSAoY29udGV4dD0weGRjNjI4MCwgYmxvY2s9MSwgCiAgICBkaXNwYXRjaD0xLCBzZWxmPTB4
ZDIwZTYwKSBhdCBnbWFpbi5jOjM4MDMKICAgICAgICBtYXhfcHJpb3JpdHkgPSAyMTQ3NDgzNjQ3
CiAgICAgICAgdGltZW91dCA9IC0xCiAgICAgICAgc29tZV9yZWFkeSA9IDAKICAgICAgICBuZmRz
ID0gMQogICAgICAgIGFsbG9jYXRlZF9uZmRzID0gMQogICAgICAgIGZkcyA9IDB4N2ZhZmQ4MDAx
MGUwCiM0ICAweDAwMDA3ZmIwM2ViZGRmMDcgaW4gZ19tYWluX2xvb3BfcnVuIChsb29wPTB4OTM0
YzQwKSBhdCBnbWFpbi5jOjQwMDIKICAgICAgICBzZWxmID0gMHhkMjBlNjAKICAgICAgICBfX2Z1
bmNfXyA9ICJnX21haW5fbG9vcF9ydW4iCiM1ICAweDAwMDA3ZmIwNDhmNDIzOGEgaW4gV1RGOjpX
b3JrUXVldWU6OnBsYXRmb3JtSW5pdGlhbGl6ZShjaGFyIGNvbnN0KiwgV1RGOjpXb3JrUXVldWU6
OlR5cGUsIFdURjo6V29ya1F1ZXVlOjpRT1MpOjokXzA6Om9wZXJhdG9yKCkoKSBjb25zdCAodGhp
cz0weDkzNGRlMCkKICAgIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL2dsaWIvV29ya1F1ZXVlR0xp
Yi5jcHA6NjEKTm8gbG9jYWxzLgojNiAgMHgwMDAwN2ZiMDQ4ZjQyMTNkIGluIHN0ZDo6X0Z1bmN0
aW9uX2hhbmRsZXI8dm9pZCAoKSwgV1RGOjpXb3JrUXVldWU6OnBsYXRmb3JtSW5pdGlhbGl6ZShj
aGFyIGNvbnN0KiwgV1RGOjpXb3JrUXVldWU6OlR5cGUsIFdURjo6V29ya1F1ZXVlOjpRT1MpOjok
XzA+OjpfTV9pbnZva2Uoc3RkOjpfQW55X2RhdGEgY29uc3QmKSAoX19mdW5jdG9yPS4uLikKICAg
IGF0IC91c3IvYmluLy4uL2xpYi9nY2MveDg2XzY0LXJlZGhhdC1saW51eC81LjEuMS8uLi8uLi8u
Li8uLi9pbmNsdWRlL2MrKy81LjEuMS9mdW5jdGlvbmFsOjE4NzEKTm8gbG9jYWxzLgojNyAgMHgw
MDAwN2ZiMDQ2ODdlMGZlIGluIHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT46Om9wZXJhdG9yKCkoKSBj
b25zdCAoCiAgICB0aGlzPTB4N2ZiMDI2ZmZlYmM4KQogICAgYXQgL3Vzci9iaW4vLi4vbGliL2dj
Yy94ODZfNjQtcmVkaGF0LWxpbnV4LzUuMS4xLy4uLy4uLy4uLy4uL2luY2x1ZGUvYysrLzUuMS4x
L2Z1bmN0aW9uYWw6MjI3MQpObyBsb2NhbHMuCiM4ICAweDAwMDA3ZmIwNDI5NGQ2ZDUgaW4gV1RG
Ojp0aHJlYWRFbnRyeVBvaW50IChjb250ZXh0RGF0YT0weDdmYjAyNzdmNDAwMCkKICAgIGF0IC4u
Ly4uL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHA6NTgKICAgICAgICBjb250ZXh0ID0gMHg3
ZmIwMjc3ZjQwMDAKICAgICAgICBlbnRyeVBvaW50ID0gezxzdGQ6Ol9NYXliZV91bmFyeV9vcl9i
aW5hcnlfZnVuY3Rpb248dm9pZD4+ID0gezxObyBkYXRhIGZpZWxkcz59LCA8c3RkOjpfRnVuY3Rp
b25fYmFzZT4gPSB7c3RhdGljIF9NX21heF9zaXplID0gMTYsIAogICAgICAgICAgICBzdGF0aWMg
X01fbWF4X2FsaWduID0gOCwgX01fZnVuY3RvciA9IHtfTV91bnVzZWQgPSB7CiAgICAgICAgICAg
ICAgICBfTV9vYmplY3QgPSAweDkzNGRlMCwgX01fY29uc3Rfb2JqZWN0ID0gMHg5MzRkZTAsIAog
ICAgICAgICAgICAgICAgX01fZnVuY3Rpb25fcG9pbnRlciA9IDB4OTM0ZGUwLCAKICAgICAgICAg
ICAgICAgIF9NX21lbWJlcl9wb2ludGVyID0gPGVycm9yIHJlYWRpbmcgdmFyaWFibGU+LCAKICAg
ICAgICAgICAgICBfTV9wb2RfZGF0YSA9ICJcMzQwTVwyMjNcMDAwXDAwMFwwMDBcMDAwXDAwMFwz
NjBcMzQxXDA3MSNcMzc2XDE3N1wwMDAifSwgCiAgICAgICAgICAgIF9NX21hbmFnZXIgPSAweDdm
YjA0OGY0MjE1MCA8c3RkOjpfRnVuY3Rpb25fYmFzZTo6X0Jhc2VfbWFuYWdlcjxXVEY6OldvcmtR
dWV1ZTo6cGxhdGZvcm1Jbml0aWFsaXplKGNoYXIgY29uc3QqLCBXVEY6OldvcmtRdWV1ZTo6VHlw
ZSwgV1RGOjpXb3JrUXVldWU6OlFPUyk6OiRfMD46Ol9NX21hbmFnZXIoc3RkOjpfQW55X2RhdGEm
LCBzdGQ6Ol9BbnlfZGF0YSBjb25zdCYsIHN0ZDo6X01hbmFnZXJfb3BlcmF0aW9uKT59LCAKICAg
ICAgICAgIF9NX2ludm9rZXIgPSAweDdmYjA0OGY0MjEyMCA8c3RkOjpfRnVuY3Rpb25faGFuZGxl
cjx2b2lkICgpLCBXVEY6OldvcmtRdWV1ZTo6cGxhdGZvcm1Jbml0aWFsaXplKGNoYXIgY29uc3Qq
LCBXVEY6OldvcmtRdWV1ZTo6VHlwZSwgV1RGOjpXb3JrUXVldWU6OlFPUyk6OiRfMD46Ol9NX2lu
dm9rZShzdGQ6Ol9BbnlfZGF0YSBjb25zdCYpPn0KIzkgIDB4MDAwMDdmYjA0Mjk4OTMyNyBpbiBX
VEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQgKHBhcmFtPTB4N2ZiMDI3N2ZiMDEwKQogICAgYXQgLi4v
Li4vU291cmNlL1dURi93dGYvVGhyZWFkaW5nUHRocmVhZHMuY3BwOjE3MAogICAgICAgIGludm9j
YXRpb24gPSBzdGQ6OnVuaXF1ZV9wdHI8V1RGOjpUaHJlYWRGdW5jdGlvbkludm9jYXRpb24+IGNv
bnRhaW5pbmcgMHg3ZmIwMjc3ZmIwMTAKIzEwIDB4MDAwMDdmYjA0MGMwNTU1NSBpbiBzdGFydF90
aHJlYWQgKGFyZz0weDdmYjAyNmZmZjcwMCkKICAgIGF0IHB0aHJlYWRfY3JlYXRlLmM6MzMzCiAg
ICAgICAgX19yZXMgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBwZCA9IDB4N2ZiMDI2ZmZmNzAw
CiAgICAgICAgbm93ID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgdW53aW5kX2J1ZiA9IHtjYW5j
ZWxfam1wX2J1ZiA9IHt7am1wX2J1ZiA9IHsxNDAzOTQ1NDUyODA3NjgsIAogICAgICAgICAgICAg
ICAgLTg3ODAwNDk0NTkxMTYwNzc5ODAsIDE0MDcyOTQ4OTQxNjE0MywgMTQwMzk0NTQ1MjgwNzY4
LCAKICAgICAgICAgICAgICAgIDgzODg2MDgsIDAsIDg3Mzg4NjgzNTAxODY1ODkyODQsIDg3Mzg4
MTA3MDcxMTk0NzU4MTJ9LCAKICAgICAgICAgICAgICBtYXNrX3dhc19zYXZlZCA9IDB9fSwgcHJp
diA9IHtwYWQgPSB7MHgwLCAweDAsIDB4MCwgMHgwfSwgCiAgICAgICAgICAgIGRhdGEgPSB7cHJl
diA9IDB4MCwgY2xlYW51cCA9IDB4MCwgY2FuY2VsdHlwZSA9IDB9fX0KICAgICAgICBub3RfZmly
c3RfY2FsbCA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIHBhZ2VzaXplX20xID0gPG9wdGltaXpl
ZCBvdXQ+CiAgICAgICAgc3AgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBmcmVlc2l6ZSA9IDxv
cHRpbWl6ZWQgb3V0PgojMTEgMHgwMDAwN2ZiMDM4NWZmZjNkIGluIGNsb25lICgpCiAgICBhdCAu
Li9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvY2xvbmUuUzoxMDkKTm8gbG9jYWxzLgoK
VGhyZWFkIDggKFRocmVhZCAweDdmYjAyNjdmZTcwMCAoTFdQIDE5MDI4KSk6CiMwICAweDAwMDA3
ZmIwMzg1ZjQ2NmQgaW4gcG9sbCAoKSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzY2FsbC10ZW1wbGF0
ZS5TOjgxCk5vIGxvY2Fscy4KIzEgIDB4MDAwMDdmYjAzZWJlZjE0NyBpbiBnX3BvbGwgKGZkcz0w
eDdmYWZkMDAwMTBlMCwgbmZkcz0yLCB0aW1lb3V0PS0xKQogICAgYXQgZ3BvbGwuYzoxMjQKTm8g
bG9jYWxzLgojMiAgMHgwMDAwN2ZiMDNlYmRlMTIzIGluIGdfbWFpbl9jb250ZXh0X3BvbGwgKGNv
bnRleHQ9MHhkNTkwYTAsIHRpbWVvdXQ9LTEsIAogICAgcHJpb3JpdHk9MjE0NzQ4MzY0NywgZmRz
PTB4N2ZhZmQwMDAxMGUwLCBuX2Zkcz0yKSBhdCBnbWFpbi5jOjQxMDMKICAgICAgICBwb2xsX2Z1
bmMgPSAweDdmYjAzZWJlZjEyMCA8Z19wb2xsPgojMyAgMHgwMDAwN2ZiMDNlYmRkYWI2IGluIGdf
bWFpbl9jb250ZXh0X2l0ZXJhdGUgKGNvbnRleHQ9MHhkNTkwYTAsIGJsb2NrPTEsIAogICAgZGlz
cGF0Y2g9MSwgc2VsZj0weDdmYWZkMDAwMTIwMCkgYXQgZ21haW4uYzozODAzCiAgICAgICAgbWF4
X3ByaW9yaXR5ID0gMjE0NzQ4MzY0NwogICAgICAgIHRpbWVvdXQgPSAtMQogICAgICAgIHNvbWVf
cmVhZHkgPSAxCiAgICAgICAgbmZkcyA9IDIKICAgICAgICBhbGxvY2F0ZWRfbmZkcyA9IDIKICAg
ICAgICBmZHMgPSAweDdmYWZkMDAwMTBlMAojNCAgMHgwMDAwN2ZiMDNlYmRkZjA3IGluIGdfbWFp
bl9sb29wX3J1biAobG9vcD0weDkyOTQ4MCkgYXQgZ21haW4uYzo0MDAyCiAgICAgICAgc2VsZiA9
IDB4N2ZhZmQwMDAxMjAwCiAgICAgICAgX19mdW5jX18gPSAiZ19tYWluX2xvb3BfcnVuIgojNSAg
MHgwMDAwN2ZiMDQ4ZjQyMzhhIGluIFdURjo6V29ya1F1ZXVlOjpwbGF0Zm9ybUluaXRpYWxpemUo
Y2hhciBjb25zdCosIFdURjo6V29ya1F1ZXVlOjpUeXBlLCBXVEY6OldvcmtRdWV1ZTo6UU9TKTo6
JF8wOjpvcGVyYXRvcigpKCkgY29uc3QgKHRoaXM9MHg5MzRlYjApCiAgICBhdCAuLi8uLi9Tb3Vy
Y2UvV1RGL3d0Zi9nbGliL1dvcmtRdWV1ZUdMaWIuY3BwOjYxCk5vIGxvY2Fscy4KIzYgIDB4MDAw
MDdmYjA0OGY0MjEzZCBpbiBzdGQ6Ol9GdW5jdGlvbl9oYW5kbGVyPHZvaWQgKCksIFdURjo6V29y
a1F1ZXVlOjpwbGF0Zm9ybUluaXRpYWxpemUoY2hhciBjb25zdCosIFdURjo6V29ya1F1ZXVlOjpU
eXBlLCBXVEY6OldvcmtRdWV1ZTo6UU9TKTo6JF8wPjo6X01faW52b2tlKHN0ZDo6X0FueV9kYXRh
IGNvbnN0JikgKF9fZnVuY3Rvcj0uLi4pCiAgICBhdCAvdXNyL2Jpbi8uLi9saWIvZ2NjL3g4Nl82
NC1yZWRoYXQtbGludXgvNS4xLjEvLi4vLi4vLi4vLi4vaW5jbHVkZS9jKysvNS4xLjEvZnVuY3Rp
b25hbDoxODcxCk5vIGxvY2Fscy4KIzcgIDB4MDAwMDdmYjA0Njg3ZTBmZSBpbiBzdGQ6OmZ1bmN0
aW9uPHZvaWQgKCk+OjpvcGVyYXRvcigpKCkgY29uc3QgKAogICAgdGhpcz0weDdmYjAyNjdmZGJj
OCkKICAgIGF0IC91c3IvYmluLy4uL2xpYi9nY2MveDg2XzY0LXJlZGhhdC1saW51eC81LjEuMS8u
Li8uLi8uLi8uLi9pbmNsdWRlL2MrKy81LjEuMS9mdW5jdGlvbmFsOjIyNzEKTm8gbG9jYWxzLgoj
OCAgMHgwMDAwN2ZiMDQyOTRkNmQ1IGluIFdURjo6dGhyZWFkRW50cnlQb2ludCAoY29udGV4dERh
dGE9MHg3ZmIwMjc3ZjQwNTApCiAgICBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcu
Y3BwOjU4CiAgICAgICAgY29udGV4dCA9IDB4N2ZiMDI3N2Y0MDUwCiAgICAgICAgZW50cnlQb2lu
dCA9IHs8c3RkOjpfTWF5YmVfdW5hcnlfb3JfYmluYXJ5X2Z1bmN0aW9uPHZvaWQ+PiA9IHs8Tm8g
ZGF0YSBmaWVsZHM+fSwgPHN0ZDo6X0Z1bmN0aW9uX2Jhc2U+ID0ge3N0YXRpYyBfTV9tYXhfc2l6
ZSA9IDE2LCAKICAgICAgICAgICAgc3RhdGljIF9NX21heF9hbGlnbiA9IDgsIF9NX2Z1bmN0b3Ig
PSB7X01fdW51c2VkID0gewogICAgICAgICAgICAgICAgX01fb2JqZWN0ID0gMHg5MzRlYjAsIF9N
X2NvbnN0X29iamVjdCA9IDB4OTM0ZWIwLCAKICAgICAgICAgICAgICAgIF9NX2Z1bmN0aW9uX3Bv
aW50ZXIgPSAweDkzNGViMCwgCiAgICAgICAgICAgICAgICBfTV9tZW1iZXJfcG9pbnRlciA9IDxl
cnJvciByZWFkaW5nIHZhcmlhYmxlPiwgCiAgICAgICAgICAgICAgX01fcG9kX2RhdGEgPSAiXDI2
ME5cMjIzXDAwMFwwMDBcMDAwXDAwMFwwMDBAXDM0MlwwNzEjXDM3NlwxNzdcMDAwIn0sIAogICAg
ICAgICAgICBfTV9tYW5hZ2VyID0gMHg3ZmIwNDhmNDIxNTAgPHN0ZDo6X0Z1bmN0aW9uX2Jhc2U6
Ol9CYXNlX21hbmFnZXI8V1RGOjpXb3JrUXVldWU6OnBsYXRmb3JtSW5pdGlhbGl6ZShjaGFyIGNv
bnN0KiwgV1RGOjpXb3JrUXVldWU6OlR5cGUsIFdURjo6V29ya1F1ZXVlOjpRT1MpOjokXzA+Ojpf
TV9tYW5hZ2VyKHN0ZDo6X0FueV9kYXRhJiwgc3RkOjpfQW55X2RhdGEgY29uc3QmLCBzdGQ6Ol9N
YW5hZ2VyX29wZXJhdGlvbik+fSwgCiAgICAgICAgICBfTV9pbnZva2VyID0gMHg3ZmIwNDhmNDIx
MjAgPHN0ZDo6X0Z1bmN0aW9uX2hhbmRsZXI8dm9pZCAoKSwgV1RGOjpXb3JrUXVldWU6OnBsYXRm
b3JtSW5pdGlhbGl6ZShjaGFyIGNvbnN0KiwgV1RGOjpXb3JrUXVldWU6OlR5cGUsIFdURjo6V29y
a1F1ZXVlOjpRT1MpOjokXzA+OjpfTV9pbnZva2Uoc3RkOjpfQW55X2RhdGEgY29uc3QmKT59CiM5
ICAweDAwMDA3ZmIwNDI5ODkzMjcgaW4gV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50IChwYXJhbT0w
eDdmYjAyNzdmYjAzMCkKICAgIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZ1B0aHJl
YWRzLmNwcDoxNzAKICAgICAgICBpbnZvY2F0aW9uID0gc3RkOjp1bmlxdWVfcHRyPFdURjo6VGhy
ZWFkRnVuY3Rpb25JbnZvY2F0aW9uPiBjb250YWluaW5nIDB4N2ZiMDI3N2ZiMDMwCiMxMCAweDAw
MDA3ZmIwNDBjMDU1NTUgaW4gc3RhcnRfdGhyZWFkIChhcmc9MHg3ZmIwMjY3ZmU3MDApCiAgICBh
dCBwdGhyZWFkX2NyZWF0ZS5jOjMzMwogICAgICAgIF9fcmVzID0gPG9wdGltaXplZCBvdXQ+CiAg
ICAgICAgcGQgPSAweDdmYjAyNjdmZTcwMAogICAgICAgIG5vdyA9IDxvcHRpbWl6ZWQgb3V0Pgog
ICAgICAgIHVud2luZF9idWYgPSB7Y2FuY2VsX2ptcF9idWYgPSB7e2ptcF9idWYgPSB7MTQwMzk0
NTM2ODg4MDY0LCAKICAgICAgICAgICAgICAgIC04NzgwMDQ5NDU5MTE2MDc3OTgwLCAxNDA3Mjk0
ODk0MTYyMjMsIDE0MDM5NDUzNjg4ODA2NCwgCiAgICAgICAgICAgICAgICA4Mzg4NjA4LCAwLCA4
NzM4ODY5NDQ5MTYxMzQ2MTQ4LCA4NzM4ODEwNzA3MTE5NDc1ODEyfSwgCiAgICAgICAgICAgICAg
bWFza193YXNfc2F2ZWQgPSAwfX0sIHByaXYgPSB7cGFkID0gezB4MCwgMHgwLCAweDAsIDB4MH0s
IAogICAgICAgICAgICBkYXRhID0ge3ByZXYgPSAweDAsIGNsZWFudXAgPSAweDAsIGNhbmNlbHR5
cGUgPSAwfX19CiAgICAgICAgbm90X2ZpcnN0X2NhbGwgPSA8b3B0aW1pemVkIG91dD4KICAgICAg
ICBwYWdlc2l6ZV9tMSA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIHNwID0gPG9wdGltaXplZCBv
dXQ+CiAgICAgICAgZnJlZXNpemUgPSA8b3B0aW1pemVkIG91dD4KIzExIDB4MDAwMDdmYjAzODVm
ZmYzZCBpbiBjbG9uZSAoKQogICAgYXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0
L2Nsb25lLlM6MTA5Ck5vIGxvY2Fscy4KClRocmVhZCA3IChUaHJlYWQgMHg3ZmIwMjU3ZmM3MDAg
KExXUCAxOTAzMCkpOgojMCAgMHgwMDAwN2ZiMDM4NWY0NjZkIGluIHBvbGwgKCkgYXQgLi4vc3lz
ZGVwcy91bml4L3N5c2NhbGwtdGVtcGxhdGUuUzo4MQpObyBsb2NhbHMuCiMxICAweDAwMDA3ZmIw
M2ViZWYxNDcgaW4gZ19wb2xsIChmZHM9MHg3ZmFmZDQwMDEwZTAsIG5mZHM9MSwgdGltZW91dD0t
MSkKICAgIGF0IGdwb2xsLmM6MTI0Ck5vIGxvY2Fscy4KIzIgIDB4MDAwMDdmYjAzZWJkZTEyMyBp
biBnX21haW5fY29udGV4dF9wb2xsIChjb250ZXh0PTB4ZGNjNDIwLCB0aW1lb3V0PS0xLCAKICAg
IHByaW9yaXR5PTIxNDc0ODM2NDcsIGZkcz0weDdmYWZkNDAwMTBlMCwgbl9mZHM9MSkgYXQgZ21h
aW4uYzo0MTAzCiAgICAgICAgcG9sbF9mdW5jID0gMHg3ZmIwM2ViZWYxMjAgPGdfcG9sbD4KIzMg
IDB4MDAwMDdmYjAzZWJkZGFiNiBpbiBnX21haW5fY29udGV4dF9pdGVyYXRlIChjb250ZXh0PTB4
ZGNjNDIwLCBibG9jaz0xLCAKICAgIGRpc3BhdGNoPTEsIHNlbGY9MHhkY2M3MDApIGF0IGdtYWlu
LmM6MzgwMwogICAgICAgIG1heF9wcmlvcml0eSA9IDIxNDc0ODM2NDcKICAgICAgICB0aW1lb3V0
ID0gLTEKICAgICAgICBzb21lX3JlYWR5ID0gMAogICAgICAgIG5mZHMgPSAxCiAgICAgICAgYWxs
b2NhdGVkX25mZHMgPSAxCiAgICAgICAgZmRzID0gMHg3ZmFmZDQwMDEwZTAKIzQgIDB4MDAwMDdm
YjAzZWJkZGYwNyBpbiBnX21haW5fbG9vcF9ydW4gKGxvb3A9MHg5MzdmNTApIGF0IGdtYWluLmM6
NDAwMgogICAgICAgIHNlbGYgPSAweGRjYzcwMAogICAgICAgIF9fZnVuY19fID0gImdfbWFpbl9s
b29wX3J1biIKIzUgIDB4MDAwMDdmYjA0OGY0MjM4YSBpbiBXVEY6OldvcmtRdWV1ZTo6cGxhdGZv
cm1Jbml0aWFsaXplKGNoYXIgY29uc3QqLCBXVEY6OldvcmtRdWV1ZTo6VHlwZSwgV1RGOjpXb3Jr
UXVldWU6OlFPUyk6OiRfMDo6b3BlcmF0b3IoKSgpIGNvbnN0ICh0aGlzPTB4OTM3ZTgwKQogICAg
YXQgLi4vLi4vU291cmNlL1dURi93dGYvZ2xpYi9Xb3JrUXVldWVHTGliLmNwcDo2MQpObyBsb2Nh
bHMuCiM2ICAweDAwMDA3ZmIwNDhmNDIxM2QgaW4gc3RkOjpfRnVuY3Rpb25faGFuZGxlcjx2b2lk
ICgpLCBXVEY6OldvcmtRdWV1ZTo6cGxhdGZvcm1Jbml0aWFsaXplKGNoYXIgY29uc3QqLCBXVEY6
OldvcmtRdWV1ZTo6VHlwZSwgV1RGOjpXb3JrUXVldWU6OlFPUyk6OiRfMD46Ol9NX2ludm9rZShz
dGQ6Ol9BbnlfZGF0YSBjb25zdCYpIChfX2Z1bmN0b3I9Li4uKQogICAgYXQgL3Vzci9iaW4vLi4v
bGliL2djYy94ODZfNjQtcmVkaGF0LWxpbnV4LzUuMS4xLy4uLy4uLy4uLy4uL2luY2x1ZGUvYysr
LzUuMS4xL2Z1bmN0aW9uYWw6MTg3MQpObyBsb2NhbHMuCiM3ICAweDAwMDA3ZmIwNDY4N2UwZmUg
aW4gc3RkOjpmdW5jdGlvbjx2b2lkICgpPjo6b3BlcmF0b3IoKSgpIGNvbnN0ICgKICAgIHRoaXM9
MHg3ZmIwMjU3ZmJiYzgpCiAgICBhdCAvdXNyL2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC1yZWRoYXQt
bGludXgvNS4xLjEvLi4vLi4vLi4vLi4vaW5jbHVkZS9jKysvNS4xLjEvZnVuY3Rpb25hbDoyMjcx
Ck5vIGxvY2Fscy4KIzggIDB4MDAwMDdmYjA0Mjk0ZDZkNSBpbiBXVEY6OnRocmVhZEVudHJ5UG9p
bnQgKGNvbnRleHREYXRhPTB4N2ZiMDI3N2Y0MGYwKQogICAgYXQgLi4vLi4vU291cmNlL1dURi93
dGYvVGhyZWFkaW5nLmNwcDo1OAogICAgICAgIGNvbnRleHQgPSAweDdmYjAyNzdmNDBmMAogICAg
ICAgIGVudHJ5UG9pbnQgPSB7PHN0ZDo6X01heWJlX3VuYXJ5X29yX2JpbmFyeV9mdW5jdGlvbjx2
b2lkPj4gPSB7PE5vIGRhdGEgZmllbGRzPn0sIDxzdGQ6Ol9GdW5jdGlvbl9iYXNlPiA9IHtzdGF0
aWMgX01fbWF4X3NpemUgPSAxNiwgCiAgICAgICAgICAgIHN0YXRpYyBfTV9tYXhfYWxpZ24gPSA4
LCBfTV9mdW5jdG9yID0ge19NX3VudXNlZCA9IHsKICAgICAgICAgICAgICAgIF9NX29iamVjdCA9
IDB4OTM3ZTgwLCBfTV9jb25zdF9vYmplY3QgPSAweDkzN2U4MCwgCiAgICAgICAgICAgICAgICBf
TV9mdW5jdGlvbl9wb2ludGVyID0gMHg5MzdlODAsIAogICAgICAgICAgICAgICAgX01fbWVtYmVy
X3BvaW50ZXIgPSA8ZXJyb3IgcmVhZGluZyB2YXJpYWJsZT4sIAogICAgICAgICAgICAgIF9NX3Bv
ZF9kYXRhID0gIlwyMDB+XDIyM1wwMDBcMDAwXDAwMFwwMDBcMDAwXDM0MFwzMjNcMDcxI1wzNzZc
MTc3XDAwMCJ9LCAKICAgICAgICAgICAgX01fbWFuYWdlciA9IDB4N2ZiMDQ4ZjQyMTUwIDxzdGQ6
Ol9GdW5jdGlvbl9iYXNlOjpfQmFzZV9tYW5hZ2VyPFdURjo6V29ya1F1ZXVlOjpwbGF0Zm9ybUlu
aXRpYWxpemUoY2hhciBjb25zdCosIFdURjo6V29ya1F1ZXVlOjpUeXBlLCBXVEY6OldvcmtRdWV1
ZTo6UU9TKTo6JF8wPjo6X01fbWFuYWdlcihzdGQ6Ol9BbnlfZGF0YSYsIHN0ZDo6X0FueV9kYXRh
IGNvbnN0Jiwgc3RkOjpfTWFuYWdlcl9vcGVyYXRpb24pPn0sIAogICAgICAgICAgX01faW52b2tl
ciA9IDB4N2ZiMDQ4ZjQyMTIwIDxzdGQ6Ol9GdW5jdGlvbl9oYW5kbGVyPHZvaWQgKCksIFdURjo6
V29ya1F1ZXVlOjpwbGF0Zm9ybUluaXRpYWxpemUoY2hhciBjb25zdCosIFdURjo6V29ya1F1ZXVl
OjpUeXBlLCBXVEY6OldvcmtRdWV1ZTo6UU9TKTo6JF8wPjo6X01faW52b2tlKHN0ZDo6X0FueV9k
YXRhIGNvbnN0Jik+fQojOSAgMHgwMDAwN2ZiMDQyOTg5MzI3IGluIFdURjo6d3RmVGhyZWFkRW50
cnlQb2ludCAocGFyYW09MHg3ZmIwMjc3ZmIwNjApCiAgICBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0
Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHA6MTcwCiAgICAgICAgaW52b2NhdGlvbiA9IHN0ZDo6dW5p
cXVlX3B0cjxXVEY6OlRocmVhZEZ1bmN0aW9uSW52b2NhdGlvbj4gY29udGFpbmluZyAweDdmYjAy
NzdmYjA2MAojMTAgMHgwMDAwN2ZiMDQwYzA1NTU1IGluIHN0YXJ0X3RocmVhZCAoYXJnPTB4N2Zi
MDI1N2ZjNzAwKQogICAgYXQgcHRocmVhZF9jcmVhdGUuYzozMzMKICAgICAgICBfX3JlcyA9IDxv
cHRpbWl6ZWQgb3V0PgogICAgICAgIHBkID0gMHg3ZmIwMjU3ZmM3MDAKICAgICAgICBub3cgPSA8
b3B0aW1pemVkIG91dD4KICAgICAgICB1bndpbmRfYnVmID0ge2NhbmNlbF9qbXBfYnVmID0ge3tq
bXBfYnVmID0gezE0MDM5NDUyMDEwMjY1NiwgCiAgICAgICAgICAgICAgICAtODc4MDA0OTQ1OTEx
NjA3Nzk4MCwgMTQwNzI5NDg5NDEyNTQzLCAxNDAzOTQ1MjAxMDI2NTYsIAogICAgICAgICAgICAg
ICAgODM4ODYwOCwgMCwgODczODg3MTY0NzExMDg1OTg3NiwgODczODgxMDcwNzExOTQ3NTgxMn0s
IAogICAgICAgICAgICAgIG1hc2tfd2FzX3NhdmVkID0gMH19LCBwcml2ID0ge3BhZCA9IHsweDAs
IDB4MCwgMHgwLCAweDB9LCAKICAgICAgICAgICAgZGF0YSA9IHtwcmV2ID0gMHgwLCBjbGVhbnVw
ID0gMHgwLCBjYW5jZWx0eXBlID0gMH19fQogICAgICAgIG5vdF9maXJzdF9jYWxsID0gPG9wdGlt
aXplZCBvdXQ+CiAgICAgICAgcGFnZXNpemVfbTEgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBz
cCA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIGZyZWVzaXplID0gPG9wdGltaXplZCBvdXQ+CiMx
MSAweDAwMDA3ZmIwMzg1ZmZmM2QgaW4gY2xvbmUgKCkKICAgIGF0IC4uL3N5c2RlcHMvdW5peC9z
eXN2L2xpbnV4L3g4Nl82NC9jbG9uZS5TOjEwOQpObyBsb2NhbHMuCgpUaHJlYWQgNiAoVGhyZWFk
IDB4N2ZiMDI0ZmZiNzAwIChMV1AgMTkwMzEpKToKIzAgIDB4MDAwMDdmYjAzODVmNDY2ZCBpbiBw
b2xsICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXNjYWxsLXRlbXBsYXRlLlM6ODEKTm8gbG9jYWxz
LgojMSAgMHgwMDAwN2ZiMDNlYmVmMTQ3IGluIGdfcG9sbCAoZmRzPTB4N2ZhZmM4MDAxMGUwLCBu
ZmRzPTEsIHRpbWVvdXQ9LTEpCiAgICBhdCBncG9sbC5jOjEyNApObyBsb2NhbHMuCiMyICAweDAw
MDA3ZmIwM2ViZGUxMjMgaW4gZ19tYWluX2NvbnRleHRfcG9sbCAoY29udGV4dD0weGRjYzRlMCwg
dGltZW91dD0tMSwgCiAgICBwcmlvcml0eT0yMTQ3NDgzNjQ3LCBmZHM9MHg3ZmFmYzgwMDEwZTAs
IG5fZmRzPTEpIGF0IGdtYWluLmM6NDEwMwogICAgICAgIHBvbGxfZnVuYyA9IDB4N2ZiMDNlYmVm
MTIwIDxnX3BvbGw+CiMzICAweDAwMDA3ZmIwM2ViZGRhYjYgaW4gZ19tYWluX2NvbnRleHRfaXRl
cmF0ZSAoY29udGV4dD0weGRjYzRlMCwgYmxvY2s9MSwgCiAgICBkaXNwYXRjaD0xLCBzZWxmPTB4
N2ZhZmQ0MDAxOGEwKSBhdCBnbWFpbi5jOjM4MDMKICAgICAgICBtYXhfcHJpb3JpdHkgPSAyMTQ3
NDgzNjQ3CiAgICAgICAgdGltZW91dCA9IC0xCiAgICAgICAgc29tZV9yZWFkeSA9IDEKICAgICAg
ICBuZmRzID0gMQogICAgICAgIGFsbG9jYXRlZF9uZmRzID0gMQogICAgICAgIGZkcyA9IDB4N2Zh
ZmM4MDAxMGUwCiM0ICAweDAwMDA3ZmIwM2ViZGRmMDcgaW4gZ19tYWluX2xvb3BfcnVuIChsb29w
PTB4OTM2ZTcwKSBhdCBnbWFpbi5jOjQwMDIKICAgICAgICBzZWxmID0gMHg3ZmFmZDQwMDE4YTAK
ICAgICAgICBfX2Z1bmNfXyA9ICJnX21haW5fbG9vcF9ydW4iCiM1ICAweDAwMDA3ZmIwNDhmNDIz
OGEgaW4gV1RGOjpXb3JrUXVldWU6OnBsYXRmb3JtSW5pdGlhbGl6ZShjaGFyIGNvbnN0KiwgV1RG
OjpXb3JrUXVldWU6OlR5cGUsIFdURjo6V29ya1F1ZXVlOjpRT1MpOjokXzA6Om9wZXJhdG9yKCko
KSBjb25zdCAodGhpcz0weDkyZGYyMCkKICAgIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL2dsaWIv
V29ya1F1ZXVlR0xpYi5jcHA6NjEKTm8gbG9jYWxzLgojNiAgMHgwMDAwN2ZiMDQ4ZjQyMTNkIGlu
IHN0ZDo6X0Z1bmN0aW9uX2hhbmRsZXI8dm9pZCAoKSwgV1RGOjpXb3JrUXVldWU6OnBsYXRmb3Jt
SW5pdGlhbGl6ZShjaGFyIGNvbnN0KiwgV1RGOjpXb3JrUXVldWU6OlR5cGUsIFdURjo6V29ya1F1
ZXVlOjpRT1MpOjokXzA+OjpfTV9pbnZva2Uoc3RkOjpfQW55X2RhdGEgY29uc3QmKSAoX19mdW5j
dG9yPS4uLikKICAgIGF0IC91c3IvYmluLy4uL2xpYi9nY2MveDg2XzY0LXJlZGhhdC1saW51eC81
LjEuMS8uLi8uLi8uLi8uLi9pbmNsdWRlL2MrKy81LjEuMS9mdW5jdGlvbmFsOjE4NzEKTm8gbG9j
YWxzLgojNyAgMHgwMDAwN2ZiMDQ2ODdlMGZlIGluIHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT46Om9w
ZXJhdG9yKCkoKSBjb25zdCAoCiAgICB0aGlzPTB4N2ZiMDI0ZmZhYmM4KQogICAgYXQgL3Vzci9i
aW4vLi4vbGliL2djYy94ODZfNjQtcmVkaGF0LWxpbnV4LzUuMS4xLy4uLy4uLy4uLy4uL2luY2x1
ZGUvYysrLzUuMS4xL2Z1bmN0aW9uYWw6MjI3MQpObyBsb2NhbHMuCiM4ICAweDAwMDA3ZmIwNDI5
NGQ2ZDUgaW4gV1RGOjp0aHJlYWRFbnRyeVBvaW50IChjb250ZXh0RGF0YT0weDdmYjAyNzdmNDE0
MCkKICAgIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHA6NTgKICAgICAgICBj
b250ZXh0ID0gMHg3ZmIwMjc3ZjQxNDAKICAgICAgICBlbnRyeVBvaW50ID0gezxzdGQ6Ol9NYXli
ZV91bmFyeV9vcl9iaW5hcnlfZnVuY3Rpb248dm9pZD4+ID0gezxObyBkYXRhIGZpZWxkcz59LCA8
c3RkOjpfRnVuY3Rpb25fYmFzZT4gPSB7c3RhdGljIF9NX21heF9zaXplID0gMTYsIAogICAgICAg
ICAgICBzdGF0aWMgX01fbWF4X2FsaWduID0gOCwgX01fZnVuY3RvciA9IHtfTV91bnVzZWQgPSB7
CiAgICAgICAgICAgICAgICBfTV9vYmplY3QgPSAweDkyZGYyMCwgX01fY29uc3Rfb2JqZWN0ID0g
MHg5MmRmMjAsIAogICAgICAgICAgICAgICAgX01fZnVuY3Rpb25fcG9pbnRlciA9IDB4OTJkZjIw
LCAKICAgICAgICAgICAgICAgIF9NX21lbWJlcl9wb2ludGVyID0gPGVycm9yIHJlYWRpbmcgdmFy
aWFibGU+LCAKICAgICAgICAgICAgICBfTV9wb2RfZGF0YSA9ICIg35JcMDAwXDAwMFwwMDBcMDAw
XDAwMFwzNDBcMzIzXDA3MSNcMzc2XDE3N1wwMDAifSwgCiAgICAgICAgICAgIF9NX21hbmFnZXIg
PSAweDdmYjA0OGY0MjE1MCA8c3RkOjpfRnVuY3Rpb25fYmFzZTo6X0Jhc2VfbWFuYWdlcjxXVEY6
OldvcmtRdWV1ZTo6cGxhdGZvcm1Jbml0aWFsaXplKGNoYXIgY29uc3QqLCBXVEY6OldvcmtRdWV1
ZTo6VHlwZSwgV1RGOjpXb3JrUXVldWU6OlFPUyk6OiRfMD46Ol9NX21hbmFnZXIoc3RkOjpfQW55
X2RhdGEmLCBzdGQ6Ol9BbnlfZGF0YSBjb25zdCYsIHN0ZDo6X01hbmFnZXJfb3BlcmF0aW9uKT59
LCAKICAgICAgICAgIF9NX2ludm9rZXIgPSAweDdmYjA0OGY0MjEyMCA8c3RkOjpfRnVuY3Rpb25f
aGFuZGxlcjx2b2lkICgpLCBXVEY6OldvcmtRdWV1ZTo6cGxhdGZvcm1Jbml0aWFsaXplKGNoYXIg
Y29uc3QqLCBXVEY6OldvcmtRdWV1ZTo6VHlwZSwgV1RGOjpXb3JrUXVldWU6OlFPUyk6OiRfMD46
Ol9NX2ludm9rZShzdGQ6Ol9BbnlfZGF0YSBjb25zdCYpPn0KIzkgIDB4MDAwMDdmYjA0Mjk4OTMy
NyBpbiBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQgKHBhcmFtPTB4N2ZiMDI3N2ZiMDgwKQogICAg
YXQgLi4vLi4vU291cmNlL1dURi93dGYvVGhyZWFkaW5nUHRocmVhZHMuY3BwOjE3MAogICAgICAg
IGludm9jYXRpb24gPSBzdGQ6OnVuaXF1ZV9wdHI8V1RGOjpUaHJlYWRGdW5jdGlvbkludm9jYXRp
b24+IGNvbnRhaW5pbmcgMHg3ZmIwMjc3ZmIwODAKIzEwIDB4MDAwMDdmYjA0MGMwNTU1NSBpbiBz
dGFydF90aHJlYWQgKGFyZz0weDdmYjAyNGZmYjcwMCkKICAgIGF0IHB0aHJlYWRfY3JlYXRlLmM6
MzMzCiAgICAgICAgX19yZXMgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBwZCA9IDB4N2ZiMDI0
ZmZiNzAwCiAgICAgICAgbm93ID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgdW53aW5kX2J1ZiA9
IHtjYW5jZWxfam1wX2J1ZiA9IHt7am1wX2J1ZiA9IHsxNDAzOTQ1MTE3MDk5NTIsIAogICAgICAg
ICAgICAgICAgLTg3ODAwNDk0NTkxMTYwNzc5ODAsIDE0MDcyOTQ4OTQxMjU0MywgMTQwMzk0NTEx
NzA5OTUyLCAKICAgICAgICAgICAgICAgIDgzODg2MDgsIDAsIDg3Mzg4NzI3NDYwODU2MTY3NDAs
IDg3Mzg4MTA3MDcxMTk0NzU4MTJ9LCAKICAgICAgICAgICAgICBtYXNrX3dhc19zYXZlZCA9IDB9
fSwgcHJpdiA9IHtwYWQgPSB7MHgwLCAweDAsIDB4MCwgMHgwfSwgCiAgICAgICAgICAgIGRhdGEg
PSB7cHJldiA9IDB4MCwgY2xlYW51cCA9IDB4MCwgY2FuY2VsdHlwZSA9IDB9fX0KICAgICAgICBu
b3RfZmlyc3RfY2FsbCA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIHBhZ2VzaXplX20xID0gPG9w
dGltaXplZCBvdXQ+CiAgICAgICAgc3AgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBmcmVlc2l6
ZSA9IDxvcHRpbWl6ZWQgb3V0PgojMTEgMHgwMDAwN2ZiMDM4NWZmZjNkIGluIGNsb25lICgpCiAg
ICBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvY2xvbmUuUzoxMDkKTm8gbG9j
YWxzLgoKVGhyZWFkIDUgKFRocmVhZCAweDdmYWZkZmZmZDcwMCAoTFdQIDE5MDMyKSk6CiMwICAw
eDAwMDA3ZmIwMzg1ZjQ2NmQgaW4gcG9sbCAoKSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzY2FsbC10
ZW1wbGF0ZS5TOjgxCk5vIGxvY2Fscy4KIzEgIDB4MDAwMDdmYjAzZWJlZjE0NyBpbiBnX3BvbGwg
KGZkcz0weDdmYWZjYzAwMTBlMCwgbmZkcz0xLCB0aW1lb3V0PS0xKQogICAgYXQgZ3BvbGwuYzox
MjQKTm8gbG9jYWxzLgojMiAgMHgwMDAwN2ZiMDNlYmRlMTIzIGluIGdfbWFpbl9jb250ZXh0X3Bv
bGwgKGNvbnRleHQ9MHhkODk2MDAsIHRpbWVvdXQ9LTEsIAogICAgcHJpb3JpdHk9MjE0NzQ4MzY0
NywgZmRzPTB4N2ZhZmNjMDAxMGUwLCBuX2Zkcz0xKSBhdCBnbWFpbi5jOjQxMDMKICAgICAgICBw
b2xsX2Z1bmMgPSAweDdmYjAzZWJlZjEyMCA8Z19wb2xsPgojMyAgMHgwMDAwN2ZiMDNlYmRkYWI2
IGluIGdfbWFpbl9jb250ZXh0X2l0ZXJhdGUgKGNvbnRleHQ9MHhkODk2MDAsIGJsb2NrPTEsIAog
ICAgZGlzcGF0Y2g9MSwgc2VsZj0weDdmYWZjODAwMTgzMCkgYXQgZ21haW4uYzozODAzCiAgICAg
ICAgbWF4X3ByaW9yaXR5ID0gMjE0NzQ4MzY0NwogICAgICAgIHRpbWVvdXQgPSAtMQogICAgICAg
IHNvbWVfcmVhZHkgPSAwCiAgICAgICAgbmZkcyA9IDEKICAgICAgICBhbGxvY2F0ZWRfbmZkcyA9
IDEKICAgICAgICBmZHMgPSAweDdmYWZjYzAwMTBlMAojNCAgMHgwMDAwN2ZiMDNlYmRkZjA3IGlu
IGdfbWFpbl9sb29wX3J1biAobG9vcD0weDkzNGFhMCkgYXQgZ21haW4uYzo0MDAyCiAgICAgICAg
c2VsZiA9IDB4N2ZhZmM4MDAxODMwCiAgICAgICAgX19mdW5jX18gPSAiZ19tYWluX2xvb3BfcnVu
IgojNSAgMHgwMDAwN2ZiMDQ4ZjQyMzhhIGluIFdURjo6V29ya1F1ZXVlOjpwbGF0Zm9ybUluaXRp
YWxpemUoY2hhciBjb25zdCosIFdURjo6V29ya1F1ZXVlOjpUeXBlLCBXVEY6OldvcmtRdWV1ZTo6
UU9TKTo6JF8wOjpvcGVyYXRvcigpKCkgY29uc3QgKHRoaXM9MHg5MzQ5MDApCiAgICBhdCAuLi8u
Li9Tb3VyY2UvV1RGL3d0Zi9nbGliL1dvcmtRdWV1ZUdMaWIuY3BwOjYxCk5vIGxvY2Fscy4KIzYg
IDB4MDAwMDdmYjA0OGY0MjEzZCBpbiBzdGQ6Ol9GdW5jdGlvbl9oYW5kbGVyPHZvaWQgKCksIFdU
Rjo6V29ya1F1ZXVlOjpwbGF0Zm9ybUluaXRpYWxpemUoY2hhciBjb25zdCosIFdURjo6V29ya1F1
ZXVlOjpUeXBlLCBXVEY6OldvcmtRdWV1ZTo6UU9TKTo6JF8wPjo6X01faW52b2tlKHN0ZDo6X0Fu
eV9kYXRhIGNvbnN0JikgKF9fZnVuY3Rvcj0uLi4pCiAgICBhdCAvdXNyL2Jpbi8uLi9saWIvZ2Nj
L3g4Nl82NC1yZWRoYXQtbGludXgvNS4xLjEvLi4vLi4vLi4vLi4vaW5jbHVkZS9jKysvNS4xLjEv
ZnVuY3Rpb25hbDoxODcxCk5vIGxvY2Fscy4KIzcgIDB4MDAwMDdmYjA0Njg3ZTBmZSBpbiBzdGQ6
OmZ1bmN0aW9uPHZvaWQgKCk+OjpvcGVyYXRvcigpKCkgY29uc3QgKAogICAgdGhpcz0weDdmYWZk
ZmZmY2JjOCkKICAgIGF0IC91c3IvYmluLy4uL2xpYi9nY2MveDg2XzY0LXJlZGhhdC1saW51eC81
LjEuMS8uLi8uLi8uLi8uLi9pbmNsdWRlL2MrKy81LjEuMS9mdW5jdGlvbmFsOjIyNzEKTm8gbG9j
YWxzLgojOCAgMHgwMDAwN2ZiMDQyOTRkNmQ1IGluIFdURjo6dGhyZWFkRW50cnlQb2ludCAoY29u
dGV4dERhdGE9MHg3ZmIwMjc3ZjQxOTApCiAgICBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9UaHJl
YWRpbmcuY3BwOjU4CiAgICAgICAgY29udGV4dCA9IDB4N2ZiMDI3N2Y0MTkwCiAgICAgICAgZW50
cnlQb2ludCA9IHs8c3RkOjpfTWF5YmVfdW5hcnlfb3JfYmluYXJ5X2Z1bmN0aW9uPHZvaWQ+PiA9
IHs8Tm8gZGF0YSBmaWVsZHM+fSwgPHN0ZDo6X0Z1bmN0aW9uX2Jhc2U+ID0ge3N0YXRpYyBfTV9t
YXhfc2l6ZSA9IDE2LCAKICAgICAgICAgICAgc3RhdGljIF9NX21heF9hbGlnbiA9IDgsIF9NX2Z1
bmN0b3IgPSB7X01fdW51c2VkID0gewogICAgICAgICAgICAgICAgX01fb2JqZWN0ID0gMHg5MzQ5
MDAsIF9NX2NvbnN0X29iamVjdCA9IDB4OTM0OTAwLCAKICAgICAgICAgICAgICAgIF9NX2Z1bmN0
aW9uX3BvaW50ZXIgPSAweDkzNDkwMCwgCiAgICAgICAgICAgICAgICBfTV9tZW1iZXJfcG9pbnRl
ciA9IDxlcnJvciByZWFkaW5nIHZhcmlhYmxlPiwgCiAgICAgICAgICAgICAgX01fcG9kX2RhdGEg
PSAiXDAwMElcMjIzXDAwMFwwMDBcMDAwXDAwMFwwMDBcMzQwXDMyM1wwNzEjXDM3NlwxNzdcMDAw
In0sIAogICAgICAgICAgICBfTV9tYW5hZ2VyID0gMHg3ZmIwNDhmNDIxNTAgPHN0ZDo6X0Z1bmN0
aW9uX2Jhc2U6Ol9CYXNlX21hbmFnZXI8V1RGOjpXb3JrUXVldWU6OnBsYXRmb3JtSW5pdGlhbGl6
ZShjaGFyIGNvbnN0KiwgV1RGOjpXb3JrUXVldWU6OlR5cGUsIFdURjo6V29ya1F1ZXVlOjpRT1Mp
OjokXzA+OjpfTV9tYW5hZ2VyKHN0ZDo6X0FueV9kYXRhJiwgc3RkOjpfQW55X2RhdGEgY29uc3Qm
LCBzdGQ6Ol9NYW5hZ2VyX29wZXJhdGlvbik+fSwgCiAgICAgICAgICBfTV9pbnZva2VyID0gMHg3
ZmIwNDhmNDIxMjAgPHN0ZDo6X0Z1bmN0aW9uX2hhbmRsZXI8dm9pZCAoKSwgV1RGOjpXb3JrUXVl
dWU6OnBsYXRmb3JtSW5pdGlhbGl6ZShjaGFyIGNvbnN0KiwgV1RGOjpXb3JrUXVldWU6OlR5cGUs
IFdURjo6V29ya1F1ZXVlOjpRT1MpOjokXzA+OjpfTV9pbnZva2Uoc3RkOjpfQW55X2RhdGEgY29u
c3QmKT59CiM5ICAweDAwMDA3ZmIwNDI5ODkzMjcgaW4gV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50
IChwYXJhbT0weDdmYjAyNzdmYjBhMCkKICAgIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL1RocmVh
ZGluZ1B0aHJlYWRzLmNwcDoxNzAKICAgICAgICBpbnZvY2F0aW9uID0gc3RkOjp1bmlxdWVfcHRy
PFdURjo6VGhyZWFkRnVuY3Rpb25JbnZvY2F0aW9uPiBjb250YWluaW5nIDB4N2ZiMDI3N2ZiMGEw
CiMxMCAweDAwMDA3ZmIwNDBjMDU1NTUgaW4gc3RhcnRfdGhyZWFkIChhcmc9MHg3ZmFmZGZmZmQ3
MDApCiAgICBhdCBwdGhyZWFkX2NyZWF0ZS5jOjMzMwogICAgICAgIF9fcmVzID0gPG9wdGltaXpl
ZCBvdXQ+CiAgICAgICAgcGQgPSAweDdmYWZkZmZmZDcwMAogICAgICAgIG5vdyA9IDxvcHRpbWl6
ZWQgb3V0PgogICAgICAgIHVud2luZF9idWYgPSB7Y2FuY2VsX2ptcF9idWYgPSB7e2ptcF9idWYg
PSB7MTQwMzkzMzU0MDkwMjQwLCAKICAgICAgICAgICAgICAgIC04NzgwMDQ5NDU5MTE2MDc3OTgw
LCAxNDA3Mjk0ODk0MTI1NDMsIDE0MDM5MzM1NDA5MDI0MCwgCiAgICAgICAgICAgICAgICA4Mzg4
NjA4LCAwLCA4NzUzMDk4MjI4NTk5NTI0NDUyLCA4NzM4ODEwNzA3MTE5NDc1ODEyfSwgCiAgICAg
ICAgICAgICAgbWFza193YXNfc2F2ZWQgPSAwfX0sIHByaXYgPSB7cGFkID0gezB4MCwgMHgwLCAw
eDAsIDB4MH0sIAogICAgICAgICAgICBkYXRhID0ge3ByZXYgPSAweDAsIGNsZWFudXAgPSAweDAs
IGNhbmNlbHR5cGUgPSAwfX19CiAgICAgICAgbm90X2ZpcnN0X2NhbGwgPSA8b3B0aW1pemVkIG91
dD4KICAgICAgICBwYWdlc2l6ZV9tMSA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIHNwID0gPG9w
dGltaXplZCBvdXQ+CiAgICAgICAgZnJlZXNpemUgPSA8b3B0aW1pemVkIG91dD4KIzExIDB4MDAw
MDdmYjAzODVmZmYzZCBpbiBjbG9uZSAoKQogICAgYXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGlu
dXgveDg2XzY0L2Nsb25lLlM6MTA5Ck5vIGxvY2Fscy4KClRocmVhZCA0IChUaHJlYWQgMHg3ZmFm
ZGY3ZmM3MDAgKExXUCAxOTAzMykpOgojMCAgMHgwMDAwN2ZiMDM4NWY0NjZkIGluIHBvbGwgKCkg
YXQgLi4vc3lzZGVwcy91bml4L3N5c2NhbGwtdGVtcGxhdGUuUzo4MQpObyBsb2NhbHMuCiMxICAw
eDAwMDA3ZmIwM2ViZWYxNDcgaW4gZ19wb2xsIChmZHM9MHg3ZmFmYzAwMDEwZTAsIG5mZHM9Miwg
dGltZW91dD0tMSkKICAgIGF0IGdwb2xsLmM6MTI0Ck5vIGxvY2Fscy4KIzIgIDB4MDAwMDdmYjAz
ZWJkZTEyMyBpbiBnX21haW5fY29udGV4dF9wb2xsIChjb250ZXh0PTB4YzQyNWEwLCB0aW1lb3V0
PS0xLCAKICAgIHByaW9yaXR5PTIxNDc0ODM2NDcsIGZkcz0weDdmYWZjMDAwMTBlMCwgbl9mZHM9
MikgYXQgZ21haW4uYzo0MTAzCiAgICAgICAgcG9sbF9mdW5jID0gMHg3ZmIwM2ViZWYxMjAgPGdf
cG9sbD4KIzMgIDB4MDAwMDdmYjAzZWJkZGFiNiBpbiBnX21haW5fY29udGV4dF9pdGVyYXRlIChj
b250ZXh0PTB4YzQyNWEwLCBibG9jaz0xLCAKICAgIGRpc3BhdGNoPTEsIHNlbGY9MHhjNDEyMzAp
IGF0IGdtYWluLmM6MzgwMwogICAgICAgIG1heF9wcmlvcml0eSA9IDIxNDc0ODM2NDcKICAgICAg
ICB0aW1lb3V0ID0gLTEKICAgICAgICBzb21lX3JlYWR5ID0gMAogICAgICAgIG5mZHMgPSAyCiAg
ICAgICAgYWxsb2NhdGVkX25mZHMgPSAyCiAgICAgICAgZmRzID0gMHg3ZmFmYzAwMDEwZTAKIzQg
IDB4MDAwMDdmYjAzZWJkZGYwNyBpbiBnX21haW5fbG9vcF9ydW4gKGxvb3A9MHhjNDI2ZTApIGF0
IGdtYWluLmM6NDAwMgogICAgICAgIHNlbGYgPSAweGM0MTIzMAogICAgICAgIF9fZnVuY19fID0g
ImdfbWFpbl9sb29wX3J1biIKIzUgIDB4MDAwMDdmYjA0OGY0MjM4YSBpbiBXVEY6OldvcmtRdWV1
ZTo6cGxhdGZvcm1Jbml0aWFsaXplKGNoYXIgY29uc3QqLCBXVEY6OldvcmtRdWV1ZTo6VHlwZSwg
V1RGOjpXb3JrUXVldWU6OlFPUyk6OiRfMDo6b3BlcmF0b3IoKSgpIGNvbnN0ICh0aGlzPTB4YzQy
NzAwKQogICAgYXQgLi4vLi4vU291cmNlL1dURi93dGYvZ2xpYi9Xb3JrUXVldWVHTGliLmNwcDo2
MQpObyBsb2NhbHMuCiM2ICAweDAwMDA3ZmIwNDhmNDIxM2QgaW4gc3RkOjpfRnVuY3Rpb25faGFu
ZGxlcjx2b2lkICgpLCBXVEY6OldvcmtRdWV1ZTo6cGxhdGZvcm1Jbml0aWFsaXplKGNoYXIgY29u
c3QqLCBXVEY6OldvcmtRdWV1ZTo6VHlwZSwgV1RGOjpXb3JrUXVldWU6OlFPUyk6OiRfMD46Ol9N
X2ludm9rZShzdGQ6Ol9BbnlfZGF0YSBjb25zdCYpIChfX2Z1bmN0b3I9Li4uKQogICAgYXQgL3Vz
ci9iaW4vLi4vbGliL2djYy94ODZfNjQtcmVkaGF0LWxpbnV4LzUuMS4xLy4uLy4uLy4uLy4uL2lu
Y2x1ZGUvYysrLzUuMS4xL2Z1bmN0aW9uYWw6MTg3MQpObyBsb2NhbHMuCiM3ICAweDAwMDA3ZmIw
NDY4N2UwZmUgaW4gc3RkOjpmdW5jdGlvbjx2b2lkICgpPjo6b3BlcmF0b3IoKSgpIGNvbnN0ICgK
ICAgIHRoaXM9MHg3ZmFmZGY3ZmJiYzgpCiAgICBhdCAvdXNyL2Jpbi8uLi9saWIvZ2NjL3g4Nl82
NC1yZWRoYXQtbGludXgvNS4xLjEvLi4vLi4vLi4vLi4vaW5jbHVkZS9jKysvNS4xLjEvZnVuY3Rp
b25hbDoyMjcxCk5vIGxvY2Fscy4KIzggIDB4MDAwMDdmYjA0Mjk0ZDZkNSBpbiBXVEY6OnRocmVh
ZEVudHJ5UG9pbnQgKGNvbnRleHREYXRhPTB4N2ZiMDI3N2U3MGYwKQogICAgYXQgLi4vLi4vU291
cmNlL1dURi93dGYvVGhyZWFkaW5nLmNwcDo1OAogICAgICAgIGNvbnRleHQgPSAweDdmYjAyNzdl
NzBmMAogICAgICAgIGVudHJ5UG9pbnQgPSB7PHN0ZDo6X01heWJlX3VuYXJ5X29yX2JpbmFyeV9m
dW5jdGlvbjx2b2lkPj4gPSB7PE5vIGRhdGEgZmllbGRzPn0sIDxzdGQ6Ol9GdW5jdGlvbl9iYXNl
PiA9IHtzdGF0aWMgX01fbWF4X3NpemUgPSAxNiwgCiAgICAgICAgICAgIHN0YXRpYyBfTV9tYXhf
YWxpZ24gPSA4LCBfTV9mdW5jdG9yID0ge19NX3VudXNlZCA9IHsKICAgICAgICAgICAgICAgIF9N
X29iamVjdCA9IDB4YzQyNzAwLCBfTV9jb25zdF9vYmplY3QgPSAweGM0MjcwMCwgCiAgICAgICAg
ICAgICAgICBfTV9mdW5jdGlvbl9wb2ludGVyID0gMHhjNDI3MDAsIAogICAgICAgICAgICAgICAg
X01fbWVtYmVyX3BvaW50ZXIgPSA8ZXJyb3IgcmVhZGluZyB2YXJpYWJsZT4sIAogICAgICAgICAg
ICAgIF9NX3BvZF9kYXRhID0gIlwwMDAnXDMwNFwwMDBcMDAwXDAwMFwwMDBcMDAwIFwzMjZcMDcx
I1wzNzZcMTc3XDAwMCJ9LCAKICAgICAgICAgICAgX01fbWFuYWdlciA9IDB4N2ZiMDQ4ZjQyMTUw
IDxzdGQ6Ol9GdW5jdGlvbl9iYXNlOjpfQmFzZV9tYW5hZ2VyPFdURjo6V29ya1F1ZXVlOjpwbGF0
Zm9ybUluaXRpYWxpemUoY2hhciBjb25zdCosIFdURjo6V29ya1F1ZXVlOjpUeXBlLCBXVEY6Oldv
cmtRdWV1ZTo6UU9TKTo6JF8wPjo6X01fbWFuYWdlcihzdGQ6Ol9BbnlfZGF0YSYsIHN0ZDo6X0Fu
eV9kYXRhIGNvbnN0Jiwgc3RkOjpfTWFuYWdlcl9vcGVyYXRpb24pPn0sIAogICAgICAgICAgX01f
aW52b2tlciA9IDB4N2ZiMDQ4ZjQyMTIwIDxzdGQ6Ol9GdW5jdGlvbl9oYW5kbGVyPHZvaWQgKCks
IFdURjo6V29ya1F1ZXVlOjpwbGF0Zm9ybUluaXRpYWxpemUoY2hhciBjb25zdCosIFdURjo6V29y
a1F1ZXVlOjpUeXBlLCBXVEY6OldvcmtRdWV1ZTo6UU9TKTo6JF8wPjo6X01faW52b2tlKHN0ZDo6
X0FueV9kYXRhIGNvbnN0Jik+fQojOSAgMHgwMDAwN2ZiMDQyOTg5MzI3IGluIFdURjo6d3RmVGhy
ZWFkRW50cnlQb2ludCAocGFyYW09MHg3ZmIwMjc3ZmIwYzApCiAgICBhdCAuLi8uLi9Tb3VyY2Uv
V1RGL3d0Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHA6MTcwCiAgICAgICAgaW52b2NhdGlvbiA9IHN0
ZDo6dW5pcXVlX3B0cjxXVEY6OlRocmVhZEZ1bmN0aW9uSW52b2NhdGlvbj4gY29udGFpbmluZyAw
eDdmYjAyNzdmYjBjMAojMTAgMHgwMDAwN2ZiMDQwYzA1NTU1IGluIHN0YXJ0X3RocmVhZCAoYXJn
PTB4N2ZhZmRmN2ZjNzAwKQogICAgYXQgcHRocmVhZF9jcmVhdGUuYzozMzMKICAgICAgICBfX3Jl
cyA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIHBkID0gMHg3ZmFmZGY3ZmM3MDAKICAgICAgICBu
b3cgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICB1bndpbmRfYnVmID0ge2NhbmNlbF9qbXBfYnVm
ID0ge3tqbXBfYnVmID0gezE0MDM5MzM0NTY5NzUzNiwgCiAgICAgICAgICAgICAgICAtODc4MDA0
OTQ1OTExNjA3Nzk4MCwgMTQwNzI5NDg5NDEzMTE5LCAxNDAzOTMzNDU2OTc1MzYsIAogICAgICAg
ICAgICAgICAgODM4ODYwOCwgMCwgODc1MzA5OTMyNzU3NDI4MTMxNiwgODczODgxMDcwNzExOTQ3
NTgxMn0sIAogICAgICAgICAgICAgIG1hc2tfd2FzX3NhdmVkID0gMH19LCBwcml2ID0ge3BhZCA9
IHsweDAsIDB4MCwgMHgwLCAweDB9LCAKICAgICAgICAgICAgZGF0YSA9IHtwcmV2ID0gMHgwLCBj
bGVhbnVwID0gMHgwLCBjYW5jZWx0eXBlID0gMH19fQogICAgICAgIG5vdF9maXJzdF9jYWxsID0g
PG9wdGltaXplZCBvdXQ+CiAgICAgICAgcGFnZXNpemVfbTEgPSA8b3B0aW1pemVkIG91dD4KICAg
ICAgICBzcCA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIGZyZWVzaXplID0gPG9wdGltaXplZCBv
dXQ+CiMxMSAweDAwMDA3ZmIwMzg1ZmZmM2QgaW4gY2xvbmUgKCkKICAgIGF0IC4uL3N5c2RlcHMv
dW5peC9zeXN2L2xpbnV4L3g4Nl82NC9jbG9uZS5TOjEwOQpObyBsb2NhbHMuCgpUaHJlYWQgMyAo
VGhyZWFkIDB4N2ZhZmRlZmZiNzAwIChMV1AgMTkwMzUpKToKIzAgIDB4MDAwMDdmYjAzODVmNDY2
ZCBpbiBwb2xsICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXNjYWxsLXRlbXBsYXRlLlM6ODEKTm8g
bG9jYWxzLgojMSAgMHgwMDAwN2ZiMDNlYmVmMTQ3IGluIGdfcG9sbCAoZmRzPTB4N2ZhZmM0MDAx
MGMwLCBuZmRzPTEsIHRpbWVvdXQ9LTEpCiAgICBhdCBncG9sbC5jOjEyNApObyBsb2NhbHMuCiMy
ICAweDAwMDA3ZmIwM2ViZGUxMjMgaW4gZ19tYWluX2NvbnRleHRfcG9sbCAoY29udGV4dD0weGM3
YmUzMCwgdGltZW91dD0tMSwgCiAgICBwcmlvcml0eT0yMTQ3NDgzNjQ3LCBmZHM9MHg3ZmFmYzQw
MDEwYzAsIG5fZmRzPTEpIGF0IGdtYWluLmM6NDEwMwogICAgICAgIHBvbGxfZnVuYyA9IDB4N2Zi
MDNlYmVmMTIwIDxnX3BvbGw+CiMzICAweDAwMDA3ZmIwM2ViZGRhYjYgaW4gZ19tYWluX2NvbnRl
eHRfaXRlcmF0ZSAoY29udGV4dD0weGM3YmUzMCwgYmxvY2s9MSwgCiAgICBkaXNwYXRjaD0xLCBz
ZWxmPTB4N2ZiMDIwMDA0NDAwKSBhdCBnbWFpbi5jOjM4MDMKICAgICAgICBtYXhfcHJpb3JpdHkg
PSAyMTQ3NDgzNjQ3CiAgICAgICAgdGltZW91dCA9IC0xCiAgICAgICAgc29tZV9yZWFkeSA9IDMy
Njg3CiAgICAgICAgbmZkcyA9IDEKICAgICAgICBhbGxvY2F0ZWRfbmZkcyA9IDEKICAgICAgICBm
ZHMgPSAweDdmYWZjNDAwMTBjMAojNCAgMHgwMDAwN2ZiMDNlYmRkYmE1IGluIGdfbWFpbl9jb250
ZXh0X2l0ZXJhdGlvbiAoY29udGV4dD0weGM3YmUzMCwgCiAgICBtYXlfYmxvY2s9MSkgYXQgZ21h
aW4uYzozODY5CiAgICAgICAgcmV0dmFsID0gMQojNSAgMHgwMDAwN2ZiMDMwOGQwZWZlIGluIGRj
b25mX2dkYnVzX3dvcmtlcl90aHJlYWQgKHVzZXJfZGF0YT0weGM3YmUzMCkKICAgIGF0IGRjb25m
LWdkYnVzLXRocmVhZC5jOjgyCiAgICAgICAgY29udGV4dCA9IDB4YzdiZTMwCiM2ICAweDAwMDA3
ZmIwM2VjMGJiY2UgaW4gZ190aHJlYWRfcHJveHkgKGRhdGE9MHg3ZmIwMjAwMDQ0MDApIGF0IGd0
aHJlYWQuYzo3NjQKICAgICAgICB0aHJlYWQgPSAweDdmYjAyMDAwNDQwMAogICAgICAgIF9fZnVu
Y19fID0gImdfdGhyZWFkX3Byb3h5IgojNyAgMHgwMDAwN2ZiMDQwYzA1NTU1IGluIHN0YXJ0X3Ro
cmVhZCAoYXJnPTB4N2ZhZmRlZmZiNzAwKQogICAgYXQgcHRocmVhZF9jcmVhdGUuYzozMzMKICAg
ICAgICBfX3JlcyA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIHBkID0gMHg3ZmFmZGVmZmI3MDAK
ICAgICAgICBub3cgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICB1bndpbmRfYnVmID0ge2NhbmNl
bF9qbXBfYnVmID0ge3tqbXBfYnVmID0gezE0MDM5MzMzNzMwNDgzMiwgCiAgICAgICAgICAgICAg
ICAtODc4MDA0OTQ1OTExNjA3Nzk4MCwgMTQwNzI5NDg5NDE0NjIzLCAxNDAzOTMzMzczMDQ4MzIs
IAogICAgICAgICAgICAgICAgODM4ODYwOCwgMCwgODc1MzEwMDQyNjU0OTAzODE4MCwgODczODgx
MDcwNzExOTQ3NTgxMn0sIAogICAgICAgICAgICAgIG1hc2tfd2FzX3NhdmVkID0gMH19LCBwcml2
ID0ge3BhZCA9IHsweDAsIDB4MCwgMHgwLCAweDB9LCAKICAgICAgICAgICAgZGF0YSA9IHtwcmV2
ID0gMHgwLCBjbGVhbnVwID0gMHgwLCBjYW5jZWx0eXBlID0gMH19fQogICAgICAgIG5vdF9maXJz
dF9jYWxsID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgcGFnZXNpemVfbTEgPSA8b3B0aW1pemVk
IG91dD4KICAgICAgICBzcCA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIGZyZWVzaXplID0gPG9w
dGltaXplZCBvdXQ+CiM4ICAweDAwMDA3ZmIwMzg1ZmZmM2QgaW4gY2xvbmUgKCkKICAgIGF0IC4u
L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9jbG9uZS5TOjEwOQpObyBsb2NhbHMuCgpU
aHJlYWQgMSAoVGhyZWFkIDB4N2ZiMDRiMjQzYTAwIChMV1AgMTkwMjMpKToKIzAgIFdURkNyYXNo
ICgpIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL0Fzc2VydGlvbnMuY3BwOjMyMQpObyBsb2NhbHMu
CiMxICAweDAwMDA3ZmIwNDY4ODE1NjkgaW4gV1RGOjpSZWZDb3VudGVkQmFzZTo6cmVmICh0aGlz
PTB4N2ZiMDI3N2VlYWU4KQogICAgYXQgLi4vLi4vU291cmNlL1dURi93dGYvUmVmQ291bnRlZC5o
OjQ1Ck5vIGxvY2Fscy4KIzIgIDB4MDAwMDdmYjA0N2MzN2ZkMSBpbiBXVEY6OnJlZklmTm90TnVs
bDxXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZT4gKAogICAgcHRyPTB4N2ZiMDI3N2VlYWUwKSBhdCAu
Li8uLi9Tb3VyY2UvV1RGL3d0Zi9QYXNzUmVmUHRyLmg6MzYKTm8gbG9jYWxzLgojMyAgMHgwMDAw
N2ZiMDQ4NzMwZWQ0IGluIFdURjo6UmVmUHRyPFdlYkNvcmU6OlJlc291cmNlSGFuZGxlPjo6UmVm
UHRyICgKICAgIHRoaXM9MHg3ZmZlMjMzOWQ2MDAsIHB0cj0weDdmYjAyNzdlZWFlMCkKICAgIGF0
IC4uLy4uL1NvdXJjZS9XVEYvd3RmL1JlZlB0ci5oOjQzCk5vIGxvY2Fscy4KIzQgIDB4MDAwMDdm
YjA0ODcyYTQzOSBpbiBXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6cmVsZWFzZUZvckRvd25sb2Fk
ICgKICAgIHRoaXM9MHg3ZmIwMjc3ZWUzZTAsIGRvd25sb2FkQ2xpZW50PTB4OTEwZjkwKQogICAg
YXQgLi4vLi4vU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFu
ZGxlU291cC5jcHA6MTAzOQogICAgICAgIG5ld0hhbmRsZSA9IDxvcHRpbWl6ZWQgb3V0PgojNSAg
MHgwMDAwN2ZiMDQ2ZTE2MDM0IGluIFdlYktpdDo6RG93bmxvYWQ6OnN0YXJ0V2l0aEhhbmRsZSAo
dGhpcz0weDkxOWI1MCwgCiAgICByZXNvdXJjZUhhbmRsZT0weDdmYjAyNzdlZTNlMCwgcmVzcG9u
c2U9Li4uKQogICAgYXQgLi4vLi4vU291cmNlL1dlYktpdDIvU2hhcmVkL0Rvd25sb2Fkcy9zb3Vw
L0Rvd25sb2FkU291cC5jcHA6MjMzCk5vIGxvY2Fscy4KIzYgIDB4MDAwMDdmYjA0NjllODg4YSBp
biBXZWJLaXQ6OkRvd25sb2FkTWFuYWdlcjo6Y29udmVydEhhbmRsZVRvRG93bmxvYWQgKAogICAg
dGhpcz0weDdmYjA0YjA2MmU0OCA8V2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6ZG93bmxvYWRNYW5h
Z2VyKCk6OmRvd25sb2FkTWFuYWdlcj4sIGRvd25sb2FkSUQ9MywgaGFuZGxlPTB4N2ZiMDI3N2Vl
M2UwLCByZXF1ZXN0PS4uLiwgcmVzcG9uc2U9Li4uKQogICAgYXQgLi4vLi4vU291cmNlL1dlYktp
dDIvU2hhcmVkL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuY3BwOjU0CiAgICAgICAgZG93bmxv
YWQgPSBzdGQ6OnVuaXF1ZV9wdHI8V2ViS2l0OjpEb3dubG9hZD4gY29udGFpbmluZyAweDkxOWI1
MAojNyAgMHgwMDAwN2ZiMDQ2ZGEzMzI5IGluIFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3M6OmNvbnZlcnRNYWluUmVzb3VyY2VMb2FkVG9Eb3dubG9hZCAodGhpcz0weDdmYjAy
NzdlNDI0MCwgbWFpblJlc291cmNlTG9hZElkZW50aWZpZXI9MjMsIAogICAgZG93bmxvYWRJRD0z
LCByZXF1ZXN0PS4uLiwgcmVzcG9uc2U9Li4uKQogICAgYXQgLi4vLi4vU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwOjE4OQogICAg
ICAgIG5ldHdvcmtQcm9jZXNzID0gCiAgICBAMHg3ZmIwNGIwNjJiZjg6IHs8V2ViS2l0OjpDaGls
ZFByb2Nlc3M+ID0gezxJUEM6OkNvbm5lY3Rpb246OkNsaWVudD4gPSB7PElQQzo6TWVzc2FnZVJl
Y2VpdmVyPiA9IHsKICAgICAgICAgICAgICAgIF92cHRyJE1lc3NhZ2VSZWNlaXZlciA9IDB4N2Zi
MDRhZWUzZDQwIDx2dGFibGUgZm9yIFdlYktpdDo6TmV0d29ya1Byb2Nlc3MrMTY+LCAKICAgICAg
ICAgICAgICAgIG1fbWVzc2FnZVJlY2VpdmVyTWFwQ291bnQgPSAwfSwgPE5vIGRhdGEgZmllbGRz
Pn0sIDxJUEM6Ok1lc3NhZ2VTZW5kZXI+ID0gewogICAgICAgICAgICAgIF92cHRyJE1lc3NhZ2VT
ZW5kZXIgPSAweDdmYjA0YWVlM2RmOCA8dnRhYmxlIGZvciBXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNz
KzIwMD59LCBtX3Rlcm1pbmF0aW9uVGltZW91dCA9IDAsIG1fdGVybWluYXRpb25Db3VudGVyID0g
MSwgCiAgICAgICAgICAgIG1fdGVybWluYXRpb25UaW1lciA9IHs8V1RGOjpSdW5Mb29wOjpUaW1l
ckJhc2U+ID0gezxObyBkYXRhIGZpZWxkcz59LCAKICAgICAgICAgICAgICBtX29iamVjdCA9IDB4
N2ZiMDRiMDYyYmY4IDxXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpzaW5nbGV0b24oKTo6bmV0d29y
a1Byb2Nlc3M+LCBtX2Z1bmN0aW9uID0gPGVycm9yIHJlYWRpbmcgdmFyaWFibGU+LCBtX2Nvbm5l
Y3Rpb24gPSB7CiAgICAgICAgICAgICAgbV9wdHIgPSAweDdmYjAyNzVmZjAwMH0sIG1fbWVzc2Fn
ZVJlY2VpdmVyTWFwID0gewogICAgICAgICAgICAgIG1fZ2xvYmFsTWVzc2FnZVJlY2VpdmVycyA9
IHttX2ltcGwgPSB7c3RhdGljIG1fbWF4TG9hZCA9IDIsIAogICAgICAgICAgICAgICAgICBzdGF0
aWMgbV9taW5Mb2FkID0gNiwgbV90YWJsZSA9IDB4N2ZiMDI3N2Y3MDAwLCAKICAgICAgICAgICAg
ICAgICAgbV90YWJsZVNpemUgPSA4LCBtX3RhYmxlU2l6ZU1hc2sgPSA3LCBtX2tleUNvdW50ID0g
MiwgCiAgICAgICAgICAgICAgICAgIG1fZGVsZXRlZENvdW50ID0gMCwgbV9pdGVyYXRvcnMgPSAw
eDAsIAogICAgICAgICAgICAgICAgICBtX211dGV4ID0gc3RkOjp1bmlxdWVfcHRyPHN0ZDo6bXV0
ZXg+IGNvbnRhaW5pbmcgMHhiNTdmYjB9fSwgCiAgICAgICAgICAgICAgbV9tZXNzYWdlUmVjZWl2
ZXJzID0ge21faW1wbCA9IHtzdGF0aWMgbV9tYXhMb2FkID0gMiwgCiAgICAgICAgICAgICAgICAg
IHN0YXRpYyBtX21pbkxvYWQgPSA2LCBtX3RhYmxlID0gMHgwLCBtX3RhYmxlU2l6ZSA9IDAsIAog
ICAgICAgICAgICAgICAgICBtX3RhYmxlU2l6ZU1hc2sgPSAwLCBtX2tleUNvdW50ID0gMCwgbV9k
ZWxldGVkQ291bnQgPSAwLCAKICAgICAgICAgICAgICAgICAgbV9pdGVyYXRvcnMgPSAweDAsIAog
ICAgICAgICAgICAgICAgICBtX211dGV4ID0gc3RkOjp1bmlxdWVfcHRyPHN0ZDo6bXV0ZXg+IGNv
bnRhaW5pbmcgMHhjMTYxZDB9fX0sIG1fcHJvY2Vzc1N1cHByZXNzaW9uRGlzYWJsZWQgPSB7PFdl
YkNvcmU6Okh5c3RlcmVzaXNBY3Rpdml0eT4gPSB7CiAgICAgICAgICAgICAgICBtX2NhbGxiYWNr
ID0gezxzdGQ6Ol9NYXliZV91bmFyeV9vcl9iaW5hcnlfZnVuY3Rpb248dm9pZCwgV2ViQ29yZTo6
SHlzdGVyZXNpc1N0YXRlPj4gPSB7PHN0ZDo6dW5hcnlfZnVuY3Rpb248V2ViQ29yZTo6SHlzdGVy
ZXNpc1N0YXRlLCB2b2lkPj4gPSB7PE5vIGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59
LCA8c3RkOjpfRnVuY3Rpb25fYmFzZT4gPSB7CiAgICAgICAgICAgICAgICAgICAgc3RhdGljIF9N
X21heF9zaXplID0gMTYsIHN0YXRpYyBfTV9tYXhfYWxpZ24gPSA4LCAKICAgICAgICAgICAgICAg
ICAgICBfTV9mdW5jdG9yID0ge19NX3VudXNlZCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAg
X01fb2JqZWN0ID0gMHg3ZmIwNGIwNjJkNTAgPFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnNpbmds
ZXRvbigpOjpuZXR3b3JrUHJvY2VzcyszNDQ+LCAKICAgICAgICAgICAgICAgICAgICAgICAgX01f
Y29uc3Rfb2JqZWN0ID0gMHg3ZmIwNGIwNjJkNTAgPFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnNp
bmdsZXRvbigpOjpuZXR3b3JrUHJvY2VzcyszNDQ+LCAKICAgICAgICAgICAgICAgICAgICAgICAg
X01fZnVuY3Rpb25fcG9pbnRlciA9IDB4N2ZiMDRiMDYyZDUwIDxXZWJLaXQ6Ok5ldHdvcmtQcm9j
ZXNzOjpzaW5nbGV0b24oKTo6bmV0d29ya1Byb2Nlc3MrMzQ0PiwgCiAgICAgICAgICAgICAgICAg
ICAgICAgIF9NX21lbWJlcl9wb2ludGVyID0gPGVycm9yIHJlYWRpbmcgdmFyaWFibGU+LCAKICAg
ICAgICAgICAgICAgICAgICAgIF9NX3BvZF9kYXRhID0gIlAtXDAwNktcMjYwXDE3N1wwMDBcMDAw
XDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LCBfTV9tYW5hZ2VyID0gMHg3ZmIwNDdlNzUz
NDAKICAgICA8c3RkOjpfRnVuY3Rpb25fYmFzZTo6X0Jhc2VfbWFuYWdlcjxXZWJDb3JlOjpVc2Vy
QWN0aXZpdHk6OlVzZXJBY3Rpdml0eShjaGFyIGNvbnN0Kik6OiRfMD46Ol9NX21hbmFnZXIoc3Rk
OjpfQW55X2RhdGEmLCBzdGQ6Ol9BbnlfZGF0YSBjb25zdCYsIHN0ZDo6X01hbmFnZXJfb3BlcmF0
aW9uKT59LCAKICAgICAgICAgICAgICAgICAgX01faW52b2tlciA9IDB4N2ZiMDQ3ZTc1MzAwIDxz
dGQ6Ol9GdW5jdGlvbl9oYW5kbGVyPHZvaWQgKFdlYkNvcmU6Okh5c3RlcmVzaXNTdGF0ZSksIFdl
YkNvcmU6OlVzZXJBY3Rpdml0eTo6VXNlckFjdGl2aXR5KGNoYXIgY29uc3QqKTo6JF8wPjo6X01f
aW52b2tlKHN0ZDo6X0FueV9kYXRhIGNvbnN0JiwgV2ViQ29yZTo6SHlzdGVyZXNpc1N0YXRlJiYp
Pn0sIAogICAgICAgICAgICAgICAgbV9oeXN0ZXJlc2lzU2Vjb25kcyA9IDUsIG1fYWN0aXZlID0g
ZmFsc2UsIAogICAgICAgICAgICAgICAgbV90aW1lciA9IHs8V2ViQ29yZTo6VGltZXJCYXNlPiA9
IHsKICAgICAgICAgICAgICAgICAgICBfdnB0ciRUaW1lckJhc2UgPSAweDdmYjA0YWVkNzU4MCA8
dnRhYmxlIGZvciBXZWJDb3JlOjpUaW1lcisxNj4sIG1fbmV4dEZpcmVUaW1lID0gMCwgbV91bmFs
aWduZWROZXh0RmlyZVRpbWUgPSAwLCBtX3JlcGVhdEludGVydmFsID0gMCwgCiAgICAgICAgICAg
ICAgICAgICAgbV9oZWFwSW5kZXggPSAtMSwgbV9oZWFwSW5zZXJ0aW9uT3JkZXIgPSAwLCAKICAg
ICAgICAgICAgICAgICAgICBtX2NhY2hlZFRocmVhZEdsb2JhbFRpbWVySGVhcCA9IDB4MCwgbV90
aHJlYWQgPSAxLCAKICAgICAgICAgICAgICAgICAgICBtX3dhc0RlbGV0ZWQgPSBmYWxzZX0sIAog
ICAgICAgICAgICAgICAgICBtX2Z1bmN0aW9uID0gezxzdGQ6Ol9NYXliZV91bmFyeV9vcl9iaW5h
cnlfZnVuY3Rpb248dm9pZD4+ID0gezxObyBkYXRhIGZpZWxkcz59LCA8c3RkOjpfRnVuY3Rpb25f
YmFzZT4gPSB7c3RhdGljIF9NX21heF9zaXplID0gMTYsIAogICAgICAgICAgICAgICAgICAgICAg
c3RhdGljIF9NX21heF9hbGlnbiA9IDgsIF9NX2Z1bmN0b3IgPSB7X01fdW51c2VkID0gewogICAg
ICAgICAgICAgICAgICAgICAgICAgIF9NX29iamVjdCA9IDB4OTJkZTUwLCBfTV9jb25zdF9vYmpl
Y3QgPSAweDkyZGU1MCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgX01fZnVuY3Rpb25fcG9p
bnRlciA9IDB4OTJkZTUwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICBfTV9tZW1iZXJfcG9p
bnRlciA9IDxlcnJvciByZWFkaW5nIHZhcmlhYmxlPiwgCiAgICAgICAgICAgICAgICAgICAgICAg
IF9NX3BvZF9kYXRhID0gIlDekiIsICdcMDAwJyA8cmVwZWF0cyAxMiB0aW1lcz59LCAKICAgICAg
ICAgICAgICAgICAgICAgIF9NX21hbmFnZXIgPSAweDdmYjA0NmQ5ZDg5MAogICAgIDxzdGQ6Ol9G
dW5jdGlvbl9iYXNlOjpfQmFzZV9tYW5hZ2VyPHN0ZDo6X0JpbmQ8c3RkOjpfTWVtX2ZuPHZvaWQg
KFdlYkNvcmU6Okh5c3RlcmVzaXNBY3Rpdml0eTo6KikoKT4gKFdlYkNvcmU6Okh5c3RlcmVzaXNB
Y3Rpdml0eSopPiA+OjpfTV9tYW5hZ2VyKHN0ZDo6X0FueV9kYXRhJiwgc3RkOjpfQW55X2RhdGEg
Y29uc3QmLCBzdGQ6Ol9NYW5hZ2VyX29wZXJhdGlvbik+fSwgCiAgICAgICAgICAgICAgICAgICAg
X01faW52b2tlciA9IDB4N2ZiMDQ2ZDlkODYwIDxzdGQ6Ol9GdW5jdGlvbl9oYW5kbGVyPHZvaWQg
KCksIHN0ZDo6X0JpbmQ8c3RkOjpfTWVtX2ZuPHZvaWQgKFdlYkNvcmU6Okh5c3RlcmVzaXNBY3Rp
dml0eTo6KikoKT4gKFdlYkNvcmU6Okh5c3RlcmVzaXNBY3Rpdml0eSopPiA+OjpfTV9pbnZva2Uo
c3RkOjpfQW55X2RhdGEgY29uc3QmKT59fX0sIAogICAgICAgICAgICAgIG1faW1wbCA9IHs8Tm8g
ZGF0YSBmaWVsZHM+fX19LCA8V2ViS2l0OjpEb3dubG9hZE1hbmFnZXI6OkNsaWVudD4gPSB7X3Zw
dHIkQ2xpZW50ID0gMHg3ZmIwNGFlZTNlMzAgPHZ0YWJsZSBmb3IgV2ViS2l0OjpOZXR3b3JrUHJv
Y2VzcysyNTY+fSwgCiAgICAgICAgICBtX3dlYlByb2Nlc3NDb25uZWN0aW9ucyA9IHs8V1RGOjpW
ZWN0b3JCdWZmZXI8V1RGOjpSZWZQdHI8V2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcz4sIDA+PiA9IHs8V1RGOjpWZWN0b3JCdWZmZXJCYXNlPFdURjo6UmVmUHRyPFdlYktpdDo6
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M+ID4+ID0ge21fYnVmZmVyID0gMHg3ZmIwMjc3
ZmNlMDAsIG1fY2FwYWNpdHkgPSAxNiwgCiAgICAgICAgICAgICAgICBtX3NpemUgPSAxfSwgPE5v
IGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59LCAKICAgICAgICAgIG1fZGlza0NhY2hl
RGlyZWN0b3J5ID0ge21faW1wbCA9IHttX3B0ciA9IDB4N2ZiMDI3N2ZlMDQwfX0sIAogICAgICAg
ICAgbV9oYXNTZXRDYWNoZU1vZGVsID0gdHJ1ZSwgCiAgICAgICAgICBtX2NhY2hlTW9kZWwgPSBX
ZWJLaXQ6OkNhY2hlTW9kZWxQcmltYXJ5V2ViQnJvd3NlciwgCiAgICAgICAgICBtX2Rpc2tDYWNo
ZVNpemVPdmVycmlkZSA9IC0xLCAKICAgICAgICAgIG1fZGlza0NhY2hlSXNEaXNhYmxlZEZvclRl
c3RpbmcgPSBmYWxzZSwgCiAgICAgICAgICBtX2NhbkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFs
dWF0aW9uID0gdHJ1ZSwgbV9zdXBwbGVtZW50cyA9IHsKICAgICAgICAgICAgbV9pbXBsID0ge3N0
YXRpYyBtX21heExvYWQgPSAyLCBzdGF0aWMgbV9taW5Mb2FkID0gNiwgCiAgICAgICAgICAgICAg
bV90YWJsZSA9IDB4N2ZiMDI3N2ZjMjAwLCBtX3RhYmxlU2l6ZSA9IDgsIG1fdGFibGVTaXplTWFz
ayA9IDcsIAogICAgICAgICAgICAgIG1fa2V5Q291bnQgPSAzLCBtX2RlbGV0ZWRDb3VudCA9IDAs
IG1faXRlcmF0b3JzID0gMHgwLCAKICAgICAgICAgICAgICBtX211dGV4ID0gc3RkOjp1bmlxdWVf
cHRyPHN0ZDo6bXV0ZXg+IGNvbnRhaW5pbmcgMHhhOWE0NDB9fX0KICAgICAgICBsb2FkZXIgPSAw
eDdmYjAyNzAxODRjMAojOCAgMHgwMDAwN2ZiMDQ2ZjU1ZWIwIGluIElQQzo6Y2FsbE1lbWJlckZ1
bmN0aW9uSW1wbDxXZWJLaXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLCB2b2lkIChX
ZWJLaXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjoqKSh1bnNpZ25lZCBsb25nLCB1
bnNpZ25lZCBsb25nLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgY29uc3QmLCBXZWJDb3JlOjpS
ZXNvdXJjZVJlc3BvbnNlIGNvbnN0JiksIHN0ZDo6dHVwbGU8dW5zaWduZWQgbG9uZywgdW5zaWdu
ZWQgbG9uZywgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0LCBXZWJDb3JlOjpSZXNvdXJjZVJlc3Bv
bnNlPiwgMHVsLCAxdWwsIDJ1bCwgM3VsPihXZWJLaXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzKiwgdm9pZCAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Kiko
dW5zaWduZWQgbG9uZywgdW5zaWduZWQgbG9uZywgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IGNv
bnN0JiwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSBjb25zdCYpLCBzdGQ6OnR1cGxlPHVuc2ln
bmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCwgV2ViQ29y
ZTo6UmVzb3VyY2VSZXNwb25zZT4mJiwgc3RkOjppbmRleF9zZXF1ZW5jZTwwdWwsIDF1bCwgMnVs
LCAzdWw+KSAob2JqZWN0PTB4N2ZiMDI3N2U0MjQwLCBmdW5jdGlvbj0KICAgICh2b2lkIChXZWJL
aXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjoqKShXZWJLaXQ6Ok5ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzICogY29uc3QsIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcs
IGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCAmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZVJlc3BvbnNlICYpKSAweDdmYjA0NmRhMzI4MCA8V2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzczo6Y29udmVydE1haW5SZXNvdXJjZUxvYWRUb0Rvd25sb2FkKHVuc2lnbmVkIGxv
bmcsIHVuc2lnbmVkIGxvbmcsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCBjb25zdCYsIFdlYkNv
cmU6OlJlc291cmNlUmVzcG9uc2UgY29uc3QmKT4sIAogICAgYXJncz08dW5rbm93biB0eXBlIGlu
IC9ob21lL21jYXRhbnphcm8vamhidWlsZC9pbnN0YWxsL2xpYi9saWJ3ZWJraXQyZ3RrLTQuMC5z
by4zNywgQ1UgMHgwLCBESUUgMHgyOTA3Mz4pCiAgICBhdCAuLi8uLi9Tb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybS9JUEMvSGFuZGxlTWVzc2FnZS5oOjE2Ck5vIGxvY2Fscy4KIzkgIDB4MDAwMDdmYjA0
NmY1NWM3YyBpbiBJUEM6OmNhbGxNZW1iZXJGdW5jdGlvbjxXZWJLaXQ6Ok5ldHdvcmtDb25uZWN0
aW9uVG9XZWJQcm9jZXNzLCB2b2lkIChXZWJLaXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzOjoqKSh1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nLCBXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3QgY29uc3QmLCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIGNvbnN0JiksIHN0ZDo6dHVw
bGU8dW5zaWduZWQgbG9uZywgdW5zaWduZWQgbG9uZywgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
LCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlPiwgc3RkOjptYWtlX2luZGV4X3NlcXVlbmNlPDR1
bD4gPihzdGQ6OnR1cGxlPHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZT4mJiwgV2ViS2l0OjpOZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyosIHZvaWQgKFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rp
b25Ub1dlYlByb2Nlc3M6OiopKHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCBjb25zdCYsIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgY29uc3Qm
KSkgKAogICAgYXJncz08dW5rbm93biB0eXBlIGluIC9ob21lL21jYXRhbnphcm8vamhidWlsZC9p
bnN0YWxsL2xpYi9saWJ3ZWJraXQyZ3RrLTQuMC5zby4zNywgQ1UgMHgwLCBESUUgMHgyOTAwYT4s
IG9iamVjdD0weDdmYjAyNzdlNDI0MCwgZnVuY3Rpb249CiAgICAodm9pZCAoV2ViS2l0OjpOZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6KikoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2VzcyAqIGNvbnN0LCB1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nLCBjb25zdCBX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgJiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZSAmKSkgMHg3ZmIwNDZkYTMyODAgPFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6OmNvbnZlcnRNYWluUmVzb3VyY2VMb2FkVG9Eb3dubG9hZCh1bnNpZ25lZCBsb25nLCB1bnNp
Z25lZCBsb25nLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgY29uc3QmLCBXZWJDb3JlOjpSZXNv
dXJjZVJlc3BvbnNlIGNvbnN0Jik+KQogICAgYXQgLi4vLi4vU291cmNlL1dlYktpdDIvUGxhdGZv
cm0vSVBDL0hhbmRsZU1lc3NhZ2UuaDoyMgpObyBsb2NhbHMuCiMxMCAweDAwMDA3ZmIwNDZmNGVj
NTAgaW4gSVBDOjpoYW5kbGVNZXNzYWdlPE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzczo6Q29udmVydE1haW5SZXNvdXJjZUxvYWRUb0Rvd25sb2FkLCBXZWJLaXQ6Ok5ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLCB2b2lkIChXZWJLaXQ6Ok5ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzOjoqKSh1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nLCBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QgY29uc3QmLCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIGNvbnN0Jik+
ICgKICAgIGRlY29kZXI9Li4uLCBvYmplY3Q9MHg3ZmIwMjc3ZTQyNDAsIGZ1bmN0aW9uPQogICAg
KHZvaWQgKFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OiopKFdlYktpdDo6
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MgKiBjb25zdCwgdW5zaWduZWQgbG9uZywgdW5z
aWduZWQgbG9uZywgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0ICYsIGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlUmVzcG9uc2UgJikpIDB4N2ZiMDQ2ZGEzMjgwIDxXZWJLaXQ6Ok5ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzOjpjb252ZXJ0TWFpblJlc291cmNlTG9hZFRvRG93bmxvYWQo
dW5zaWduZWQgbG9uZywgdW5zaWduZWQgbG9uZywgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IGNv
bnN0JiwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSBjb25zdCYpPikKICAgIGF0IC4uLy4uL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9IYW5kbGVNZXNzYWdlLmg6OTIKICAgICAgICBhcmd1
bWVudHMgPSBzdGQ6OnR1cGxlIGNvbnRhaW5pbmcgPSB7WzFdID0gMjMsIFsyXSA9IDMsIAogICAg
ICAgICAgWzNdID0gezxXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlPiA9IHttX3VybCA9IHtt
X3N0cmluZyA9IHsKICAgICAgICAgICAgICAgICAgbV9pbXBsID0ge21fcHRyID0gMHg3ZmIwMjc3
ZGM4ZjB9fSwgbV9pc1ZhbGlkID0gdHJ1ZSwgCiAgICAgICAgICAgICAgICBtX3Byb3RvY29sSXNJ
bkhUVFBGYW1pbHkgPSB0cnVlLCBtX3NjaGVtZUVuZCA9IDQsIAogICAgICAgICAgICAgICAgbV91
c2VyU3RhcnQgPSA3LCBtX3VzZXJFbmQgPSA3LCBtX3Bhc3N3b3JkRW5kID0gNywgCiAgICAgICAg
ICAgICAgICBtX2hvc3RFbmQgPSAyNCwgbV9wb3J0RW5kID0gMjQsIG1fcGF0aEFmdGVyTGFzdFNs
YXNoID0gNTUsIAogICAgICAgICAgICAgICAgbV9wYXRoRW5kID0gODMsIG1fcXVlcnlFbmQgPSA4
MywgbV9mcmFnbWVudEVuZCA9IDgzfSwgCiAgICAgICAgICAgICAgbV90aW1lb3V0SW50ZXJ2YWwg
PSAwLCBtX2ZpcnN0UGFydHlGb3JDb29raWVzID0ge21fc3RyaW5nID0gewogICAgICAgICAgICAg
ICAgICBtX2ltcGwgPSB7bV9wdHIgPSAweDdmYjAyNzdlMjcyMH19LCBtX2lzVmFsaWQgPSB0cnVl
LCAKICAgICAgICAgICAgICAgIG1fcHJvdG9jb2xJc0luSFRUUEZhbWlseSA9IHRydWUsIG1fc2No
ZW1lRW5kID0gNCwgCiAgICAgICAgICAgICAgICBtX3VzZXJTdGFydCA9IDcsIG1fdXNlckVuZCA9
IDcsIG1fcGFzc3dvcmRFbmQgPSA3LCAKICAgICAgICAgICAgICAgIG1faG9zdEVuZCA9IDI1LCBt
X3BvcnRFbmQgPSAyNSwgbV9wYXRoQWZ0ZXJMYXN0U2xhc2ggPSAyNiwgCiAgICAgICAgICAgICAg
ICBtX3BhdGhFbmQgPSAyNiwgbV9xdWVyeUVuZCA9IDI2LCBtX2ZyYWdtZW50RW5kID0gMjZ9LCAK
ICAgICAgICAgICAgICBtX2h0dHBNZXRob2QgPSB7bV9pbXBsID0ge21fcHRyID0gMHg3ZmIwMjc3
Y2RmOTB9fSwgCiAgICAgICAgICAgICAgbV9odHRwSGVhZGVyRmllbGRzID0ge21fY29tbW9uSGVh
ZGVycyA9IHttX2ltcGwgPSB7CiAgICAgICAgICAgICAgICAgICAgc3RhdGljIG1fbWF4TG9hZCA9
IDIsIHN0YXRpYyBtX21pbkxvYWQgPSA2LCAKICAgICAgICAgICAgICAgICAgICBtX3RhYmxlID0g
MHg3ZmIwMjc3YzdiMDAsIG1fdGFibGVTaXplID0gMTYsIAogICAgICAgICAgICAgICAgICAgIG1f
dGFibGVTaXplTWFzayA9IDE1LCBtX2tleUNvdW50ID0gNCwgbV9kZWxldGVkQ291bnQgPSAwLCAK
ICAgICAgICAgICAgICAgICAgICBtX2l0ZXJhdG9ycyA9IDB4MCwgCiAgICAgICAgICAgICAgICAg
ICAgbV9tdXRleCA9IHN0ZDo6dW5pcXVlX3B0cjxzdGQ6Om11dGV4PiBjb250YWluaW5nIDB4YmQ1
MGQwfX0sIG1fdW5jb21tb25IZWFkZXJzID0ge21faW1wbCA9IHtzdGF0aWMgbV9tYXhMb2FkID0g
Miwgc3RhdGljIG1fbWluTG9hZCA9IDYsIAogICAgICAgICAgICAgICAgICAgIG1fdGFibGUgPSAw
eDAsIG1fdGFibGVTaXplID0gMCwgbV90YWJsZVNpemVNYXNrID0gMCwgCiAgICAgICAgICAgICAg
ICAgICAgbV9rZXlDb3VudCA9IDAsIG1fZGVsZXRlZENvdW50ID0gMCwgbV9pdGVyYXRvcnMgPSAw
eDAsIAogICAgICAgICAgICAgICAgICAgIG1fbXV0ZXggPSBzdGQ6OnVuaXF1ZV9wdHI8c3RkOjpt
dXRleD4gY29udGFpbmluZyAweGM3OWZkMH19fSwgCiAgICAgICAgICAgICAgbV9yZXNwb25zZUNv
bnRlbnREaXNwb3NpdGlvbkVuY29kaW5nRmFsbGJhY2tBcnJheSA9IHs8V1RGOjpWZWN0b3JCdWZm
ZXI8V1RGOjpTdHJpbmcsIDA+PiA9IHs8V1RGOjpWZWN0b3JCdWZmZXJCYXNlPFdURjo6U3RyaW5n
Pj4gPSB7bV9idWZmZXIgPSAweDAsIAogICAgICAgICAgICAgICAgICAgIG1fY2FwYWNpdHkgPSAw
LCAKICAgICAgICAgICAgICAgICAgICBtX3NpemUgPSAwfSwgPE5vIGRhdGEgZmllbGRzPn0sIDxO
byBkYXRhIGZpZWxkcz59LCAKICAgICAgICAgICAgICBtX2h0dHBCb2R5ID0ge21fcHRyID0gMHgw
fSwgCiAgICAgICAgICAgICAgbV9jYWNoZVBvbGljeSA9IFdlYkNvcmU6OlVzZVByb3RvY29sQ2Fj
aGVQb2xpY3ksIAogICAgICAgICAgICAgIG1fYWxsb3dDb29raWVzID0gdHJ1ZSwgbV9yZXNvdXJj
ZVJlcXVlc3RVcGRhdGVkID0gdHJ1ZSwgCiAgICAgICAgICAgICAgbV9wbGF0Zm9ybVJlcXVlc3RV
cGRhdGVkID0gZmFsc2UsIAogICAgICAgICAgICAgIG1fcmVzb3VyY2VSZXF1ZXN0Qm9keVVwZGF0
ZWQgPSB0cnVlLCAKICAgICAgICAgICAgICBtX3BsYXRmb3JtUmVxdWVzdEJvZHlVcGRhdGVkID0g
ZmFsc2UsIAogICAgICAgICAgICAgIG1fcmVwb3J0VXBsb2FkUHJvZ3Jlc3MgPSBmYWxzZSwgbV9y
ZXBvcnRMb2FkVGltaW5nID0gZmFsc2UsIAogICAgICAgICAgICAgIG1fcmVwb3J0UmF3SGVhZGVy
cyA9IGZhbHNlLCBtX2hpZGRlbkZyb21JbnNwZWN0b3IgPSBmYWxzZSwgCiAgICAgICAgICAgICAg
bV9wcmlvcml0eSA9IFdlYkNvcmU6OlJlc291cmNlTG9hZFByaW9yaXR5OjpWZXJ5SGlnaCwgCiAg
ICAgICAgICAgICAgbV9yZXF1ZXN0ZXIgPSBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpS
ZXF1ZXN0ZXI6Ok1haW4sIAogICAgICAgICAgICAgIHN0YXRpYyBzX2RlZmF1bHRUaW1lb3V0SW50
ZXJ2YWwgPSAwfSwgbV9hY2NlcHRFbmNvZGluZyA9IHRydWUsIAogICAgICAgICAgICBtX3NvdXBG
bGFncyA9ICh1bmtub3duOiAwKSwgbV9pbml0aWF0aW5nUGFnZUlEID0gNH0sIAogICAgICAgICAg
WzRdID0gezxXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZT4gPSB7bV9pc051bGwgPSBmYWxz
ZSwgbV91cmwgPSB7CiAgICAgICAgICAgICAgICBtX3N0cmluZyA9IHttX2ltcGwgPSB7bV9wdHIg
PSAweDdmYjAyNzdkYzk1OH19LCAKICAgICAgICAgICAgICAgIG1faXNWYWxpZCA9IHRydWUsIG1f
cHJvdG9jb2xJc0luSFRUUEZhbWlseSA9IHRydWUsIAogICAgICAgICAgICAgICAgbV9zY2hlbWVF
bmQgPSA0LCBtX3VzZXJTdGFydCA9IDcsIG1fdXNlckVuZCA9IDcsIAogICAgICAgICAgICAgICAg
bV9wYXNzd29yZEVuZCA9IDcsIG1faG9zdEVuZCA9IDI0LCBtX3BvcnRFbmQgPSAyNCwgCiAgICAg
ICAgICAgICAgICBtX3BhdGhBZnRlckxhc3RTbGFzaCA9IDU1LCBtX3BhdGhFbmQgPSA4MywgbV9x
dWVyeUVuZCA9IDgzLCAKICAgICAgICAgICAgICAgIG1fZnJhZ21lbnRFbmQgPSA4M30sIG1fbWlt
ZVR5cGUgPSB7bV9zdHJpbmcgPSB7bV9pbXBsID0gewogICAgICAgICAgICAgICAgICAgIG1fcHRy
ID0gMHg3ZmIwMjc3ZTI2YzB9fX0sIAogICAgICAgICAgICAgIG1fZXhwZWN0ZWRDb250ZW50TGVu
Z3RoID0gMzk5NDA5MTUyMCwgbV90ZXh0RW5jb2RpbmdOYW1lID0gewogICAgICAgICAgICAgICAg
bV9zdHJpbmcgPSB7bV9pbXBsID0gewogICAgICAgICAgICAgICAgICAgIG1fcHRyID0gMHg3ZmIw
NDMwMmRjMDAgPFdURjo6U3RyaW5nSW1wbDo6ZW1wdHkoKTo6ZW1wdHlTdHJpbmc+fX19LCBtX2h0
dHBTdGF0dXNUZXh0ID0ge21fc3RyaW5nID0ge21faW1wbCA9IHttX3B0ciA9IDB4N2ZiMDI3N2Nk
ZWEwfX19LCAKICAgICAgICAgICAgICBtX2h0dHBIZWFkZXJGaWVsZHMgPSB7bV9jb21tb25IZWFk
ZXJzID0ge21faW1wbCA9IHsKICAgICAgICAgICAgICAgICAgICBzdGF0aWMgbV9tYXhMb2FkID0g
Miwgc3RhdGljIG1fbWluTG9hZCA9IDYsIAogICAgICAgICAgICAgICAgICAgIG1fdGFibGUgPSAw
eDdmYjAyNzVkMGEwMCwgbV90YWJsZVNpemUgPSAzMiwgCiAgICAgICAgICAgICAgICAgICAgbV90
YWJsZVNpemVNYXNrID0gMzEsIG1fa2V5Q291bnQgPSAxMCwgbV9kZWxldGVkQ291bnQgPSAwLCAK
ICAgICAgICAgICAgICAgICAgICBtX2l0ZXJhdG9ycyA9IDB4MCwgCiAgICAgICAgICAgICAgICAg
ICAgbV9tdXRleCA9IHN0ZDo6dW5pcXVlX3B0cjxzdGQ6Om11dGV4PiBjb250YWluaW5nIDB4Yzdh
Y2YwfX0sIG1fdW5jb21tb25IZWFkZXJzID0ge21faW1wbCA9IHtzdGF0aWMgbV9tYXhMb2FkID0g
Miwgc3RhdGljIG1fbWluTG9hZCA9IDYsIAogICAgICAgICAgICAgICAgICAgIG1fdGFibGUgPSAw
eDAsIG1fdGFibGVTaXplID0gMCwgbV90YWJsZVNpemVNYXNrID0gMCwgCiAgICAgICAgICAgICAg
ICAgICAgbV9rZXlDb3VudCA9IDAsIG1fZGVsZXRlZENvdW50ID0gMCwgbV9pdGVyYXRvcnMgPSAw
eDAsIAogICAgICAgICAgICAgICAgICAgIG1fbXV0ZXggPSBzdGQ6OnVuaXF1ZV9wdHI8c3RkOjpt
dXRleD4gY29udGFpbmluZyAweDkxYTI5MH19fSwgbV9yZXNvdXJjZUxvYWRUaW1pbmcgPSB7ZG9t
YWluTG9va3VwU3RhcnQgPSAwLCBkb21haW5Mb29rdXBFbmQgPSAxMiwgCiAgICAgICAgICAgICAg
ICBjb25uZWN0U3RhcnQgPSAwLCBjb25uZWN0RW5kID0gMTc2LCByZXF1ZXN0U3RhcnQgPSAxNzYs
IAogICAgICAgICAgICAgICAgcmVzcG9uc2VTdGFydCA9IDM0Miwgc2VjdXJlQ29ubmVjdGlvblN0
YXJ0ID0gLTF9LCAKICAgICAgICAgICAgICBtX2luY2x1ZGVzQ2VydGlmaWNhdGVJbmZvID0gdHJ1
ZSwgbV9jZXJ0aWZpY2F0ZUluZm8gPSB7CiAgICAgICAgICAgICAgICBtX2NlcnRpZmljYXRlID0g
e21fcHRyID0gMHgwfSwgbV90bHNFcnJvcnMgPSAwfSwgCiAgICAgICAgICAgICAgbV9odHRwU3Rh
dHVzQ29kZSA9IDIwMCwgbV9hZ2UgPSB7bV9pc0VuZ2FnZWQgPSBmYWxzZSwgbV92YWx1ZSA9IHsK
ICAgICAgICAgICAgICAgICAgX19kYXRhID0gIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAi
LCAKICAgICAgICAgICAgICAgICAgX19hbGlnbiA9IHs8Tm8gZGF0YSBmaWVsZHM+fX19LCBtX2Rh
dGUgPSB7CiAgICAgICAgICAgICAgICBtX2lzRW5nYWdlZCA9IGZhbHNlLCBtX3ZhbHVlID0gewog
ICAgICAgICAgICAgICAgICBfX2RhdGEgPSAiXDAzMCcpS1wyNjBcMTc3XDAwMCIsIAogICAgICAg
ICAgICAgICAgICBfX2FsaWduID0gezxObyBkYXRhIGZpZWxkcz59fX0sIG1fZXhwaXJlcyA9IHsK
ICAgICAgICAgICAgICAgIG1faXNFbmdhZ2VkID0gZmFsc2UsIG1fdmFsdWUgPSB7CiAgICAgICAg
ICAgICAgICAgIF9fZGF0YSA9ICJcMzYwXDMzMVwwNzEjXDM3NlwxNzdcMDAwIiwgCiAgICAgICAg
ICAgICAgICAgIF9fYWxpZ24gPSB7PE5vIGRhdGEgZmllbGRzPn19fSwgbV9sYXN0TW9kaWZpZWQg
PSB7CiAgICAgICAgICAgICAgICBtX2lzRW5nYWdlZCA9IGZhbHNlLCBtX3ZhbHVlID0gewogICAg
ICAgICAgICAgICAgICBfX2RhdGEgPSAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCIsIAog
ICAgICAgICAgICAgICAgICBfX2FsaWduID0gezxObyBkYXRhIGZpZWxkcz59fX0sIG1fY2FjaGVD
b250cm9sRGlyZWN0aXZlcyA9IHsKICAgICAgICAgICAgICAgIG1heEFnZSA9IHttX2lzRW5nYWdl
ZCA9IGZhbHNlLCBtX3ZhbHVlID0gewogICAgICAgICAgICAgICAgICAgIF9fZGF0YSA9ICJcMDIw
XDMzMlwwNzEjXDM3NlwxNzdcMDAwIiwgCiAgICAgICAgICAgICAgICAgICAgX19hbGlnbiA9IHs8
Tm8gZGF0YSBmaWVsZHM+fX19LCBtYXhTdGFsZSA9IHsKICAgICAgICAgICAgICAgICAgbV9pc0Vu
Z2FnZWQgPSBmYWxzZSwgbV92YWx1ZSA9IHsKICAgICAgICAgICAgICAgICAgICBfX2RhdGEgPSAi
XDAwMFwzMzJcMDcxI1wzNzZcMTc3XDAwMCIsIAogICAgICAgICAgICAgICAgICAgIF9fYWxpZ24g
PSB7PE5vIGRhdGEgZmllbGRzPn19fSwgbm9DYWNoZSA9IGZhbHNlLCAKICAgICAgICAgICAgICAg
IG5vU3RvcmUgPSBmYWxzZSwgbXVzdFJldmFsaWRhdGUgPSBmYWxzZX0sIAogICAgICAgICAgICAg
IG1faGF2ZVBhcnNlZENhY2hlQ29udHJvbEhlYWRlciA9IGZhbHNlLCAKICAgICAgICAgICAgICBt
X2hhdmVQYXJzZWRBZ2VIZWFkZXIgPSBmYWxzZSwgbV9oYXZlUGFyc2VkRGF0ZUhlYWRlciA9IGZh
bHNlLCAKICAgICAgICAgICAgICBtX2hhdmVQYXJzZWRFeHBpcmVzSGVhZGVyID0gZmFsc2UsIAog
ICAgICAgICAgICAgIG1faGF2ZVBhcnNlZExhc3RNb2RpZmllZEhlYWRlciA9IGZhbHNlLCAKICAg
ICAgICAgICAgICBtX3NvdXJjZSA9IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2VCYXNlOjpTb3Vy
Y2U6Ok5ldHdvcmt9LCAKICAgICAgICAgICAgbV9zb3VwRmxhZ3MgPSBTT1VQX01FU1NBR0VfTk9f
UkVESVJFQ1QsIG1fc25pZmZlZENvbnRlbnRUeXBlID0gewogICAgICAgICAgICAgIG1faW1wbCA9
IHttX3B0ciA9IDB4MH19LCBtX2NlcnRpZmljYXRlID0ge21fcHRyID0gMHgwfSwgCiAgICAgICAg
ICAgIG1fdGxzRXJyb3JzID0gMH19CiMxMSAweDAwMDA3ZmIwNDZmNGRjNTIgaW4gV2ViS2l0OjpO
ZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZU5ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzTWVzc2FnZSAodGhpcz0weDdmYjAyNzdlNDI0MCwgY29ubmVjdGlvbj0uLi4s
IAogICAgZGVjb2Rlcj0uLi4pCiAgICBhdCBEZXJpdmVkU291cmNlcy9XZWJLaXQyL05ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZVJlY2VpdmVyLmNwcDoxMDMKTm8gbG9jYWxzLgoj
MTIgMHgwMDAwN2ZiMDQ2ZGEyODJlIGluIFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3M6OmRpZFJlY2VpdmVNZXNzYWdlICh0aGlzPTB4N2ZiMDI3N2U0MjQwLCBjb25uZWN0aW9u
PS4uLiwgZGVjb2Rlcj0uLi4pCiAgICBhdCAuLi8uLi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHA6NzQKTm8gbG9jYWxzLgojMTMg
MHgwMDAwN2ZiMDQ2OTEzMjAzIGluIElQQzo6Q29ubmVjdGlvbjo6ZGlzcGF0Y2hNZXNzYWdlICgK
ICAgIHRoaXM9MHg3ZmIwMjc1ZmY0ZjAsIGRlY29kZXI9Li4uKQogICAgYXQgLi4vLi4vU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwOjg3NwpObyBsb2NhbHMuCiMxNCAw
eDAwMDA3ZmIwNDY5MGUxODcgaW4gSVBDOjpDb25uZWN0aW9uOjpkaXNwYXRjaE1lc3NhZ2UgKAog
ICAgdGhpcz0weDdmYjAyNzVmZjRmMCwgbWVzc2FnZT0uLi4pCiAgICBhdCAuLi8uLi9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5jcHA6OTAwCiAgICAgICAgb2xkRGlkUmVj
ZWl2ZUludmFsaWRNZXNzYWdlID0gZmFsc2UKIzE1IDB4MDAwMDdmYjA0NjkxMzMyZiBpbiBJUEM6
OkNvbm5lY3Rpb246OmRpc3BhdGNoT25lTWVzc2FnZSAoCiAgICB0aGlzPTB4N2ZiMDI3NWZmNGYw
KQogICAgYXQgLi4vLi4vU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3Bw
OjkyOAogICAgICAgIG1lc3NhZ2UgPSBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRGVjb2Rl
cj4gY29udGFpbmluZyAweDAKIzE2IDB4MDAwMDdmYjA0NjkxMzY2ZCBpbiBJUEM6OkNvbm5lY3Rp
b246OmVucXVldWVJbmNvbWluZ01lc3NhZ2Uoc3RkOjp1bmlxdWVfcHRyPElQQzo6TWVzc2FnZURl
Y29kZXIsIHN0ZDo6ZGVmYXVsdF9kZWxldGU8SVBDOjpNZXNzYWdlRGVjb2Rlcj4gPik6OiRfMTA6
Om9wZXJhdG9yKCkoKSBjb25zdCAodGhpcz0weDdmYWZjMDAwMTE5MCkKICAgIGF0IC4uLy4uL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcDo4NzEKTm8gbG9jYWxzLgoj
MTcgMHgwMDAwN2ZiMDQ2OTEzNDNkIGluIHN0ZDo6X0Z1bmN0aW9uX2hhbmRsZXI8dm9pZCAoKSwg
SVBDOjpDb25uZWN0aW9uOjplbnF1ZXVlSW5jb21pbmdNZXNzYWdlKHN0ZDo6dW5pcXVlX3B0cjxJ
UEM6Ok1lc3NhZ2VEZWNvZGVyLCBzdGQ6OmRlZmF1bHRfZGVsZXRlPElQQzo6TWVzc2FnZURlY29k
ZXI+ID4pOjokXzEwPjo6X01faW52b2tlKHN0ZDo6X0FueV9kYXRhIGNvbnN0JikgKF9fZnVuY3Rv
cj0uLi4pCiAgICBhdCAvdXNyL2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC1yZWRoYXQtbGludXgvNS4x
LjEvLi4vLi4vLi4vLi4vaW5jbHVkZS9jKysvNS4xLjEvZnVuY3Rpb25hbDoxODcxCk5vIGxvY2Fs
cy4KIzE4IDB4MDAwMDdmYjA0Njg3ZTBmZSBpbiBzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+OjpvcGVy
YXRvcigpKCkgY29uc3QgKAogICAgdGhpcz0weDdmZmUyMzM5ZTE3MCkKICAgIGF0IC91c3IvYmlu
Ly4uL2xpYi9nY2MveDg2XzY0LXJlZGhhdC1saW51eC81LjEuMS8uLi8uLi8uLi8uLi9pbmNsdWRl
L2MrKy81LjEuMS9mdW5jdGlvbmFsOjIyNzEKTm8gbG9jYWxzLgojMTkgMHgwMDAwN2ZiMDQ4ZjM4
YjdhIGluIFdURjo6UnVuTG9vcDo6cGVyZm9ybVdvcmsgKHRoaXM9MHg3ZmIwMjc3ZjkwMDApCiAg
ICBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmNwcDoxMDQKICAgICAgICBmdW5jdGlv
biA9IHs8c3RkOjpfTWF5YmVfdW5hcnlfb3JfYmluYXJ5X2Z1bmN0aW9uPHZvaWQ+PiA9IHs8Tm8g
ZGF0YSBmaWVsZHM+fSwgPHN0ZDo6X0Z1bmN0aW9uX2Jhc2U+ID0ge3N0YXRpYyBfTV9tYXhfc2l6
ZSA9IDE2LCAKICAgICAgICAgICAgc3RhdGljIF9NX21heF9hbGlnbiA9IDgsIF9NX2Z1bmN0b3Ig
PSB7X01fdW51c2VkID0gewogICAgICAgICAgICAgICAgX01fb2JqZWN0ID0gMHg3ZmFmYzAwMDEx
OTAsIF9NX2NvbnN0X29iamVjdCA9IDB4N2ZhZmMwMDAxMTkwLCAKICAgICAgICAgICAgICAgIF9N
X2Z1bmN0aW9uX3BvaW50ZXIgPSAweDdmYWZjMDAwMTE5MCwgCiAgICAgICAgICAgICAgICBfTV9t
ZW1iZXJfcG9pbnRlciA9IDxlcnJvciByZWFkaW5nIHZhcmlhYmxlPiwgCiAgICAgICAgICAgICAg
X01fcG9kX2RhdGEgPSAiXDIyMFwwMjFcMDAwXDMwMFwyNTdcMTc3XDAwMFwwMDBcMjQwXDI1N1wx
Nzffr1wxNzdcMDAwIn0sIAogICAgICAgICAgICBfTV9tYW5hZ2VyID0gMHg3ZmIwNDY5MTM0NTAg
PHN0ZDo6X0Z1bmN0aW9uX2Jhc2U6Ol9CYXNlX21hbmFnZXI8SVBDOjpDb25uZWN0aW9uOjplbnF1
ZXVlSW5jb21pbmdNZXNzYWdlKHN0ZDo6dW5pcXVlX3B0cjxJUEM6Ok1lc3NhZ2VEZWNvZGVyLCBz
dGQ6OmRlZmF1bHRfZGVsZXRlPElQQzo6TWVzc2FnZURlY29kZXI+ID4pOjokXzEwPjo6X01fbWFu
YWdlcihzdGQ6Ol9BbnlfZGF0YSYsIHN0ZDo6X0FueV9kYXRhIGNvbnN0Jiwgc3RkOjpfTWFuYWdl
cl9vcGVyYXRpb24pPn0sIAogICAgICAgICAgX01faW52b2tlciA9IDB4N2ZiMDQ2OTEzNDIwIDxz
dGQ6Ol9GdW5jdGlvbl9oYW5kbGVyPHZvaWQgKCksIElQQzo6Q29ubmVjdGlvbjo6ZW5xdWV1ZUlu
Y29taW5nTWVzc2FnZShzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRGVjb2Rlciwgc3RkOjpk
ZWZhdWx0X2RlbGV0ZTxJUEM6Ok1lc3NhZ2VEZWNvZGVyPiA+KTo6JF8xMD46Ol9NX2ludm9rZShz
dGQ6Ol9BbnlfZGF0YSBjb25zdCYpPn0KICAgICAgICBmdW5jdGlvbnNUb0hhbmRsZSA9IDEKIzIw
IDB4MDAwMDdmYjA0OGYzZWM4ZCBpbiBXVEY6OlJ1bkxvb3A6Ondha2VVcCgpOjokXzA6Om9wZXJh
dG9yKCkoKSBjb25zdCAoCiAgICB0aGlzPTB4N2ZhZmMwMDAxMWQwKSBhdCAuLi8uLi9Tb3VyY2Uv
V1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcDo5NgpObyBsb2NhbHMuCiMyMSAweDAwMDA3ZmIw
NDhmM2VhNWQgaW4gc3RkOjpfRnVuY3Rpb25faGFuZGxlcjx2b2lkICgpLCBXVEY6OlJ1bkxvb3A6
Ondha2VVcCgpOjokXzA+OjpfTV9pbnZva2Uoc3RkOjpfQW55X2RhdGEgY29uc3QmKSAoX19mdW5j
dG9yPS4uLikKICAgIGF0IC91c3IvYmluLy4uL2xpYi9nY2MveDg2XzY0LXJlZGhhdC1saW51eC81
LjEuMS8uLi8uLi8uLi8uLi9pbmNsdWRlL2MrKy81LjEuMS9mdW5jdGlvbmFsOjE4NzEKTm8gbG9j
YWxzLgojMjIgMHgwMDAwN2ZiMDQ2ODdlMGZlIGluIHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT46Om9w
ZXJhdG9yKCkoKSBjb25zdCAoCiAgICB0aGlzPTB4N2ZmZTIzMzllMjU4KQogICAgYXQgL3Vzci9i
aW4vLi4vbGliL2djYy94ODZfNjQtcmVkaGF0LWxpbnV4LzUuMS4xLy4uLy4uLy4uLy4uL2luY2x1
ZGUvYysrLzUuMS4xL2Z1bmN0aW9uYWw6MjI3MQpObyBsb2NhbHMuCiMyMyAweDAwMDA3ZmIwNDI5
OTRmZTkgaW4gV1RGOjpHTWFpbkxvb3BTb3VyY2U6OnZvaWRDYWxsYmFjayAoCiAgICB0aGlzPTB4
N2ZiMDI3N2M4MTYwKSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9nbGliL0dNYWluTG9vcFNvdXJj
ZS5jcHA6MzY1CiAgICAgICAgY29udGV4dCA9IHtzb3VyY2UgPSB7bV9wdHIgPSAweDdmYWZjMDAw
MjZiMH0sIGNhbmNlbGxhYmxlID0gewogICAgICAgICAgICBtX3B0ciA9IDB4MH0sIHNvY2tldENh
bmNlbGxhYmxlID0ge21fcHRyID0gMHgwfSwgCiAgICAgICAgICB2b2lkQ2FsbGJhY2sgPSB7PHN0
ZDo6X01heWJlX3VuYXJ5X29yX2JpbmFyeV9mdW5jdGlvbjx2b2lkPj4gPSB7PE5vIGRhdGEgZmll
bGRzPn0sIDxzdGQ6Ol9GdW5jdGlvbl9iYXNlPiA9IHtzdGF0aWMgX01fbWF4X3NpemUgPSAxNiwg
CiAgICAgICAgICAgICAgc3RhdGljIF9NX21heF9hbGlnbiA9IDgsIF9NX2Z1bmN0b3IgPSB7X01f
dW51c2VkID0gewogICAgICAgICAgICAgICAgICBfTV9vYmplY3QgPSAweDdmYWZjMDAwMTFkMCwg
CiAgICAgICAgICAgICAgICAgIF9NX2NvbnN0X29iamVjdCA9IDB4N2ZhZmMwMDAxMWQwLCAKICAg
ICAgICAgICAgICAgICAgX01fZnVuY3Rpb25fcG9pbnRlciA9IDB4N2ZhZmMwMDAxMWQwLCAKICAg
ICAgICAgICAgICAgICAgX01fbWVtYmVyX3BvaW50ZXIgPSA8ZXJyb3IgcmVhZGluZyB2YXJpYWJs
ZT4sIAogICAgICAgICAgICAgICAgX01fcG9kX2RhdGEgPSAiXDMyMFwwMjFcMDAwXDMwMFwyNTdc
MTc3XDAwMFwwMDBcMDAwXDI1NlwxNzffr1wxNzdcMDAwIn0sIAogICAgICAgICAgICAgIF9NX21h
bmFnZXIgPSAweDdmYjA0OGYzZWE3MCA8c3RkOjpfRnVuY3Rpb25fYmFzZTo6X0Jhc2VfbWFuYWdl
cjxXVEY6OlJ1bkxvb3A6Ondha2VVcCgpOjokXzA+OjpfTV9tYW5hZ2VyKHN0ZDo6X0FueV9kYXRh
Jiwgc3RkOjpfQW55X2RhdGEgY29uc3QmLCBzdGQ6Ol9NYW5hZ2VyX29wZXJhdGlvbik+fSwgCiAg
ICAgICAgICAgIF9NX2ludm9rZXIgPSAweDdmYjA0OGYzZWE0MCA8c3RkOjpfRnVuY3Rpb25faGFu
ZGxlcjx2b2lkICgpLCBXVEY6OlJ1bkxvb3A6Ondha2VVcCgpOjokXzA+OjpfTV9pbnZva2Uoc3Rk
OjpfQW55X2RhdGEgY29uc3QmKT59LCAKICAgICAgICAgIGJvb2xDYWxsYmFjayA9IHs8c3RkOjpf
TWF5YmVfdW5hcnlfb3JfYmluYXJ5X2Z1bmN0aW9uPGJvb2w+PiA9IHs8Tm8gZGF0YSBmaWVsZHM+
fSwgPHN0ZDo6X0Z1bmN0aW9uX2Jhc2U+ID0ge3N0YXRpYyBfTV9tYXhfc2l6ZSA9IDE2LCAKICAg
ICAgICAgICAgICBzdGF0aWMgX01fbWF4X2FsaWduID0gOCwgX01fZnVuY3RvciA9IHtfTV91bnVz
ZWQgPSB7CiAgICAgICAgICAgICAgICAgIF9NX29iamVjdCA9IDB4N2ZiMDI3N2M4MTcwLCAKICAg
ICAgICAgICAgICAgICAgX01fY29uc3Rfb2JqZWN0ID0gMHg3ZmIwMjc3YzgxNzAsIAogICAgICAg
ICAgICAgICAgICBfTV9mdW5jdGlvbl9wb2ludGVyID0gMHg3ZmIwMjc3YzgxNzAsIAogICAgICAg
ICAgICAgICAgICBfTV9tZW1iZXJfcG9pbnRlciA9IDxlcnJvciByZWFkaW5nIHZhcmlhYmxlPiwg
CiAgICAgICAgICAgICAgICBfTV9wb2RfZGF0YSA9ICJwXDIwMXwnXDI2MFwxNzdcMDAwXDAwMFwy
NjBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwgX01fbWFuYWdlciA9IDB4MH0sIF9NX2ludm9r
ZXIgPSAweDdmYWZkZjdmYWUzOH0sIAogICAgICAgICAgc29ja2V0Q2FsbGJhY2sgPSB7PHN0ZDo6
X01heWJlX3VuYXJ5X29yX2JpbmFyeV9mdW5jdGlvbjxib29sLCBHSU9Db25kaXRpb24+PiA9IHs8
c3RkOjp1bmFyeV9mdW5jdGlvbjxHSU9Db25kaXRpb24sIGJvb2w+PiA9IHs8Tm8gZGF0YSBmaWVs
ZHM+fSwgPE5vIGRhdGEgZmllbGRzPn0sIDxzdGQ6Ol9GdW5jdGlvbl9iYXNlPiA9IHtzdGF0aWMg
X01fbWF4X3NpemUgPSAxNiwgCiAgICAgICAgICAgICAgc3RhdGljIF9NX21heF9hbGlnbiA9IDgs
IF9NX2Z1bmN0b3IgPSB7X01fdW51c2VkID0gewogICAgICAgICAgICAgICAgICBfTV9vYmplY3Qg
PSAweDdmYWZkZjdmYWQxMCwgCiAgICAgICAgICAgICAgICAgIF9NX2NvbnN0X29iamVjdCA9IDB4
N2ZhZmRmN2ZhZDEwLCAKICAgICAgICAgICAgICAgICAgX01fZnVuY3Rpb25fcG9pbnRlciA9IDB4
N2ZhZmRmN2ZhZDEwLCAKICAgICAgICAgICAgICAgICAgX01fbWVtYmVyX3BvaW50ZXIgPSA8ZXJy
b3IgcmVhZGluZyB2YXJpYWJsZT4sIAogICAgICAgICAgICAgICAgX01fcG9kX2RhdGEgPSAiXDAy
MFwyNTVcMTc3369cMTc3XDAwMFwwMDBxKVwyMDdGXDI2MFwxNzdcMDAwIn0sIF9NX21hbmFnZXIg
PSAweDB9LCBfTV9pbnZva2VyID0gMHg3ZmFmZGY3ZmFlMzh9LCAKICAgICAgICAgIGRlc3Ryb3lD
YWxsYmFjayA9IHs8c3RkOjpfTWF5YmVfdW5hcnlfb3JfYmluYXJ5X2Z1bmN0aW9uPHZvaWQ+PiA9
IHs8Tm8gZGF0YSBmaWVsZHM+fSwgPHN0ZDo6X0Z1bmN0aW9uX2Jhc2U+ID0ge3N0YXRpYyBfTV9t
YXhfc2l6ZSA9IDE2LCAKICAgICAgICAgICAgICBzdGF0aWMgX01fbWF4X2FsaWduID0gOCwgX01f
ZnVuY3RvciA9IHtfTV91bnVzZWQgPSB7CiAgICAgICAgICAgICAgICAgIF9NX29iamVjdCA9IDB4
N2ZiMDQ2ODcyYTk1IDxXVEY6OlRocmVhZFNhZmVSZWZDb3VudGVkQmFzZTo6cmVmKCkrMjE+LCAK
ICAgICAgICAgICAgICAgICAgX01fY29uc3Rfb2JqZWN0ID0gMHg3ZmIwNDY4NzJhOTUgPFdURjo6
VGhyZWFkU2FmZVJlZkNvdW50ZWRCYXNlOjpyZWYoKSsyMT4sIAogICAgICAgICAgICAgICAgICBf
TV9mdW5jdGlvbl9wb2ludGVyID0gMHg3ZmIwNDY4NzJhOTUgPFdURjo6VGhyZWFkU2FmZVJlZkNv
dW50ZWRCYXNlOjpyZWYoKSsyMT4sIF9NX21lbWJlcl9wb2ludGVyID0gPGVycm9yIHJlYWRpbmcg
dmFyaWFibGU+LCAKICAgICAgICAgICAgICAgIF9NX3BvZF9kYXRhID0gIlwyMjUqXDIwN0ZcMjYw
XDE3N1wwMDBcMDAwaFwyNTZcMTc3369cMTc3XDAwMCJ9LCBfTV9tYW5hZ2VyID0gMHgwfSwgX01f
aW52b2tlciA9IDB4N2ZhZmRmN2ZhZTAwfX0KIzI0IDB4MDAwMDdmYjA0Mjk5MmJkNiBpbiBXVEY6
OkdNYWluTG9vcFNvdXJjZTo6dm9pZFNvdXJjZUNhbGxiYWNrICgKICAgIHNvdXJjZT0weDdmYjAy
NzdjODE2MCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYvZ2xpYi9HTWFpbkxvb3BTb3VyY2UuY3Bw
OjQ1NgpObyBsb2NhbHMuCiMyNSAweDAwMDA3ZmIwM2ViZGY0NzEgaW4gZ19pZGxlX2Rpc3BhdGNo
IChzb3VyY2U9MHg3ZmFmYzAwMDI2YjAsIAogICAgY2FsbGJhY2s9MHg3ZmIwNDI5OTJiYzAgPFdU
Rjo6R01haW5Mb29wU291cmNlOjp2b2lkU291cmNlQ2FsbGJhY2soV1RGOjpHTWFpbkxvb3BTb3Vy
Y2UqKT4sIHVzZXJfZGF0YT0weDdmYjAyNzdjODE2MCkgYXQgZ21haW4uYzo1Mzk3Ck5vIGxvY2Fs
cy4KIzI2IDB4MDAwMDdmYjAzZWJkY2FiOSBpbiBnX21haW5fZGlzcGF0Y2ggKGNvbnRleHQ9MHg5
MTA0YTApIGF0IGdtYWluLmM6MzEyMgogICAgICAgIGRpc3BhdGNoID0gMHg3ZmIwM2ViZGY0MjUg
PGdfaWRsZV9kaXNwYXRjaD4KICAgICAgICBwcmV2X3NvdXJjZSA9IDB4MAogICAgICAgIHdhc19p
bl9jYWxsID0gMAogICAgICAgIHVzZXJfZGF0YSA9IDB4N2ZiMDI3N2M4MTYwCiAgICAgICAgY2Fs
bGJhY2sgPSAweDdmYjA0Mjk5MmJjMCA8V1RGOjpHTWFpbkxvb3BTb3VyY2U6OnZvaWRTb3VyY2VD
YWxsYmFjayhXVEY6OkdNYWluTG9vcFNvdXJjZSopPgogICAgICAgIGNiX2Z1bmNzID0gMHg3ZmIw
M2VlZTk5YzAgPGdfc291cmNlX2NhbGxiYWNrX2Z1bmNzPgogICAgICAgIGNiX2RhdGEgPSAweDdm
YWZjMDAwMjc0MAogICAgICAgIG5lZWRfZGVzdHJveSA9IDAKICAgICAgICBzb3VyY2UgPSAweDdm
YWZjMDAwMjZiMAogICAgICAgIGN1cnJlbnQgPSAweDkxNzc2MAogICAgICAgIGkgPSAwCiAgICAg
ICAgX19mdW5jX18gPSAiZ19tYWluX2Rpc3BhdGNoIgojMjcgMHgwMDAwN2ZiMDNlYmRkOGZkIGlu
IGdfbWFpbl9jb250ZXh0X2Rpc3BhdGNoIChjb250ZXh0PTB4OTEwNGEwKQogICAgYXQgZ21haW4u
YzozNzM3Ck5vIGxvY2Fscy4KIzI4IDB4MDAwMDdmYjAzZWJkZGFlMSBpbiBnX21haW5fY29udGV4
dF9pdGVyYXRlIChjb250ZXh0PTB4OTEwNGEwLCBibG9jaz0xLCAKICAgIGRpc3BhdGNoPTEsIHNl
bGY9MHg5MWQwOTApIGF0IGdtYWluLmM6MzgwOAogICAgICAgIG1heF9wcmlvcml0eSA9IDIxNDc0
ODM2NDcKICAgICAgICB0aW1lb3V0ID0gLTEKICAgICAgICBzb21lX3JlYWR5ID0gMQogICAgICAg
IG5mZHMgPSAxCiAgICAgICAgYWxsb2NhdGVkX25mZHMgPSAyCiAgICAgICAgZmRzID0gMHg5MzRk
MTAKIzI5IDB4MDAwMDdmYjAzZWJkZGYwNyBpbiBnX21haW5fbG9vcF9ydW4gKGxvb3A9MHg5MzQ5
ZDApIGF0IGdtYWluLmM6NDAwMgogICAgICAgIHNlbGYgPSAweDkxZDA5MAogICAgICAgIF9fZnVu
Y19fID0gImdfbWFpbl9sb29wX3J1biIKIzMwIDB4MDAwMDdmYjA0OGYzZGZiZCBpbiBXVEY6OlJ1
bkxvb3A6OnJ1biAoKQogICAgYXQgLi4vLi4vU291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xp
Yi5jcHA6NjcKICAgICAgICBydW5Mb29wID0gQDB4N2ZiMDI3N2Y5MDAwOiB7PFdURjo6RnVuY3Rp
b25EaXNwYXRjaGVyPiA9IHs8V1RGOjpUaHJlYWRTYWZlUmVmQ291bnRlZDxXVEY6OkZ1bmN0aW9u
RGlzcGF0Y2hlcj4+ID0gezxXVEY6OlRocmVhZFNhZmVSZWZDb3VudGVkQmFzZT4gPSB7CiAgICAg
ICAgICAgICAgICBtX3JlZkNvdW50ID0gezxzdGQ6Ol9fYXRvbWljX2Jhc2U8aW50Pj4gPSB7CiAg
ICAgICAgICAgICAgICAgICAgc3RhdGljIF9TX2FsaWdubWVudCA9IDQsIAogICAgICAgICAgICAg
ICAgICAgIF9NX2kgPSAzfSwgPE5vIGRhdGEgZmllbGRzPn19LCA8Tm8gZGF0YSBmaWVsZHM+fSwg
CiAgICAgICAgICAgIF92cHRyJEZ1bmN0aW9uRGlzcGF0Y2hlciA9IDB4N2ZiMDRiMDYwY2MwIDx2
dGFibGUgZm9yIFdURjo6UnVuTG9vcCsxNj59LCBtX2Z1bmN0aW9uUXVldWVMb2NrID0ge21fbXV0
ZXggPSB7X19kYXRhID0ge19fbG9jayA9IDAsIF9fY291bnQgPSAwLCAKICAgICAgICAgICAgICAg
IF9fb3duZXIgPSAwLCBfX251c2VycyA9IDAsIF9fa2luZCA9IDUxMiwgX19zcGlucyA9IDAsIAog
ICAgICAgICAgICAgICAgX19lbGlzaW9uID0gMCwgX19saXN0ID0ge19fcHJldiA9IDB4MCwgX19u
ZXh0ID0gMHgwfX0sIAogICAgICAgICAgICAgIF9fc2l6ZSA9ICdcMDAwJyA8cmVwZWF0cyAxNyB0
aW1lcz4sICJcMDAyIiwgJ1wwMDAnIDxyZXBlYXRzIDIxIHRpbWVzPiwgX19hbGlnbiA9IDB9fSwg
bV9mdW5jdGlvblF1ZXVlID0ge21fc3RhcnQgPSA5LCBtX2VuZCA9IDEwLCAKICAgICAgICAgICAg
bV9idWZmZXIgPSB7PFdURjo6VmVjdG9yQnVmZmVyQmFzZTxzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+
ID4+ID0gewogICAgICAgICAgICAgICAgbV9idWZmZXIgPSAweDdmYjAyNzVmZDAwMCwgbV9jYXBh
Y2l0eSA9IDE2LCAKICAgICAgICAgICAgICAgIG1fc2l6ZSA9IDB9LCA8Tm8gZGF0YSBmaWVsZHM+
fSwgbV9pdGVyYXRvcnMgPSAweDB9LCAKICAgICAgICAgIG1fbWFpbkNvbnRleHQgPSB7bV9wdHIg
PSAweDkxMDRhMH0sIAogICAgICAgICAgbV9tYWluTG9vcHMgPSB7PFdURjo6VmVjdG9yQnVmZmVy
PFdURjo6R1JlZlB0cjxfR01haW5Mb29wPiwgMD4+ID0gezxXVEY6OlZlY3RvckJ1ZmZlckJhc2U8
V1RGOjpHUmVmUHRyPF9HTWFpbkxvb3A+ID4+ID0ge21fYnVmZmVyID0gMHg3ZmIwMjc3ZmMxODAs
IAogICAgICAgICAgICAgICAgbV9jYXBhY2l0eSA9IDE2LCAKICAgICAgICAgICAgICAgIG1fc2l6
ZSA9IDF9LCA8Tm8gZGF0YSBmaWVsZHM+fSwgPE5vIGRhdGEgZmllbGRzPn19CiAgICAgICAgbWFp
bkNvbnRleHQgPSAweDkxMDRhMAogICAgICAgIGlubmVybW9zdExvb3AgPSAweDkzNDlkMAogICAg
ICAgIG5lc3RlZE1haW5Mb29wID0gMHg3ZmZlMjMzOWU0YTgKIzMxIDB4MDAwMDdmYjA0NmUwZTgz
ZCBpbiBXZWJLaXQ6OkNoaWxkUHJvY2Vzc01haW48V2ViS2l0OjpOZXR3b3JrUHJvY2VzcywgV2Vi
S2l0OjpOZXR3b3JrUHJvY2Vzc01haW4+IChhcmdjPTIsIGFyZ3Y9MHg3ZmZlMjMzOWU2OTgpCiAg
ICBhdCAuLi8uLi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvdW5peC9DaGlsZFByb2Nlc3NNYWluLmg6
NjEKICAgICAgICBjaGlsZE1haW4gPSB7PFdlYktpdDo6Q2hpbGRQcm9jZXNzTWFpbkJhc2U+ID0g
ewogICAgICAgICAgICBfdnB0ciRDaGlsZFByb2Nlc3NNYWluQmFzZSA9IDB4N2ZiMDRhZWU0MWUw
IDx2dGFibGUgZm9yIFdlYktpdDo6TmV0d29ya1Byb2Nlc3NNYWluKzE2PiwgbV9wYXJhbWV0ZXJz
ID0ge3VpUHJvY2Vzc05hbWUgPSB7bV9pbXBsID0ge21fcHRyID0gMHgwfX0sIAogICAgICAgICAg
ICAgIGNsaWVudElkZW50aWZpZXIgPSB7bV9pbXBsID0ge21fcHRyID0gMHgwfX0sIAogICAgICAg
ICAgICAgIGNvbm5lY3Rpb25JZGVudGlmaWVyID0gMTYsIGV4dHJhSW5pdGlhbGl6YXRpb25EYXRh
ID0ge21faW1wbCA9IHsKICAgICAgICAgICAgICAgICAgc3RhdGljIG1fbWF4TG9hZCA9IDIsIHN0
YXRpYyBtX21pbkxvYWQgPSA2LCBtX3RhYmxlID0gMHgwLCAKICAgICAgICAgICAgICAgICAgbV90
YWJsZVNpemUgPSAwLCBtX3RhYmxlU2l6ZU1hc2sgPSAwLCBtX2tleUNvdW50ID0gMCwgCiAgICAg
ICAgICAgICAgICAgIG1fZGVsZXRlZENvdW50ID0gMCwgbV9pdGVyYXRvcnMgPSAweDAsIAogICAg
ICAgICAgICAgICAgICBtX211dGV4ID0gc3RkOjp1bmlxdWVfcHRyPHN0ZDo6bXV0ZXg+IGNvbnRh
aW5pbmcgMHg4ZjExMjB9fX19LCA8Tm8gZGF0YSBmaWVsZHM+fQojMzIgMHgwMDAwN2ZiMDQ2ZTBl
NjhiIGluIFdlYktpdDo6TmV0d29ya1Byb2Nlc3NNYWluVW5peCAoYXJnYz0yLCAKICAgIGFyZ3Y9
MHg3ZmZlMjMzOWU2OTgpCiAgICBhdCAuLi8uLi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9ndGsvTmV0d29ya1Byb2Nlc3NNYWluR3RrLmNwcDo2MgpObyBsb2NhbHMuCiMzMyAweDAwMDAw
MDAwMDA0MDBjMjkgaW4gbWFpbiAoYXJnYz0yLCBhcmd2PTB4N2ZmZTIzMzllNjk4KQogICAgYXQg
Li4vLi4vU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvRW50cnlQb2ludC91bml4L05ldHdv
cmtQcm9jZXNzTWFpbi5jcHA6NDQKTm8gbG9jYWxzLgpEZXRhY2hpbmcgZnJvbSBwcm9ncmFtOiAv
aG9tZS9tY2F0YW56YXJvL2poYnVpbGQvaW5zdGFsbC9saWJleGVjL3dlYmtpdDJndGstNC4wL1dl
YktpdE5ldHdvcmtQcm9jZXNzLCBwcm9jZXNzIDE5MDIzCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257153</attachid>
            <date>2015-07-20 18:11:09 -0700</date>
            <delta_ts>2015-07-20 23:19:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147039-20150720200955.patch</filename>
            <type>text/plain</type>
            <size>3517</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MDMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDRiOGY0YzZmZGE4NzE4
YWIyYTZjNmY5ZjIyZTBlNjdhNjcyYWE1Ny4uNjNjNDM3Y2YxZTU2NjNjZjQ2YjJlYjcwY2I5MWEw
MDRlZGIzYjBlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE1LTA3LTIwICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBSRUdSRVNT
SU9OKHIxODQzNzYpOiBbU09VUF0gTXVsdGlwbGUgYXNzZXJ0aW9ucyB3aGVuIGRvd25sb2FkaW5n
IGZpbGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDcwMzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBO
byBuZXcgdGVzdHM7IHRoaXMgd2lsbCBiZSBjb3ZlcmVkIG9uY2Ugd2UgZW5hYmxlIHRoZSBuZXR3
b3JrIHByb2Nlc3MgZm9yIEFQSSB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsv
c291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VI
YW5kbGU6OnJlbGVhc2VGb3JEb3dubG9hZCk6IENhbGwgUmVmUHRyQmFzZTo6cmVsYXhBZG9wdGlv
blJlcXVpcmVtZW50IHNvCisgICAgICAgIHRoYXQgd2UgZG9uJ3QgYXNzZXJ0IHdoZW4gc3Rvcmlu
ZyB0aGUgbm9uLWFkb3B0ZWQgUmVzb3VyY2VIYW5kbGUgaW4gYSBSZWZQdHIuIFRoZSByZWYgd2ls
bAorICAgICAgICBiZSBkcm9wcGVkIGluIFJlc291cmNlSGFuZGxlOjpjbGVhbnVwU291cE9wZXJh
dGlvbiwgd2hpY2ggYXMgdGhlIGNvbW1lbnQgc2F5cyBzaG91bGQgYWx3YXlzCisgICAgICAgIHJ1
bi4gSE9QRUZVTExZLgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmNvbnRpbnVl
V2lsbFNlbmRSZXF1ZXN0KTogRG9uJ3QgYXNzZXJ0IHRoYXQgY2xpZW50KCkgaXMgbm9ubnVsbCwK
KyAgICAgICAgYmVjYXVzZSB0aGUgY29kZSBjbGVhcmx5IGV4cGVjdHMgYW5kIGhhbmRsZXMgdGhl
IGNhc2Ugd2hlcmUgaXQgaXMgbnVsbC4KKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxl
Ojpjb250aW51ZURpZFJlY2VpdmVSZXNwb25zZSk6IERpdHRvOyBub3RlIHRoYXQgaGVyZSBjbGll
bnQoKSB3aWxsCisgICAgICAgIGFsd2F5cyBiZSBudWxsIGZvciBhIGRvd25sb2FkLgorCiAyMDE1
LTA3LTIwICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBSb2xsb3V0
IHIxODcwMjAgYW5kIHIxODcwMjE6IGJyZWFrcyBKU0MgQVBJIHRlc3RzIG9uIGRlYnVnIGJ1aWxk
cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNv
dXJjZUhhbmRsZVNvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3Vw
L1Jlc291cmNlSGFuZGxlU291cC5jcHAKaW5kZXggZWE2OTJkNjAzYjcxZTFiMzdkMjkyNDliZDkw
ODk4NTA4NTk0YmZmOC4uZGMzOTI0MmNlMTM0NzhkYjE2OTEyM2RlMWYyMjZkNmRiY2Q5NGVkYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNl
SGFuZGxlU291cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3Vw
L1Jlc291cmNlSGFuZGxlU291cC5jcHAKQEAgLTEwMzYsMTQgKzEwMzYsMTUgQEAgYm9vbCBSZXNv
dXJjZUhhbmRsZTo6c3RhcnQoKQogUmVmUHRyPFJlc291cmNlSGFuZGxlPiBSZXNvdXJjZUhhbmRs
ZTo6cmVsZWFzZUZvckRvd25sb2FkKFJlc291cmNlSGFuZGxlQ2xpZW50KiBkb3dubG9hZENsaWVu
dCkKIHsKICAgICAvLyBXZSBkb24ndCBhZG9wdCB0aGUgcmVmLCBhcyBpdCB3aWxsIGJlIHJlbGVh
c2VkIGJ5IGNsZWFudXBTb3VwUmVxdWVzdE9wZXJhdGlvbiwgd2hpY2ggc2hvdWxkIGFsd2F5cyBy
dW4uCi0gICAgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBuZXdIYW5kbGUgPSBuZXcgUmVzb3VyY2VI
YW5kbGUoZC0+bV9jb250ZXh0LmdldCgpLCBmaXJzdFJlcXVlc3QoKSwgbnVsbHB0ciwgZC0+bV9k
ZWZlcnNMb2FkaW5nLCBkLT5tX3Nob3VsZENvbnRlbnRTbmlmZik7CisgICAgUmVzb3VyY2VIYW5k
bGUqIG5ld0hhbmRsZSA9IG5ldyBSZXNvdXJjZUhhbmRsZShkLT5tX2NvbnRleHQuZ2V0KCksIGZp
cnN0UmVxdWVzdCgpLCBudWxscHRyLCBkLT5tX2RlZmVyc0xvYWRpbmcsIGQtPm1fc2hvdWxkQ29u
dGVudFNuaWZmKTsKKyAgICBuZXdIYW5kbGUtPnJlbGF4QWRvcHRpb25SZXF1aXJlbWVudCgpOwog
ICAgIHN0ZDo6c3dhcChkLCBuZXdIYW5kbGUtPmQpOwogCiAgICAgZ19zaWduYWxfaGFuZGxlcnNf
ZGlzY29ubmVjdF9tYXRjaGVkKG5ld0hhbmRsZS0+ZC0+bV9zb3VwTWVzc2FnZS5nZXQoKSwgR19T
SUdOQUxfTUFUQ0hfREFUQSwgMCwgMCwgbnVsbHB0ciwgbnVsbHB0ciwgdGhpcyk7Ci0gICAgZ19v
YmplY3Rfc2V0X2RhdGEoR19PQkpFQ1QobmV3SGFuZGxlLT5kLT5tX3NvdXBNZXNzYWdlLmdldCgp
KSwgImhhbmRsZSIsIG5ld0hhbmRsZS5nZXQoKSk7CisgICAgZ19vYmplY3Rfc2V0X2RhdGEoR19P
QkpFQ1QobmV3SGFuZGxlLT5kLT5tX3NvdXBNZXNzYWdlLmdldCgpKSwgImhhbmRsZSIsIG5ld0hh
bmRsZSk7CiAKICAgICBuZXdIYW5kbGUtPmQtPm1fY2xpZW50ID0gZG93bmxvYWRDbGllbnQ7Ci0g
ICAgY29udGludWVBZnRlckRpZFJlY2VpdmVSZXNwb25zZShuZXdIYW5kbGUuZ2V0KCkpOworICAg
IGNvbnRpbnVlQWZ0ZXJEaWRSZWNlaXZlUmVzcG9uc2UobmV3SGFuZGxlKTsKIAogICAgIHJldHVy
biBuZXdIYW5kbGU7CiB9CkBAIC0xMzY2LDE1ICsxMzY3LDEzIEBAIHN0YXRpYyB2b2lkIHJlYWRD
YWxsYmFjayhHT2JqZWN0KiwgR0FzeW5jUmVzdWx0KiBhc3luY1Jlc3VsdCwgZ3BvaW50ZXIgZGF0
YSkKIAogdm9pZCBSZXNvdXJjZUhhbmRsZTo6Y29udGludWVXaWxsU2VuZFJlcXVlc3QoY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogewotICAgIEFTU0VSVChjbGllbnQoKSk7Ci0gICAg
QVNTRVJUKGNsaWVudCgpLT51c2VzQXN5bmNDYWxsYmFja3MoKSk7CisgICAgQVNTRVJUKCFjbGll
bnQoKSB8fCBjbGllbnQoKS0+dXNlc0FzeW5jQ2FsbGJhY2tzKCkpOwogICAgIGNvbnRpbnVlQWZ0
ZXJXaWxsU2VuZFJlcXVlc3QodGhpcywgcmVxdWVzdCk7CiB9CiAKIHZvaWQgUmVzb3VyY2VIYW5k
bGU6OmNvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlKCkKIHsKLSAgICBBU1NFUlQoY2xpZW50KCkp
OwotICAgIEFTU0VSVChjbGllbnQoKS0+dXNlc0FzeW5jQ2FsbGJhY2tzKCkpOworICAgIEFTU0VS
VCghY2xpZW50KCkgfHwgY2xpZW50KCktPnVzZXNBc3luY0NhbGxiYWNrcygpKTsKICAgICBjb250
aW51ZUFmdGVyRGlkUmVjZWl2ZVJlc3BvbnNlKHRoaXMpOwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>