<?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>139906</bug_id>
          
          <creation_ts>2014-12-23 11:08:19 -0800</creation_ts>
          <short_desc>[Win] Periodic failure in DumpRenderTree related to WebActionPropertyBag::Read</short_desc>
          <delta_ts>2015-01-19 12:58:03 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1057611</commentid>
    <comment_count>0</comment_count>
      <attachid>243680</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-12-23 11:08:19 -0800</bug_when>
    <thetext>Created attachment 243680
Crash log for &apos;dom/html/level2/html/HTMLIFrameElement03.html&apos;

A number of tests fail (unreliably) due to some kind of heap corruption that manifests as a crash in WebActionPropertyBag:

STACK_COMMAND:  .ecxr ; kb ; dps 774842a8 ; kb

FOLLOWUP_IP: 
WebKit!WebActionPropertyBag::Read+28 [c:\cygwin\home\buildbot\slave\win-release\build\source\webkit\win\webactionpropertybag.cpp @ 115]
021da358 b9e4a1c802      mov     ecx,offset WebKit!piOverFourDouble+0xd4 (02c8a1e4)

FAULT_INSTR_CODE:  c8a1e4b9

FAULTING_SOURCE_LINE:  c:\cygwin\home\buildbot\slave\win-release\build\source\webkit\win\webactionpropertybag.cpp

FAULTING_SOURCE_FILE:  c:\cygwin\home\buildbot\slave\win-release\build\source\webkit\win\webactionpropertybag.cpp

FAULTING_SOURCE_LINE_NUMBER:  115

FAULTING_SOURCE_CODE:  
   111:         return E_POINTER;
   112: 
   113:     VariantClear(pVar);
   114: 
&gt;  115:     if (isEqual(pszPropName, WebActionNavigationTypeKey)) {
   116:         V_VT(pVar) = VT_I4;
   117:         V_I4(pVar) = m_action.type();
   118:         return S_OK;
   119:     }
   120:     if (isEqual(pszPropName, WebActionElementKey)) {

See the attached debug dump.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057612</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-12-23 11:08:49 -0800</bug_when>
    <thetext>&lt;rdar://problem/19337296&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062402</commentid>
    <comment_count>2</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-01-19 10:44:35 -0800</bug_when>
    <thetext>The stack trace for these errors typically looks like the following:

STACK_TEXT:  
77c742a8 77bf9cb1 ntdll!RtlSizeHeap+0x69
77c742ac 75c6625c ole32!CRetailMalloc_GetSize+0x21
77c742b0 773b443a oleaut32!APP_DATA::FreeCachedMem+0x30
77c742b4 773b3ea3 oleaut32!SysFreeString+0x6b
77c742b8 773b4870 oleaut32!VariantClear+0xc3
77c742bc 022ef828 webkit!WebActionPropertyBag::Read+0x28
77c742c0 022e4642 webkit!DefaultPolicyDelegate::decidePolicyForNavigationAction+0x22
77c742c4 022fa206 webkit!WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction+0xf6
77c742c8 029ef146 webkit!WebCore::PolicyChecker::checkNavigationPolicy+0x226
77c742cc 023ad33b webkit!WebCore::FrameLoader::loadWithDocumentLoader+0x30b
77c742d0 023ad483 webkit!WebCore::FrameLoader::load+0xd3
77c742d4 023a6c2c webkit!WebCore::FrameLoader::load+0x19c
77c742d8 02306805 webkit!WebFrame::loadRequest+0x95
77c742dc 10015c12 dumprendertree!runTest+0x672
77c742e0 100163e0 dumprendertree!main+0x2d0
77c742e4 1001652e dumprendertree!dllLauncherEntryPoint+0xe
77c742e8 00401c35 dumprendertree!main+0x4b5
77c742ec 004042f9 dumprendertree!__tmainCRTStartup+0xfe
77c742f0 76fe338a kernel32!BaseThreadInitThunk+0xe
77c742f4 77ba9f72 ntdll!__RtlUserThreadStart+0x70
77c742f8 77ba9f45 ntdll!_RtlUserThreadStart+0x1b</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062403</commentid>
    <comment_count>3</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-01-19 10:45:56 -0800</bug_when>
    <thetext>MSDN clearly states: &quot;Do not use VariantClear on unitialized variants; use VariantInit to initialize a new VARIANTARG or VARIANT&quot;

In the call stack for these crashes, I typically see an uninitialized variant value.

We should either (a) switch from raw VARIANT values to _variant_t classes (much like _bstr_t), or (b) ensure that ::VariantInit is called each time we create a new VARIANT variable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062417</commentid>
    <comment_count>4</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-01-19 11:14:50 -0800</bug_when>
    <thetext>Calling ::VariantClear on uninitialized memory is bad, because it attempts to interpret the meaning of the current contents of the VARIANT passed to it. If this is uninitialized memory, it can make bad assumptions about the content of the VARIANT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062423</commentid>
    <comment_count>5</comment_count>
      <attachid>244912</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-01-19 11:33:28 -0800</bug_when>
    <thetext>Created attachment 244912
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062425</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-19 11:34:58 -0800</bug_when>
    <thetext>Attachment 244912 did not pass style-queue:


ERROR: Source/WebKit/win/DefaultPolicyDelegate.cpp:32:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 16 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062427</commentid>
    <comment_count>7</comment_count>
      <attachid>244912</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-01-19 11:37:42 -0800</bug_when>
    <thetext>Comment on attachment 244912
Patch

Could we use COMVariant here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062435</commentid>
    <comment_count>8</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-01-19 11:51:10 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; Comment on attachment 244912 [details]
&gt; Patch
&gt; 
&gt; Could we use COMVariant here?

Yes, except the changes I need to make are mostly in DumpRenderTree. COMVariant is internal to WebKit, and is not available to DRT (unless we change the set of files we ship with WebKit).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062472</commentid>
    <comment_count>9</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-01-19 12:58:03 -0800</bug_when>
    <thetext>Committed r178669: &lt;http://trac.webkit.org/changeset/178669&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>243680</attachid>
            <date>2014-12-23 11:08:19 -0800</date>
            <delta_ts>2014-12-23 11:10:10 -0800</delta_ts>
            <desc>Crash log for &apos;dom/html/level2/html/HTMLIFrameElement03.html&apos;</desc>
            <filename>webactionpropertybag_crashlog.txt</filename>
            <type>text/plain</type>
            <size>29612</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">T3BlbmVkIGxvZyBmaWxlICdDOlxjeWd3aW5caG9tZVxidWlsZGJvdFxzbGF2ZVx3aW4tcmVsZWFz
ZS10ZXN0c1xidWlsZFxsYXlvdXQtdGVzdC1yZXN1bHRzXENyYXNoTG9nXzBmMGNfMjAxNC0xMi0y
M18wOS0zNi0wOS00NjYudHh0JwowOjAwMD4gLnNyY3BhdGggIkM6XGN5Z3dpblxob21lXGJ1aWxk
Ym90XHNsYXZlXHdpbi1yZWxlYXNlLXRlc3RzXGJ1aWxkIgpTb3VyY2Ugc2VhcmNoIHBhdGggaXM6
IEM6XGN5Z3dpblxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1yZWxlYXNlLXRlc3RzXGJ1aWxkCgoq
KioqKioqKioqKioqIFN5bWJvbCBQYXRoIHZhbGlkYXRpb24gc3VtbWFyeSAqKioqKioqKioqKioq
KgpSZXNwb25zZSAgICAgICAgICAgICAgICAgICAgICAgICBUaW1lIChtcykgICAgIExvY2F0aW9u
Ck9LICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQzpcY3lnd2lu
XGhvbWVcYnVpbGRib3Rcc2xhdmVcd2luLXJlbGVhc2UtdGVzdHNcYnVpbGQKMDowMDA+ICFhbmFs
eXplIC12dgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKiAg
ICAgICAgICAgICAgICAgICAgICAgIEV4Y2VwdGlvbiBBbmFseXNpcyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKgoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioKCioqKiBXQVJOSU5HOiBVbmFibGUgdG8gdmVyaWZ5IGNoZWNrc3VtIGZvciBDOlxj
eWd3aW5caG9tZVxidWlsZGJvdFxzbGF2ZVx3aW4tcmVsZWFzZS10ZXN0c1xidWlsZFxXZWJLaXRC
dWlsZFxyZWxlYXNlXGJpbjMyXFdlYktpdC5kbGwKKioqIFdBUk5JTkc6IFVuYWJsZSB0byB2ZXJp
ZnkgY2hlY2tzdW0gZm9yIEM6XGN5Z3dpblxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1yZWxlYXNl
LXRlc3RzXGJ1aWxkXFdlYktpdEJ1aWxkXHJlbGVhc2VcYmluMzJcRHVtcFJlbmRlclRyZWUuZGxs
CioqKiBXQVJOSU5HOiBVbmFibGUgdG8gdmVyaWZ5IGNoZWNrc3VtIGZvciBDOlxjeWd3aW5caG9t
ZVxidWlsZGJvdFxzbGF2ZVx3aW4tcmVsZWFzZS10ZXN0c1xidWlsZFxXZWJLaXRCdWlsZFxyZWxl
YXNlXGJpbjMyXER1bXBSZW5kZXJUcmVlLmV4ZQoqKiogRVJST1I6IFN5bWJvbCBmaWxlIGNvdWxk
IG5vdCBiZSBmb3VuZC4gIERlZmF1bHRlZCB0byBleHBvcnQgc3ltYm9scyBmb3IgQzpcUHJvZ3Jh
bSBGaWxlcyAoeDg2KVxDb21tb24gRmlsZXNcQXBwbGVcQXBwbGUgQXBwbGljYXRpb24gU3VwcG9y
dFxDb3JlRm91bmRhdGlvbi5kbGwgLSAKKioqIEVSUk9SOiBTeW1ib2wgZmlsZSBjb3VsZCBub3Qg
YmUgZm91bmQuICBEZWZhdWx0ZWQgdG8gZXhwb3J0IHN5bWJvbHMgZm9yIEM6XFByb2dyYW0gRmls
ZXMgKHg4NilcQ29tbW9uIEZpbGVzXEFwcGxlXEFwcGxlIEFwcGxpY2F0aW9uIFN1cHBvcnRcbGli
ZGlzcGF0Y2guZGxsIC0gCioqKiBFUlJPUjogU3ltYm9sIGZpbGUgY291bGQgbm90IGJlIGZvdW5k
LiAgRGVmYXVsdGVkIHRvIGV4cG9ydCBzeW1ib2xzIGZvciBDOlxQcm9ncmFtIEZpbGVzICh4ODYp
XENvbW1vbiBGaWxlc1xBcHBsZVxBcHBsZSBBcHBsaWNhdGlvbiBTdXBwb3J0XHB0aHJlYWRWQzIu
ZGxsIC0gCioqKiBFUlJPUjogU3ltYm9sIGZpbGUgY291bGQgbm90IGJlIGZvdW5kLiAgRGVmYXVs
dGVkIHRvIGV4cG9ydCBzeW1ib2xzIGZvciBDOlxXaW5kb3dzXHN5c3RlbTMyXGF0aXVtZGFnLmRs
bCAtIAoqKiogV0FSTklORzogVW5hYmxlIHRvIHZlcmlmeSBjaGVja3N1bSBmb3IgQzpcY3lnd2lu
XGhvbWVcYnVpbGRib3Rcc2xhdmVcd2luLXJlbGVhc2UtdGVzdHNcYnVpbGRcV2ViS2l0QnVpbGRc
cmVsZWFzZVxiaW4zMlxKYXZhU2NyaXB0Q29yZS5kbGwKKioqIFdBUk5JTkc6IFVuYWJsZSB0byB2
ZXJpZnkgY2hlY2tzdW0gZm9yIEM6XGN5Z3dpblxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1yZWxl
YXNlLXRlc3RzXGJ1aWxkXFdlYktpdEJ1aWxkXHJlbGVhc2VcYmluMzJcV1RGLmRsbAoKRkFVTFRJ
TkdfSVA6IApudGRsbCFSdGxSZXBvcnRDcml0aWNhbEZhaWx1cmUrNTcKNzc0NGU3NTMgZWIxMiAg
ICAgICAgICAgIGptcCAgICAgbnRkbGwhUnRsUmVwb3J0Q3JpdGljYWxGYWlsdXJlKzB4NmIgKDc3
NDRlNzY3KQoKRVhDRVBUSU9OX1JFQ09SRDogIGZmZmZmZmZmIC0tICguZXhyIDB4ZmZmZmZmZmZm
ZmZmZmZmZikKLmV4ciAweGZmZmZmZmZmZmZmZmZmZmYKRXhjZXB0aW9uQWRkcmVzczogNzc0NGU3
NTMgKG50ZGxsIVJ0bFJlcG9ydENyaXRpY2FsRmFpbHVyZSsweDAwMDAwMDU3KQogICBFeGNlcHRp
b25Db2RlOiBjMDAwMDM3NAogIEV4Y2VwdGlvbkZsYWdzOiAwMDAwMDAwMQpOdW1iZXJQYXJhbWV0
ZXJzOiAxCiAgIFBhcmFtZXRlclswXTogNzc0ODQyNzAKCkNPTlRFWFQ6ICAwMDAwMDAwMCAtLSAo
LmN4ciAweDA7cikKLmN4ciAweDA7cgplYXg9MDAxOGU5NTAgZWJ4PTAwMDAwMDAwIGVjeD03ZmZm
ZmZmZiBlZHg9MDAwMDAwMDAgZXNpPTAwMmEwMDAwIGVkaT0wMDMyZjNmNAplaXA9Nzc0NGU3NTMg
ZXNwPTAwMThlOTQwIGVicD0wMDE4ZTliOCBpb3BsPTAgICAgICAgICBudiB1cCBlaSBwbCB6ciBu
YSBwZSBuYwpjcz0wMDIzICBzcz0wMDJiICBkcz0wMDJiICBlcz0wMDJiICBmcz0wMDUzICBncz0w
MDJiICAgICAgICAgICAgIGVmbD0wMDAwMDI0NgpudGRsbCFSdGxSZXBvcnRDcml0aWNhbEZhaWx1
cmUrMHg1NzoKNzc0NGU3NTMgZWIxMiAgICAgICAgICAgIGptcCAgICAgbnRkbGwhUnRsUmVwb3J0
Q3JpdGljYWxGYWlsdXJlKzB4NmIgKDc3NDRlNzY3KQouY3hyCgpGQVVMVElOR19USFJFQUQ6ICAw
MDAwMDc1OAoKUFJPQ0VTU19OQU1FOiAgRHVtcFJlbmRlclRyZWUuZXhlCgpFUlJPUl9DT0RFOiAo
TlRTVEFUVVMpIDB4YzAwMDAzNzQgLSBBIGhlYXAgaGFzIGJlZW4gY29ycnVwdGVkLgoKRVhDRVBU
SU9OX0NPREU6IChOVFNUQVRVUykgMHhjMDAwMDM3NCAtIEEgaGVhcCBoYXMgYmVlbiBjb3JydXB0
ZWQuCgpFWENFUFRJT05fQ09ERV9TVFI6ICBjMDAwMDM3NAoKRVhDRVBUSU9OX1BBUkFNRVRFUjE6
ICA3NzQ4NDI3MAoKV0FUU09OX0JLVF9QUk9DU1RBTVA6ICA1NDkzNmY0YgoKV0FUU09OX0JLVF9N
T0RVTEU6ICBudGRsbC5kbGwKCldBVFNPTl9CS1RfTU9EVkVSOiAgNi4xLjc2MDEuMTgyNDcKCldB
VFNPTl9CS1RfTU9EU1RBTVA6ICA1MjFlYThlNwoKV0FUU09OX0JLVF9NT0RPRkZTRVQ6ICBjZTc1
MwoKTU9EVUxFX1ZFUl9QUk9EVUNUOiAgTWljcm9zb2Z0IFdpbmRvd3MgT3BlcmF0aW5nIFN5c3Rl
bQoKQlVJTERfVkVSU0lPTl9TVFJJTkc6ICA2LjEuNzYwMS4xODQwOSAod2luN3NwMV9nZHIuMTQw
MzAzLTIxNDQpCgpOVEdMT0JBTEZMQUc6ICAwCgpBUFBMSUNBVElPTl9WRVJJRklFUl9GTEFHUzog
IDAKCkFQUDogIGR1bXByZW5kZXJ0cmVlLmV4ZQoKQU5BTFlTSVNfU0VTU0lPTl9IT1NUOiAgQk9U
NTAxCgpBTkFMWVNJU19TRVNTSU9OX1RJTUU6ICAxMi0yMy0yMDE0IDA5OjM2OjA5LjA0NjcKCkFO
QUxZU0lTX1ZFUlNJT046IDYuMy45NjAwLjE2Mzg0IChkZWJ1Z2dlcnMoZGJnKS4xMzA4MjEtMTYy
MykgeDg2ZnJlCgpMQVNUX0NPTlRST0xfVFJBTlNGRVI6ICBmcm9tIDc3NDRmNjU5IHRvIDc3NDRl
NzUzCgpUSFJFQURfQVRUUklCVVRFUzogCgpbIEdMT0JBTCBdCgogICAgR2xvYmFsICAgICBQSUQ6
IFsyNDc2XQogICAgR2xvYmFsICAgICBUaHJlYWRfQ291bnQ6IFsyMF0KICAgIEdsb2JhbCAgICAg
UGFnZVNpemU6IFs0MDk2XQogICAgR2xvYmFsICAgICBNb2RMaXN0X1NIQTFfSGFzaDogWzhjYTAw
NGVhMTMxMDU0Mzg0MjBlNDY2N2FhZTQ4YWM2MjU5YjRiMjddCiAgICBHbG9iYWwgICAgIENvbW1h
bmRMaW5lOiBbQzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcc2xhdmVcd2luLXJlbGVhc2UtdGVzdHNc
YnVpbGRcV2ViS2l0QnVpbGRccmVsZWFzZVxiaW4zMlxEdW1wUmVuZGVyVHJlZS5leGUgLV0KICAg
IEdsb2JhbCAgICAgRGVza3RvcF9OYW1lOiBbV2luc3RhMFxEZWZhdWx0XQogICAgR2xvYmFsICAg
ICBQcm9jZXNzTmFtZTogW2R1bXByZW5kZXJ0cmVlLmV4ZV0KICAgIEdsb2JhbCAgICAgRGVidWdn
ZXJfQ1BVX0FyY2hpdGVjdHVyZTogW1g4Nl0KICAgIEdsb2JhbCAgICAgQ1BVX1Byb2Nlc3NvckNv
dW50OiBbOF0KICAgIEdsb2JhbCAgICAgQ1BVX01IWjogWzM0MDFdCiAgICBHbG9iYWwgICAgIENQ
VV9BcmNoaXRlY3R1cmU6IFtYODZdCiAgICBHbG9iYWwgICAgIENQVV9GYW1pbHk6IFs2XQogICAg
R2xvYmFsICAgICBDUFVfTW9kZWw6IFsxMF0KICAgIEdsb2JhbCAgICAgQ1BVX1N0ZXBwaW5nOiBb
N10KICAgIEdsb2JhbCAgICAgQ1BVX1ZlbmRvclN0cmluZzogW0dlbnVpbmVJbnRlbF0KICAgIEds
b2JhbCAgICAgTG9hZGVkTW9kdWxlX0NvdW50OiBbOTRdCiAgICBHbG9iYWwgICAgIFVubG9hZGVk
TW9kdWxlX0NvdW50OiBbMl0KICAgIEdsb2JhbCAgICAgUHJvY2Vzc0JlaW5nRGVidWdnZWQKICAg
IEdsb2JhbCAgICAgR0ZsYWdzOiBbMF0KICAgIEdsb2JhbCAgICAgQXBwbGljYXRpb25fVmVyaWZl
cl9GbGFnczogWzBdCiAgICBHbG9iYWwgICAgIEZpbmFsRXhoOiBbMjAwMDk3NDg4OF0KICAgIEds
b2JhbCAgICAgU3lzdGVtVXBUaW1lOiBbNCBkYXlzIDE3OjI1OjU1LjAwMF0KICAgIEdsb2JhbCAg
ICAgU3lzdGVtVXBUaW1lOiBbNDA4MzU1XQogICAgR2xvYmFsICAgICBQcm9jZXNzVXBUaW1lOiBb
MCBkYXlzIDA6MDA6MDMuMDAwXQogICAgR2xvYmFsICAgICBQcm9jZXNzVXBUaW1lOiBbM10KICAg
IEdsb2JhbCAgICAgQ3VycmVudFRpbWVEYXRlOiBbVHVlIERlYyAyMyAwOTozNjoxMC4wMDAgMjAx
NCAoVVRDIC0gODowMCldCiAgICBHbG9iYWwgICAgIEN1cnJlbnRUaW1lRGF0ZTogWzE0MTkzNTYx
NzBdCiAgICBHbG9iYWwgICAgIEhlYXBfRXJyb3JfRGV0ZWN0ZWQKICAgIEdsb2JhbCAgICAgQVNM
Ul9FbmFibGVkCiAgICBHbG9iYWwgICAgIFNhZmVTRUhfRW5hYmxlZAogICAgR2xvYmFsICAgICBQ
cm9kdWN0VHlwZTogWzFdCiAgICBHbG9iYWwgICAgIFN1aXRlTWFzazogWzI3Ml0KICAgIEdsb2Jh
bCAgICAgQXBwbGljYXRpb25OYW1lOiBbZHVtcHJlbmRlcnRyZWUuZXhlXQoKWyBUSFJFQUQgXQoK
ICAwMCBJZDogOWFjLjc1OAoKICAgIEZyYW1lWzAwXSAgSXNfT3JpZ2luYWxFeGNlcHRpb25UaHJl
YWQKICAgIEZyYW1lWzAwXSAgU3RhY2tfRnJhbWVzX0V4dHJhY3Rpb25fVGltZV8obXMpOiBbMHgw
XQogICAgRnJhbWVbMDBdICBUaHJlYWRTdGFydEFkZHJlc3M6IFtEdW1wUmVuZGVyVHJlZSFtYWlu
Q1JUU3RhcnR1cF0KICAgIEZyYW1lWzAwXSAgVGhyZWFkU3RhcnRBZGRyZXNzOiBbMHgwMDQwNDM3
Nl0KICAgIEZyYW1lWzAwXSAgTnVtYmVyX29mX1VuaXF1ZV9TdGFja19Nb2R1bGVzOiBbMHg2XQog
ICAgRnJhbWVbMDNdICBIZWFwX0FQSQogICAgRnJhbWVbMTVdICBDb21wbGV0ZVN0YWNrV2Fsawog
ICAgRnJhbWVbMTZdICBDb21wbGV0ZVN0YWNrV2FsawogICAgRnJhbWVbMTddICBDb21wbGV0ZVN0
YWNrV2FsawogICAgRnJhbWVbMDBdICBUaHJlYWRfTGFzdFN0YXR1czogWzB4YzAwMDAzMDJdCiAg
ICBGcmFtZVswMF0gIFRocmVhZExvY2FsZTogWzB4NDA5XQogICAgRnJhbWVbMDBdICBOdW1iZXJf
b2ZfU3RhY2tfRnJhbWVzOiBbMHgxOF0KICAgIEZyYW1lWzAwXSAgQmFkX0ZyYW1lX0NvdW50OiBb
MHgwXQogICAgRnJhbWVbMDBdICBJZ25vcmVkX0ZyYW1lX0NvdW50OiBbMHhhXQogICAgRnJhbWVb
MDBdICBGcmFtZXNfbm90X2luX3N0YWNrX3JhbmdlOiBbMHgwXQogICAgRnJhbWVbMDBdICBOb3RT
eXNFbnRlcgogICAgRnJhbWVbMDNdICBIZWFwX0Vycm9yX1R5cGU6IFtoZWFwX2ZhaWx1cmVfaW52
YWxpZF9hcmd1bWVudF0KICAgIEZyYW1lWzAzXSAgSGVhcF9FcnJvcl9TeW1ib2w6IFt3ZWJraXQh
V2ViQWN0aW9uUHJvcGVydHlCYWc6OlJlYWRdCiAgICBGcmFtZVswM10gIEhlYXBfRXJyb3JfRm9s
bG93dXA6IFtdCiAgICBGcmFtZVswMF0gIGJhZHB0cl9BcmNoX0FYOiBbMHgwMDE4ZTk1MF0KICAg
IEZyYW1lWzAwXSAgbnVsbF9BcmNoX0JYCiAgICBGcmFtZVswMF0gIGJhZHB0cl9BcmNoX0NYOiBb
MHg3ZmZmZmZmZl0KICAgIEZyYW1lWzAwXSAgbnVsbF9BcmNoX0RYCiAgICBGcmFtZVswMF0gIGJh
ZHB0cl9BcmNoX1NJOiBbMHgwMDJhMDAwMF0KICAgIEZyYW1lWzAwXSAgYmFkcHRyX0FyY2hfREk6
IFsweDAwMzJmM2Y0XQogICAgRnJhbWVbMDBdICBOT1BfQXJjaF9TUAogICAgRnJhbWVbMDBdICBz
dGFja2FkZHJfQlA6IFsweDAwMThlOWI4XQogICAgRnJhbWVbMDBdICBMb2FkZWRNb2R1bGVfQXJj
aF9JUDogWzB4Nzc0NGU3NTNdCiAgICBGcmFtZVswMF0gIEluc3RydWN0aW9uX1BvaW50ZXI6IFsw
eDc3NDRlNzUzXQogICAgRnJhbWVbMDBdICBJUF9CaWFzZWQKICAgIEZyYW1lWzAwXSAgRmF1bHRf
QWZ0ZXJfQ2FsbAogICAgRnJhbWVbMDBdICBTdGFja19BdHRyaWJ1dGVfRXh0cmFjdGlvbl9UaW1l
Xyhtcyk6IFsweDJmXQoKClBST0JMRU1fQ0xBU1NFUzogCgpBQ1RJT05BQkxFX0hFQVBfQ09SUlVQ
VElPTgogICAgU3RyaW5nIFtoZWFwX2ZhaWx1cmVfaW52YWxpZF9hcmd1bWVudF0KICAgIEZhaWx1
cmUgQnVja2V0aW5nCgoKQlVHQ0hFQ0tfU1RSOiAgQVBQTElDQVRJT05fRkFVTFRfQUNUSU9OQUJM
RV9IRUFQX0NPUlJVUFRJT05faGVhcF9mYWlsdXJlX2ludmFsaWRfYXJndW1lbnQKClBSSU1BUllf
UFJPQkxFTV9DTEFTUzogIEFDVElPTkFCTEVfSEVBUF9DT1JSVVBUSU9OX2hlYXBfZmFpbHVyZV9p
bnZhbGlkX2FyZ3VtZW50CgpERUZBVUxUX0JVQ0tFVF9JRDogIEFDVElPTkFCTEVfSEVBUF9DT1JS
VVBUSU9OX2hlYXBfZmFpbHVyZV9pbnZhbGlkX2FyZ3VtZW50CgpTVEFDS19URVhUOiAgCjc3NDg0
MmE4IDc3NDA5Y2IxIG50ZGxsIVJ0bFNpemVIZWFwKzB4NjkKNzc0ODQyYWMgNzUzNTYyNWMgb2xl
MzIhQ1JldGFpbE1hbGxvY19HZXRTaXplKzB4MjEKNzc0ODQyYjAgNzViNzQ0M2Egb2xlYXV0MzIh
QVBQX0RBVEE6OkZyZWVDYWNoZWRNZW0rMHgzMAo3NzQ4NDJiNCA3NWI3M2VhMyBvbGVhdXQzMiFT
eXNGcmVlU3RyaW5nKzB4NmIKNzc0ODQyYjggNzViNzQ4NzAgb2xlYXV0MzIhVmFyaWFudENsZWFy
KzB4YzMKNzc0ODQyYmMgMDIxZGEzNTggd2Via2l0IVdlYkFjdGlvblByb3BlcnR5QmFnOjpSZWFk
KzB4MjgKNzc0ODQyYzAgMDIxY2UzMDIgd2Via2l0IURlZmF1bHRQb2xpY3lEZWxlZ2F0ZTo6ZGVj
aWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbisweDIyCjc3NDg0MmM0IDAyMWU3MTU2IHdlYmtp
dCFXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9u
QWN0aW9uKzB4ZjYKNzc0ODQyYzggMDJhNzNkMzYgd2Via2l0IVdlYkNvcmU6OlBvbGljeUNoZWNr
ZXI6OmNoZWNrTmF2aWdhdGlvblBvbGljeSsweDIyNgo3NzQ4NDJjYyAwMjU3Nzg5ZCB3ZWJraXQh
V2ViQ29yZTo6RnJhbWVMb2FkZXI6OmxvYWRXaXRoRG9jdW1lbnRMb2FkZXIrMHgzMGQKNzc0ODQy
ZDAgMDI1Nzc5ZTMgd2Via2l0IVdlYkNvcmU6OkZyYW1lTG9hZGVyOjpsb2FkKzB4ZDMKNzc0ODQy
ZDQgMDI1NzExZGMgd2Via2l0IVdlYkNvcmU6OkZyYW1lTG9hZGVyOjpsb2FkKzB4MTljCjc3NDg0
MmQ4IDAyMWY1ZGM1IHdlYmtpdCFXZWJGcmFtZTo6bG9hZFJlcXVlc3QrMHg5NQo3NzQ4NDJkYyAx
MDAxNWQ3OSBkdW1wcmVuZGVydHJlZSFydW5UZXN0KzB4NjU5Cjc3NDg0MmUwIDEwMDE2NTIwIGR1
bXByZW5kZXJ0cmVlIW1haW4rMHgyZDAKNzc0ODQyZTQgMTAwMTY2NmUgZHVtcHJlbmRlcnRyZWUh
ZGxsTGF1bmNoZXJFbnRyeVBvaW50KzB4ZQo3NzQ4NDJlOCAwMDQwMWMzNSBkdW1wcmVuZGVydHJl
ZSFtYWluKzB4NGI1Cjc3NDg0MmVjIDAwNDA0MmY5IGR1bXByZW5kZXJ0cmVlIV9fdG1haW5DUlRT
dGFydHVwKzB4ZmUKNzc0ODQyZjAgNzUyMDMzOGEga2VybmVsMzIhQmFzZVRocmVhZEluaXRUaHVu
aysweGUKNzc0ODQyZjQgNzczYjlmNzIgbnRkbGwhX19SdGxVc2VyVGhyZWFkU3RhcnQrMHg3MAo3
NzQ4NDJmOCA3NzNiOWY0NSBudGRsbCFfUnRsVXNlclRocmVhZFN0YXJ0KzB4MWIKCgpTVEFDS19D
T01NQU5EOiAgLmVjeHIgOyBrYiA7IGRwcyA3NzQ4NDJhOCA7IGtiCgpGT0xMT1dVUF9JUDogCldl
YktpdCFXZWJBY3Rpb25Qcm9wZXJ0eUJhZzo6UmVhZCsyOCBbYzpcY3lnd2luXGhvbWVcYnVpbGRi
b3Rcc2xhdmVcd2luLXJlbGVhc2VcYnVpbGRcc291cmNlXHdlYmtpdFx3aW5cd2ViYWN0aW9ucHJv
cGVydHliYWcuY3BwIEAgMTE1XQowMjFkYTM1OCBiOWU0YTFjODAyICAgICAgbW92ICAgICBlY3gs
b2Zmc2V0IFdlYktpdCFwaU92ZXJGb3VyRG91YmxlKzB4ZDQgKDAyYzhhMWU0KQoKRkFVTFRfSU5T
VFJfQ09ERTogIGM4YTFlNGI5CgpGQVVMVElOR19TT1VSQ0VfTElORTogIGM6XGN5Z3dpblxob21l
XGJ1aWxkYm90XHNsYXZlXHdpbi1yZWxlYXNlXGJ1aWxkXHNvdXJjZVx3ZWJraXRcd2luXHdlYmFj
dGlvbnByb3BlcnR5YmFnLmNwcAoKRkFVTFRJTkdfU09VUkNFX0ZJTEU6ICBjOlxjeWd3aW5caG9t
ZVxidWlsZGJvdFxzbGF2ZVx3aW4tcmVsZWFzZVxidWlsZFxzb3VyY2Vcd2Via2l0XHdpblx3ZWJh
Y3Rpb25wcm9wZXJ0eWJhZy5jcHAKCkZBVUxUSU5HX1NPVVJDRV9MSU5FX05VTUJFUjogIDExNQoK
RkFVTFRJTkdfU09VUkNFX0NPREU6ICAKICAgMTExOiAgICAgICAgIHJldHVybiBFX1BPSU5URVI7
CiAgIDExMjogCiAgIDExMzogICAgIFZhcmlhbnRDbGVhcihwVmFyKTsKICAgMTE0OiAKPiAgMTE1
OiAgICAgaWYgKGlzRXF1YWwocHN6UHJvcE5hbWUsIFdlYkFjdGlvbk5hdmlnYXRpb25UeXBlS2V5
KSkgewogICAxMTY6ICAgICAgICAgVl9WVChwVmFyKSA9IFZUX0k0OwogICAxMTc6ICAgICAgICAg
Vl9JNChwVmFyKSA9IG1fYWN0aW9uLnR5cGUoKTsKICAgMTE4OiAgICAgICAgIHJldHVybiBTX09L
OwogICAxMTk6ICAgICB9CiAgIDEyMDogICAgIGlmIChpc0VxdWFsKHBzelByb3BOYW1lLCBXZWJB
Y3Rpb25FbGVtZW50S2V5KSkgewoKClNZTUJPTF9TVEFDS19JTkRFWDogIDUKClNZTUJPTF9OQU1F
OiAgd2Via2l0IVdlYkFjdGlvblByb3BlcnR5QmFnOjpSZWFkKzI4CgpGT0xMT1dVUF9OQU1FOiAg
TWFjaGluZU93bmVyCgpNT0RVTEVfTkFNRTogV2ViS2l0CgpJTUFHRV9OQU1FOiAgV2ViS2l0LmRs
bAoKREVCVUdfRkxSX0lNQUdFX1RJTUVTVEFNUDogIDU0OTlhYThlCgpGQUlMVVJFX0JVQ0tFVF9J
RDogIEFDVElPTkFCTEVfSEVBUF9DT1JSVVBUSU9OX2hlYXBfZmFpbHVyZV9pbnZhbGlkX2FyZ3Vt
ZW50X2MwMDAwMzc0X1dlYktpdC5kbGwhV2ViQWN0aW9uUHJvcGVydHlCYWc6OlJlYWQKCkJVQ0tF
VF9JRDogIEFQUExJQ0FUSU9OX0ZBVUxUX0FDVElPTkFCTEVfSEVBUF9DT1JSVVBUSU9OX2hlYXBf
ZmFpbHVyZV9pbnZhbGlkX2FyZ3VtZW50X3dlYmtpdCFXZWJBY3Rpb25Qcm9wZXJ0eUJhZzo6UmVh
ZCsyOAoKQU5BTFlTSVNfU0VTU0lPTl9FTEFQU0VEX1RJTUU6IDE3YWUKCkFOQUxZU0lTX1NPVVJD
RTogIFVNCgpGQUlMVVJFX0lEX0hBU0hfU1RSSU5HOiAgdW06YWN0aW9uYWJsZV9oZWFwX2NvcnJ1
cHRpb25faGVhcF9mYWlsdXJlX2ludmFsaWRfYXJndW1lbnRfYzAwMDAzNzRfd2Via2l0LmRsbCF3
ZWJhY3Rpb25wcm9wZXJ0eWJhZzo6cmVhZAoKRkFJTFVSRV9JRF9IQVNIOiAgezZjMjY0M2NmLTA2
ZjctOGE1Ni1lMWJhLTVlNTg0NTRmMTU1Yn0KCkZvbGxvd3VwOiBNYWNoaW5lT3duZXIKLS0tLS0t
LS0tCgowOjAwMD4gfiprcG4KCi4gIDAgIElkOiA5YWMuNzU4IFN1c3BlbmQ6IDEgVGViOiA3ZWZk
ZDAwMCBVbmZyb3plbgogIyBDaGlsZEVCUCBSZXRBZGRyICAKMDAgMDAxOGU5YjggNzc0NGY2NTkg
bnRkbGwhUnRsUmVwb3J0Q3JpdGljYWxGYWlsdXJlKzB4NTcKMDEgMDAxOGU5YzggNzc0NGY3Mzkg
bnRkbGwhUnRscFJlcG9ydEhlYXBGYWlsdXJlKzB4MjEKMDIgMDAxOGU5ZmMgNzc0MDljYjEgbnRk
bGwhUnRscExvZ0hlYXBGYWlsdXJlKzB4YTEKMDMgMDAxOGVhMjQgNzUzNTYyNWMgbnRkbGwhUnRs
U2l6ZUhlYXArMHg2OQowNCAwMDE4ZWEzOCA3NWI3NDQzYSBvbGUzMiFDUmV0YWlsTWFsbG9jX0dl
dFNpemUoc3RydWN0IElNYWxsb2MgKiBwVGhpcyA9IDB4NzU0NTY2YmMsIHZvaWQgKiBwdiA9IDB4
MDAzMmYzZjQpKzB4MjEgW2Q6XHc3cnRtXGNvbVxvbGUzMlxjb21cY2xhc3NcbWVtYXBpLmN4eCBA
IDcxMF0KMDUgMDAxOGVhNWMgNzViNzNlYTMgT0xFQVVUMzIhQVBQX0RBVEE6OkZyZWVDYWNoZWRN
ZW0rMHgzMAowNiAwMDE4ZWE3OCA3NWI3NDg3MCBPTEVBVVQzMiFTeXNGcmVlU3RyaW5nKzB4NmIK
MDcgMDAxOGVhOGMgMDIxZGEzNTggT0xFQVVUMzIhVmFyaWFudENsZWFyKzB4YzMKMDggMDAxOGVi
NDQgMDIxY2UzMDIgV2ViS2l0IVdlYkFjdGlvblByb3BlcnR5QmFnOjpSZWFkKHdjaGFyX3QgKiBw
c3pQcm9wTmFtZSA9IDB4MDJjODU5MjAgIldlYkFjdGlvbk5hdmlnYXRpb25UeXBlS2V5Iiwgc3Ry
dWN0IHRhZ1ZBUklBTlQgKiBwVmFyID0gMHgwMDE4ZWI2NCwgc3RydWN0IElFcnJvckxvZyAqIF9f
Zm9ybWFsID0gMHgwMDAwMDAwMCkrMHgyOCBbYzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcc2xhdmVc
d2luLXJlbGVhc2VcYnVpbGRcc291cmNlXHdlYmtpdFx3aW5cd2ViYWN0aW9ucHJvcGVydHliYWcu
Y3BwIEAgMTE1XQowOSAwMDE4ZWI3OCAwMjFlNzE1NiBXZWJLaXQhRGVmYXVsdFBvbGljeURlbGVn
YXRlOjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKHN0cnVjdCBJV2ViVmlldyAqIHdl
YlZpZXcgPSAweDAwMzIxMzA4LCBzdHJ1Y3QgSVByb3BlcnR5QmFnICogYWN0aW9uSW5mb3JtYXRp
b24gPSAweDA4MmYwMDA4LCBzdHJ1Y3QgSVdlYlVSTFJlcXVlc3QgKiByZXF1ZXN0ID0gMHgwOGZj
MGJjMCwgc3RydWN0IElXZWJGcmFtZSAqIF9fZm9ybWFsID0gMHgwMDM1MGQ5OCwgc3RydWN0IElX
ZWJQb2xpY3lEZWNpc2lvbkxpc3RlbmVyICogbGlzdGVuZXIgPSAweDA4MTYwMWQwKSsweDIyIFtj
OlxjeWd3aW5caG9tZVxidWlsZGJvdFxzbGF2ZVx3aW4tcmVsZWFzZVxidWlsZFxzb3VyY2Vcd2Vi
a2l0XHdpblxkZWZhdWx0cG9saWN5ZGVsZWdhdGUuY3BwIEAgMTA5XQowYSAwMDE4ZWJiOCAwMmE3
M2QzNiBXZWJLaXQhV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGVjaWRlUG9saWN5Rm9y
TmF2aWdhdGlvbkFjdGlvbihjbGFzcyBXZWJDb3JlOjpOYXZpZ2F0aW9uQWN0aW9uICogYWN0aW9u
ID0gMHgwMDE4ZWNiOCwgY2xhc3MgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0ICogcmVxdWVzdCA9
IDB4MDgyNzIwODAsIGNsYXNzIFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpGb3JtU3RhdGU+IGZv
cm1TdGF0ZSA9IGNsYXNzIFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpGb3JtU3RhdGU+LCBjbGFz
cyBzdGQ6OmZ1bmN0aW9uPHZvaWQgX19jZGVjbChlbnVtIFdlYkNvcmU6OlBvbGljeUFjdGlvbik+
IGZ1bmN0aW9uID0gY2xhc3Mgc3RkOjpmdW5jdGlvbjx2b2lkIF9fY2RlY2woZW51bSBXZWJDb3Jl
OjpQb2xpY3lBY3Rpb24pPikrMHhmNiBbYzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcc2xhdmVcd2lu
LXJlbGVhc2VcYnVpbGRcc291cmNlXHdlYmtpdFx3aW5cd2ViY29yZXN1cHBvcnRcd2ViZnJhbWVs
b2FkZXJjbGllbnQuY3BwIEAgNTk1XQowYiAwMDE4ZWQ4YyAwMjU3Nzg5ZCBXZWJLaXQhV2ViQ29y
ZTo6UG9saWN5Q2hlY2tlcjo6Y2hlY2tOYXZpZ2F0aW9uUG9saWN5KGNsYXNzIFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCAqIHJlcXVlc3QgPSAweDA4MjcyMDgwLCBjbGFzcyBXZWJDb3JlOjpEb2N1
bWVudExvYWRlciAqIGxvYWRlciA9IDB4MDgyNzFlMjgsIGNsYXNzIFdURjo6UGFzc1JlZlB0cjxX
ZWJDb3JlOjpGb3JtU3RhdGU+IGZvcm1TdGF0ZSA9IGNsYXNzIFdURjo6UGFzc1JlZlB0cjxXZWJD
b3JlOjpGb3JtU3RhdGU+LCBjbGFzcyBzdGQ6OmZ1bmN0aW9uPHZvaWQgX19jZGVjbChXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QgY29uc3QgJixXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6Rm9ybVN0
YXRlPixib29sKT4gZnVuY3Rpb24gPSBjbGFzcyBzdGQ6OmZ1bmN0aW9uPHZvaWQgX19jZGVjbChX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgY29uc3QgJixXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6
Rm9ybVN0YXRlPixib29sKT4pKzB4MjI2IFtjOlxjeWd3aW5caG9tZVxidWlsZGJvdFxzbGF2ZVx3
aW4tcmVsZWFzZVxidWlsZFxzb3VyY2Vcd2ViY29yZVxsb2FkZXJccG9saWN5Y2hlY2tlci5jcHAg
QCAxMTNdCjBjIDAwMThlZjRjIDAyNTc3OWUzIFdlYktpdCFXZWJDb3JlOjpGcmFtZUxvYWRlcjo6
bG9hZFdpdGhEb2N1bWVudExvYWRlcihjbGFzcyBXZWJDb3JlOjpEb2N1bWVudExvYWRlciAqIGxv
YWRlciA9IDB4MDgyNzFlMjgsIFdlYkNvcmU6OkZyYW1lTG9hZFR5cGUgdHlwZSA9IFN0YW5kYXJk
ICgwbjApLCBjbGFzcyBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6Rm9ybVN0YXRlPiBwcnBGb3Jt
U3RhdGUgPSBjbGFzcyBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6Rm9ybVN0YXRlPiwgV2ViQ29y
ZTo6QWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMIGFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVS
TCA9IFllcyAoMG4wKSkrMHgzMGQgW2M6XGN5Z3dpblxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1y
ZWxlYXNlXGJ1aWxkXHNvdXJjZVx3ZWJjb3JlXGxvYWRlclxmcmFtZWxvYWRlci5jcHAgQCAxNDgw
XQowZCAwMDE4ZWY3MCAwMjU3MTFkYyBXZWJLaXQhV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmxvYWQo
Y2xhc3MgV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIgKiBuZXdEb2N1bWVudExvYWRlciA9IDB4MDgy
NzFlMjgpKzB4ZDMgW2M6XGN5Z3dpblxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1yZWxlYXNlXGJ1
aWxkXHNvdXJjZVx3ZWJjb3JlXGxvYWRlclxmcmFtZWxvYWRlci5jcHAgQCAxMzc5XQowZSAwMDE4
ZjE4OCAwMjFmNWRjNSBXZWJLaXQhV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmxvYWQoc3RydWN0IFdl
YkNvcmU6OkZyYW1lTG9hZFJlcXVlc3QgKiBwYXNzZWRSZXF1ZXN0ID0gMHgwMDAwMDAwMCkrMHgx
OWMgW2M6XGN5Z3dpblxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1yZWxlYXNlXGJ1aWxkXHNvdXJj
ZVx3ZWJjb3JlXGxvYWRlclxmcmFtZWxvYWRlci5jcHAgQCAxMzI5XQowZiAwMDE4ZjM0NCAxMDAx
NWQ3OSBXZWJLaXQhV2ViRnJhbWU6OmxvYWRSZXF1ZXN0KHN0cnVjdCBJV2ViVVJMUmVxdWVzdCAq
IHJlcXVlc3QgPSAweDA2NWUyMmI4KSsweDk1IFtjOlxjeWd3aW5caG9tZVxidWlsZGJvdFxzbGF2
ZVx3aW4tcmVsZWFzZVxidWlsZFxzb3VyY2Vcd2Via2l0XHdpblx3ZWJmcmFtZS5jcHAgQCA1NDld
CjEwIDAwMThmNDBjIDEwMDE2NTIwIER1bXBSZW5kZXJUcmVlXzEwMDAwMDAwIXJ1blRlc3QoY2xh
c3Mgc3RkOjpiYXNpY19zdHJpbmc8Y2hhcixzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+LHN0ZDo6YWxs
b2NhdG9yPGNoYXI+ID4gKiBpbnB1dExpbmUgPSAweDAwMThmNDQ4KSsweDY1OSBbYzpcY3lnd2lu
XGhvbWVcYnVpbGRib3Rcc2xhdmVcd2luLXJlbGVhc2VcYnVpbGRcdG9vbHNcZHVtcHJlbmRlcnRy
ZWVcd2luXGR1bXByZW5kZXJ0cmVlLmNwcCBAIDExNjNdCjExIDAwMThmYzY0IDEwMDE2NjZlIER1
bXBSZW5kZXJUcmVlXzEwMDAwMDAwIW1haW4oaW50IGFyZ2MgPSAwbjIsIGNoYXIgKiogYXJndiA9
IDB4MDAyZTNlNjgpKzB4MmQwIFtjOlxjeWd3aW5caG9tZVxidWlsZGJvdFxzbGF2ZVx3aW4tcmVs
ZWFzZVxidWlsZFx0b29sc1xkdW1wcmVuZGVydHJlZVx3aW5cZHVtcHJlbmRlcnRyZWUuY3BwIEAg
MTQ3Nl0KMTIgMDAxOGZjNzQgMDA0MDFjMzUgRHVtcFJlbmRlclRyZWVfMTAwMDAwMDAhZGxsTGF1
bmNoZXJFbnRyeVBvaW50KGludCBhcmdjID0gMG4yLCBjaGFyICoqIGFyZ3YgPSAweDAwMmUzZTY4
KSsweGUgW2M6XGN5Z3dpblxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1yZWxlYXNlXGJ1aWxkXHRv
b2xzXGR1bXByZW5kZXJ0cmVlXHdpblxkdW1wcmVuZGVydHJlZS5jcHAgQCAxNTExXQoxMyAwMDE4
ZmY0MCAwMDQwNDJmOSBEdW1wUmVuZGVyVHJlZSFtYWluKGludCBhcmdjID0gMG4yLCBjaGFyICoq
IGFyZ3YgPSAweDAwMmUzZTY4KSsweDRiNSBbYzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcc2xhdmVc
d2luLXJlbGVhc2VcYnVpbGRcdG9vbHNcd2luXGRsbGxhdW5jaGVyXGRsbGxhdW5jaGVybWFpbi5j
cHAgQCAyMzVdCjE0IDAwMThmZjg4IDc1MjAzMzhhIER1bXBSZW5kZXJUcmVlIV9fdG1haW5DUlRT
dGFydHVwKHZvaWQpKzB4ZmUgW2Y6XGRkXHZjdG9vbHNcY3J0XGNydHczMlxzdGFydHVwXGNydDAu
YyBAIDI1NV0KMTUgMDAxOGZmOTQgNzczYjlmNzIga2VybmVsMzIhQmFzZVRocmVhZEluaXRUaHVu
aysweGUKMTYgMDAxOGZmZDQgNzczYjlmNDUgbnRkbGwhX19SdGxVc2VyVGhyZWFkU3RhcnQrMHg3
MAoxNyAwMDE4ZmZlYyAwMDAwMDAwMCBudGRsbCFfUnRsVXNlclRocmVhZFN0YXJ0KzB4MWIKCiAg
IDEgIElkOiA5YWMuOGVjIFN1c3BlbmQ6IDEgVGViOiA3ZWZkYTAwMCBVbmZyb3plbgogIyBDaGls
ZEVCUCBSZXRBZGRyICAKMDAgMDNjNmZkZjQgNzczZDJmOTEgbnRkbGwhTnRXYWl0Rm9yTXVsdGlw
bGVPYmplY3RzKzB4MTUKMDEgMDNjNmZmODggNzUyMDMzOGEgbnRkbGwhVHBwV2FpdGVycFRocmVh
ZCsweDMzZAowMiAwM2M2ZmY5NCA3NzNiOWY3MiBrZXJuZWwzMiFCYXNlVGhyZWFkSW5pdFRodW5r
KzB4ZQowMyAwM2M2ZmZkNCA3NzNiOWY0NSBudGRsbCFfX1J0bFVzZXJUaHJlYWRTdGFydCsweDcw
CjA0IDAzYzZmZmVjIDAwMDAwMDAwIG50ZGxsIV9SdGxVc2VyVGhyZWFkU3RhcnQrMHgxYgoKICAg
MiAgSWQ6IDlhYy4xNmMgU3VzcGVuZDogMSBUZWI6IDdlZmQ3MDAwIFVuZnJvemVuCiAjIENoaWxk
RUJQIFJldEFkZHIgIAowMCAwM2Q4ZmUxMCA3NjA2MTRhYiBudGRsbCFad1dhaXRGb3JTaW5nbGVP
YmplY3QrMHgxNQowMSAwM2Q4ZmU3YyA3NTIwMTE5NCBLRVJORUxCQVNFIVdhaXRGb3JTaW5nbGVP
YmplY3RFeCsweDk4CjAyIDAzZDhmZTk0IDc1MjAxMTQ4IGtlcm5lbDMyIVdhaXRGb3JTaW5nbGVP
YmplY3RFeEltcGxlbWVudGF0aW9uKzB4NzUKMDMgMDNkOGZlYTggNzQ4ZTc3OWUga2VybmVsMzIh
V2FpdEZvclNpbmdsZU9iamVjdCsweDEyCldBUk5JTkc6IFN0YWNrIHVud2luZCBpbmZvcm1hdGlv
biBub3QgYXZhaWxhYmxlLiBGb2xsb3dpbmcgZnJhbWVzIG1heSBiZSB3cm9uZy4KMDQgMDNkOGZl
YzQgNzQ4ZTcwMGYgbGliZGlzcGF0Y2ghZGlzcGF0Y2hfc2VtYXBob3JlX3NpZ25hbCsweDhlCjA1
IDAzZDhmZjBjIDc0OGU2NTRlIGxpYmRpc3BhdGNoIWRpc3BhdGNoX21haW4rMHgyNmYKMDYgMDNk
OGZmMjggNzQ4ZTRjNzkgbGliZGlzcGF0Y2ghZGlzcGF0Y2hfYWZ0ZXIrMHg0OGUKMDcgMDNkOGZm
NDQgNzQ4ZTZhNTYgbGliZGlzcGF0Y2ghZGlzcGF0Y2hfZ2V0X3NwZWNpZmljKzB4MzE5CjA4IDAz
ZDhmZjYwIDc0OGU2YjBiIGxpYmRpc3BhdGNoIWRpc3BhdGNoX2FmdGVyKzB4OTk2CjA5IDAzZDhm
Zjg4IDc1MjAzMzhhIGxpYmRpc3BhdGNoIWRpc3BhdGNoX2FmdGVyKzB4YTRiCjBhIDAzZDhmZjk0
IDc3M2I5ZjcyIGtlcm5lbDMyIUJhc2VUaHJlYWRJbml0VGh1bmsrMHhlCjBiIDAzZDhmZmQ0IDc3
M2I5ZjQ1IG50ZGxsIV9fUnRsVXNlclRocmVhZFN0YXJ0KzB4NzAKMGMgMDNkOGZmZWMgMDAwMDAw
MDAgbnRkbGwhX1J0bFVzZXJUaHJlYWRTdGFydCsweDFiCgogICAzICBJZDogOWFjLmZlOCBTdXNw
ZW5kOiAxIFRlYjogN2VmYWYwMDAgVW5mcm96ZW4KICMgQ2hpbGRFQlAgUmV0QWRkciAgCjAwIDAz
ZThmZWEwIDc2MDYxNGFiIG50ZGxsIVp3V2FpdEZvclNpbmdsZU9iamVjdCsweDE1CjAxIDAzZThm
ZjBjIDc1MjAxMTk0IEtFUk5FTEJBU0UhV2FpdEZvclNpbmdsZU9iamVjdEV4KzB4OTgKMDIgMDNl
OGZmMjQgNzUyMDExNDgga2VybmVsMzIhV2FpdEZvclNpbmdsZU9iamVjdEV4SW1wbGVtZW50YXRp
b24rMHg3NQowMyAwM2U4ZmYzOCA3NDhlNzc5ZSBrZXJuZWwzMiFXYWl0Rm9yU2luZ2xlT2JqZWN0
KzB4MTIKV0FSTklORzogU3RhY2sgdW53aW5kIGluZm9ybWF0aW9uIG5vdCBhdmFpbGFibGUuIEZv
bGxvd2luZyBmcmFtZXMgbWF5IGJlIHdyb25nLgowNCAwM2U4ZmY1NCA3NDhlNmMwNiBsaWJkaXNw
YXRjaCFkaXNwYXRjaF9zZW1hcGhvcmVfc2lnbmFsKzB4OGUKMDUgMDNlOGZmODggNzUyMDMzOGEg
bGliZGlzcGF0Y2ghZGlzcGF0Y2hfYWZ0ZXIrMHhiNDYKMDYgMDNlOGZmOTQgNzczYjlmNzIga2Vy
bmVsMzIhQmFzZVRocmVhZEluaXRUaHVuaysweGUKMDcgMDNlOGZmZDQgNzczYjlmNDUgbnRkbGwh
X19SdGxVc2VyVGhyZWFkU3RhcnQrMHg3MAowOCAwM2U4ZmZlYyAwMDAwMDAwMCBudGRsbCFfUnRs
VXNlclRocmVhZFN0YXJ0KzB4MWIKCiAgIDQgIElkOiA5YWMuYzc4IFN1c3BlbmQ6IDEgVGViOiA3
ZWZhYzAwMCBVbmZyb3plbgogIyBDaGlsZEVCUCBSZXRBZGRyICAKMDAgMDQwZmZlMjggNzczZDMz
OTIgbnRkbGwhTnRXYWl0Rm9yV29ya1ZpYVdvcmtlckZhY3RvcnkrMHgxMgowMSAwNDBmZmY4OCA3
NTIwMzM4YSBudGRsbCFUcHBXb3JrZXJUaHJlYWQrMHgyMTYKMDIgMDQwZmZmOTQgNzczYjlmNzIg
a2VybmVsMzIhQmFzZVRocmVhZEluaXRUaHVuaysweGUKMDMgMDQwZmZmZDQgNzczYjlmNDUgbnRk
bGwhX19SdGxVc2VyVGhyZWFkU3RhcnQrMHg3MAowNCAwNDBmZmZlYyAwMDAwMDAwMCBudGRsbCFf
UnRsVXNlclRocmVhZFN0YXJ0KzB4MWIKCiAgIDUgIElkOiA5YWMuZTcwIFN1c3BlbmQ6IDEgVGVi
OiA3ZWZhOTAwMCBVbmZyb3plbgogIyBDaGlsZEVCUCBSZXRBZGRyICAKMDAgMDQyZGZlMjggNzcz
ZDMzOTIgbnRkbGwhTnRXYWl0Rm9yV29ya1ZpYVdvcmtlckZhY3RvcnkrMHgxMgowMSAwNDJkZmY4
OCA3NTIwMzM4YSBudGRsbCFUcHBXb3JrZXJUaHJlYWQrMHgyMTYKMDIgMDQyZGZmOTQgNzczYjlm
NzIga2VybmVsMzIhQmFzZVRocmVhZEluaXRUaHVuaysweGUKMDMgMDQyZGZmZDQgNzczYjlmNDUg
bnRkbGwhX19SdGxVc2VyVGhyZWFkU3RhcnQrMHg3MAowNCAwNDJkZmZlYyAwMDAwMDAwMCBudGRs
bCFfUnRsVXNlclRocmVhZFN0YXJ0KzB4MWIKCiAgIDYgIElkOiA5YWMuZjMwIFN1c3BlbmQ6IDEg
VGViOiA3ZWZhNjAwMCBVbmZyb3plbgogIyBDaGlsZEVCUCBSZXRBZGRyICAKMDAgMDQ0MWZiNzQg
NzYwNjE1ZjcgbnRkbGwhTnRXYWl0Rm9yTXVsdGlwbGVPYmplY3RzKzB4MTUKMDEgMDQ0MWZjMTAg
NzUyMDE5ZjggS0VSTkVMQkFTRSFXYWl0Rm9yTXVsdGlwbGVPYmplY3RzRXgrMHgxMDAKMDIgMDQ0
MWZjNTggNzRkYTA4NmEga2VybmVsMzIhV2FpdEZvck11bHRpcGxlT2JqZWN0c0V4SW1wbGVtZW50
YXRpb24rMHhlMAowMyAwNDQxZmNhYyA3NDljMTYwOSBVU0VSMzIhUmVhbE1zZ1dhaXRGb3JNdWx0
aXBsZU9iamVjdHNFeCsweDE0ZApXQVJOSU5HOiBTdGFjayB1bndpbmQgaW5mb3JtYXRpb24gbm90
IGF2YWlsYWJsZS4gRm9sbG93aW5nIGZyYW1lcyBtYXkgYmUgd3JvbmcuCjA0IDA0NDFmZGRjIDc0
OWM0OTA4IENvcmVGb3VuZGF0aW9uIUNGRGF0ZUZvcm1hdHRlckdldFRpbWVTdHlsZSsweDZlM2U1
CjA1IDA0NDFmZTUwIDc0OWM0ZDg1IENvcmVGb3VuZGF0aW9uIUNGRGF0ZUZvcm1hdHRlckdldFRp
bWVTdHlsZSsweDcxNmU0CjA2IDA0NDFmZWE0IDc0OWM0ZWQ0IENvcmVGb3VuZGF0aW9uIUNGRGF0
ZUZvcm1hdHRlckdldFRpbWVTdHlsZSsweDcxYjYxCjA3IDA0NDFmZWY0IDczM2M0ZjU2IENvcmVG
b3VuZGF0aW9uIUNGRGF0ZUZvcm1hdHRlckdldFRpbWVTdHlsZSsweDcxY2IwCjA4IDA0NDFmZjQ0
IDc0YjdjNTU2IHB0aHJlYWRWQzIhcHRocmVhZF9zZXRjYW5jZWx0eXBlKzB4M2M1OQowOSAwNDQx
ZmY3YyA3NGI3YzYwMCBNU1ZDUjEwMCFfZW5kdGhyZWFkZXgrMHgzZgowYSAwNDQxZmY4OCA3NTIw
MzM4YSBNU1ZDUjEwMCFfZW5kdGhyZWFkZXgrMHhjZQowYiAwNDQxZmY5NCA3NzNiOWY3MiBrZXJu
ZWwzMiFCYXNlVGhyZWFkSW5pdFRodW5rKzB4ZQowYyAwNDQxZmZkNCA3NzNiOWY0NSBudGRsbCFf
X1J0bFVzZXJUaHJlYWRTdGFydCsweDcwCjBkIDA0NDFmZmVjIDAwMDAwMDAwIG50ZGxsIV9SdGxV
c2VyVGhyZWFkU3RhcnQrMHgxYgoKICAgNyAgSWQ6IDlhYy5kOGMgU3VzcGVuZDogMSBUZWI6IDdl
ZmEzMDAwIFVuZnJvemVuCiAjIENoaWxkRUJQIFJldEFkZHIgIAowMCAwNDU1ZmVhMCA3NjA2MTRh
YiBudGRsbCFad1dhaXRGb3JTaW5nbGVPYmplY3QrMHgxNQowMSAwNDU1ZmYwYyA3NTIwMTE5NCBL
RVJORUxCQVNFIVdhaXRGb3JTaW5nbGVPYmplY3RFeCsweDk4CjAyIDA0NTVmZjI0IDc1MjAxMTQ4
IGtlcm5lbDMyIVdhaXRGb3JTaW5nbGVPYmplY3RFeEltcGxlbWVudGF0aW9uKzB4NzUKMDMgMDQ1
NWZmMzggNzQ4ZTc3OWUga2VybmVsMzIhV2FpdEZvclNpbmdsZU9iamVjdCsweDEyCldBUk5JTkc6
IFN0YWNrIHVud2luZCBpbmZvcm1hdGlvbiBub3QgYXZhaWxhYmxlLiBGb2xsb3dpbmcgZnJhbWVz
IG1heSBiZSB3cm9uZy4KMDQgMDQ1NWZmNTQgNzQ4ZTZjMDYgbGliZGlzcGF0Y2ghZGlzcGF0Y2hf
c2VtYXBob3JlX3NpZ25hbCsweDhlCjA1IDA0NTVmZjg4IDc1MjAzMzhhIGxpYmRpc3BhdGNoIWRp
c3BhdGNoX2FmdGVyKzB4YjQ2CjA2IDA0NTVmZjk0IDc3M2I5ZjcyIGtlcm5lbDMyIUJhc2VUaHJl
YWRJbml0VGh1bmsrMHhlCjA3IDA0NTVmZmQ0IDc3M2I5ZjQ1IG50ZGxsIV9fUnRsVXNlclRocmVh
ZFN0YXJ0KzB4NzAKMDggMDQ1NWZmZWMgMDAwMDAwMDAgbnRkbGwhX1J0bFVzZXJUaHJlYWRTdGFy
dCsweDFiCgogICA4ICBJZDogOWFjLjcwYyBTdXNwZW5kOiAxIFRlYjogN2VmYTAwMDAgVW5mcm96
ZW4KICMgQ2hpbGRFQlAgUmV0QWRkciAgCjAwIDA2NDBmZTk0IDc2MDYxNGFiIG50ZGxsIVp3V2Fp
dEZvclNpbmdsZU9iamVjdCsweDE1CjAxIDA2NDBmZjAwIDc1MjAxMTk0IEtFUk5FTEJBU0UhV2Fp
dEZvclNpbmdsZU9iamVjdEV4KzB4OTgKMDIgMDY0MGZmMTggNzUyMDExNDgga2VybmVsMzIhV2Fp
dEZvclNpbmdsZU9iamVjdEV4SW1wbGVtZW50YXRpb24rMHg3NQowMyAwNjQwZmYyYyA2ZTgxMjEw
OCBrZXJuZWwzMiFXYWl0Rm9yU2luZ2xlT2JqZWN0KzB4MTIKV0FSTklORzogU3RhY2sgdW53aW5k
IGluZm9ybWF0aW9uIG5vdCBhdmFpbGFibGUuIEZvbGxvd2luZyBmcmFtZXMgbWF5IGJlIHdyb25n
LgowNCAwNjQwZmY0OCA2ZWE0NTc0OCBhdGl1bWRhZyFYZHhJbml0WG9wU2VydmljZXMrMHgxZDI5
OAowNSAwNjQwZmY4MCA2ZWE0NTdlNCBhdGl1bWRhZyFYZHhJbml0WG9wU2VydmljZXMrMHgyNTA4
ZDgKMDYgMDY0MGZmODggNzUyMDMzOGEgYXRpdW1kYWchWGR4SW5pdFhvcFNlcnZpY2VzKzB4MjUw
OTc0CjA3IDA2NDBmZjk0IDc3M2I5ZjcyIGtlcm5lbDMyIUJhc2VUaHJlYWRJbml0VGh1bmsrMHhl
CjA4IDA2NDBmZmQ0IDc3M2I5ZjQ1IG50ZGxsIV9fUnRsVXNlclRocmVhZFN0YXJ0KzB4NzAKMDkg
MDY0MGZmZWMgMDAwMDAwMDAgbnRkbGwhX1J0bFVzZXJUaHJlYWRTdGFydCsweDFiCgogICA5ICBJ
ZDogOWFjLmM5NCBTdXNwZW5kOiAxIFRlYjogN2VmOWQwMDAgVW5mcm96ZW4KICMgQ2hpbGRFQlAg
UmV0QWRkciAgCjAwIDA2NTBmZTk0IDc2MDYxNGFiIG50ZGxsIVp3V2FpdEZvclNpbmdsZU9iamVj
dCsweDE1CjAxIDA2NTBmZjAwIDc1MjAxMTk0IEtFUk5FTEJBU0UhV2FpdEZvclNpbmdsZU9iamVj
dEV4KzB4OTgKMDIgMDY1MGZmMTggNzUyMDExNDgga2VybmVsMzIhV2FpdEZvclNpbmdsZU9iamVj
dEV4SW1wbGVtZW50YXRpb24rMHg3NQowMyAwNjUwZmYyYyA2ZTgxMjEwOCBrZXJuZWwzMiFXYWl0
Rm9yU2luZ2xlT2JqZWN0KzB4MTIKV0FSTklORzogU3RhY2sgdW53aW5kIGluZm9ybWF0aW9uIG5v
dCBhdmFpbGFibGUuIEZvbGxvd2luZyBmcmFtZXMgbWF5IGJlIHdyb25nLgowNCAwNjUwZmY0OCA2
ZWE0NTc0OCBhdGl1bWRhZyFYZHhJbml0WG9wU2VydmljZXMrMHgxZDI5OAowNSAwNjUwZmY4MCA2
ZWE0NTdlNCBhdGl1bWRhZyFYZHhJbml0WG9wU2VydmljZXMrMHgyNTA4ZDgKMDYgMDY1MGZmODgg
NzUyMDMzOGEgYXRpdW1kYWchWGR4SW5pdFhvcFNlcnZpY2VzKzB4MjUwOTc0CjA3IDA2NTBmZjk0
IDc3M2I5ZjcyIGtlcm5lbDMyIUJhc2VUaHJlYWRJbml0VGh1bmsrMHhlCjA4IDA2NTBmZmQ0IDc3
M2I5ZjQ1IG50ZGxsIV9fUnRsVXNlclRocmVhZFN0YXJ0KzB4NzAKMDkgMDY1MGZmZWMgMDAwMDAw
MDAgbnRkbGwhX1J0bFVzZXJUaHJlYWRTdGFydCsweDFiCgogIDEwICBJZDogOWFjLjcyYyBTdXNw
ZW5kOiAxIFRlYjogN2VmOWEwMDAgVW5mcm96ZW4KICMgQ2hpbGRFQlAgUmV0QWRkciAgCjAwIDA2
NzBmZTk0IDc2MDYxNGFiIG50ZGxsIVp3V2FpdEZvclNpbmdsZU9iamVjdCsweDE1CjAxIDA2NzBm
ZjAwIDc1MjAxMTk0IEtFUk5FTEJBU0UhV2FpdEZvclNpbmdsZU9iamVjdEV4KzB4OTgKMDIgMDY3
MGZmMTggNzUyMDExNDgga2VybmVsMzIhV2FpdEZvclNpbmdsZU9iamVjdEV4SW1wbGVtZW50YXRp
b24rMHg3NQowMyAwNjcwZmYyYyA2ZTgxMjEwOCBrZXJuZWwzMiFXYWl0Rm9yU2luZ2xlT2JqZWN0
KzB4MTIKV0FSTklORzogU3RhY2sgdW53aW5kIGluZm9ybWF0aW9uIG5vdCBhdmFpbGFibGUuIEZv
bGxvd2luZyBmcmFtZXMgbWF5IGJlIHdyb25nLgowNCAwNjcwZmY0OCA2ZWE0NTc0OCBhdGl1bWRh
ZyFYZHhJbml0WG9wU2VydmljZXMrMHgxZDI5OAowNSAwNjcwZmY4MCA2ZWE0NTdlNCBhdGl1bWRh
ZyFYZHhJbml0WG9wU2VydmljZXMrMHgyNTA4ZDgKMDYgMDY3MGZmODggNzUyMDMzOGEgYXRpdW1k
YWchWGR4SW5pdFhvcFNlcnZpY2VzKzB4MjUwOTc0CjA3IDA2NzBmZjk0IDc3M2I5ZjcyIGtlcm5l
bDMyIUJhc2VUaHJlYWRJbml0VGh1bmsrMHhlCjA4IDA2NzBmZmQ0IDc3M2I5ZjQ1IG50ZGxsIV9f
UnRsVXNlclRocmVhZFN0YXJ0KzB4NzAKMDkgMDY3MGZmZWMgMDAwMDAwMDAgbnRkbGwhX1J0bFVz
ZXJUaHJlYWRTdGFydCsweDFiCgogIDExICBJZDogOWFjLmU5MCBTdXNwZW5kOiAxIFRlYjogN2Vm
OTcwMDAgVW5mcm96ZW4KICMgQ2hpbGRFQlAgUmV0QWRkciAgCjAwIDA2ODBmZTk0IDc2MDYxNGFi
IG50ZGxsIVp3V2FpdEZvclNpbmdsZU9iamVjdCsweDE1CjAxIDA2ODBmZjAwIDc1MjAxMTk0IEtF
Uk5FTEJBU0UhV2FpdEZvclNpbmdsZU9iamVjdEV4KzB4OTgKMDIgMDY4MGZmMTggNzUyMDExNDgg
a2VybmVsMzIhV2FpdEZvclNpbmdsZU9iamVjdEV4SW1wbGVtZW50YXRpb24rMHg3NQowMyAwNjgw
ZmYyYyA2ZTgxMjEwOCBrZXJuZWwzMiFXYWl0Rm9yU2luZ2xlT2JqZWN0KzB4MTIKV0FSTklORzog
U3RhY2sgdW53aW5kIGluZm9ybWF0aW9uIG5vdCBhdmFpbGFibGUuIEZvbGxvd2luZyBmcmFtZXMg
bWF5IGJlIHdyb25nLgowNCAwNjgwZmY0OCA2ZWE0NTc0OCBhdGl1bWRhZyFYZHhJbml0WG9wU2Vy
dmljZXMrMHgxZDI5OAowNSAwNjgwZmY4MCA2ZWE0NTdlNCBhdGl1bWRhZyFYZHhJbml0WG9wU2Vy
dmljZXMrMHgyNTA4ZDgKMDYgMDY4MGZmODggNzUyMDMzOGEgYXRpdW1kYWchWGR4SW5pdFhvcFNl
cnZpY2VzKzB4MjUwOTc0CjA3IDA2ODBmZjk0IDc3M2I5ZjcyIGtlcm5lbDMyIUJhc2VUaHJlYWRJ
bml0VGh1bmsrMHhlCjA4IDA2ODBmZmQ0IDc3M2I5ZjQ1IG50ZGxsIV9fUnRsVXNlclRocmVhZFN0
YXJ0KzB4NzAKMDkgMDY4MGZmZWMgMDAwMDAwMDAgbnRkbGwhX1J0bFVzZXJUaHJlYWRTdGFydCsw
eDFiCgogIDEyICBJZDogOWFjLmI5NCBTdXNwZW5kOiAxIFRlYjogN2VmOTQwMDAgVW5mcm96ZW4K
ICMgQ2hpbGRFQlAgUmV0QWRkciAgCjAwIDA2OTBmZTk0IDc2MDYxNGFiIG50ZGxsIVp3V2FpdEZv
clNpbmdsZU9iamVjdCsweDE1CjAxIDA2OTBmZjAwIDc1MjAxMTk0IEtFUk5FTEJBU0UhV2FpdEZv
clNpbmdsZU9iamVjdEV4KzB4OTgKMDIgMDY5MGZmMTggNzUyMDExNDgga2VybmVsMzIhV2FpdEZv
clNpbmdsZU9iamVjdEV4SW1wbGVtZW50YXRpb24rMHg3NQowMyAwNjkwZmYyYyA2ZTgxMjEwOCBr
ZXJuZWwzMiFXYWl0Rm9yU2luZ2xlT2JqZWN0KzB4MTIKV0FSTklORzogU3RhY2sgdW53aW5kIGlu
Zm9ybWF0aW9uIG5vdCBhdmFpbGFibGUuIEZvbGxvd2luZyBmcmFtZXMgbWF5IGJlIHdyb25nLgow
NCAwNjkwZmY0OCA2ZWE0NTc0OCBhdGl1bWRhZyFYZHhJbml0WG9wU2VydmljZXMrMHgxZDI5OAow
NSAwNjkwZmY4MCA2ZWE0NTdlNCBhdGl1bWRhZyFYZHhJbml0WG9wU2VydmljZXMrMHgyNTA4ZDgK
MDYgMDY5MGZmODggNzUyMDMzOGEgYXRpdW1kYWchWGR4SW5pdFhvcFNlcnZpY2VzKzB4MjUwOTc0
CjA3IDA2OTBmZjk0IDc3M2I5ZjcyIGtlcm5lbDMyIUJhc2VUaHJlYWRJbml0VGh1bmsrMHhlCjA4
IDA2OTBmZmQ0IDc3M2I5ZjQ1IG50ZGxsIV9fUnRsVXNlclRocmVhZFN0YXJ0KzB4NzAKMDkgMDY5
MGZmZWMgMDAwMDAwMDAgbnRkbGwhX1J0bFVzZXJUaHJlYWRTdGFydCsweDFiCgogIDEzICBJZDog
OWFjLmQxNCBTdXNwZW5kOiAxIFRlYjogN2VmOTEwMDAgVW5mcm96ZW4KICMgQ2hpbGRFQlAgUmV0
QWRkciAgCjAwIDA2YTRmZTk0IDc2MDYxNGFiIG50ZGxsIVp3V2FpdEZvclNpbmdsZU9iamVjdCsw
eDE1CjAxIDA2YTRmZjAwIDc1MjAxMTk0IEtFUk5FTEJBU0UhV2FpdEZvclNpbmdsZU9iamVjdEV4
KzB4OTgKMDIgMDZhNGZmMTggNzUyMDExNDgga2VybmVsMzIhV2FpdEZvclNpbmdsZU9iamVjdEV4
SW1wbGVtZW50YXRpb24rMHg3NQowMyAwNmE0ZmYyYyA2ZTgxMjEwOCBrZXJuZWwzMiFXYWl0Rm9y
U2luZ2xlT2JqZWN0KzB4MTIKV0FSTklORzogU3RhY2sgdW53aW5kIGluZm9ybWF0aW9uIG5vdCBh
dmFpbGFibGUuIEZvbGxvd2luZyBmcmFtZXMgbWF5IGJlIHdyb25nLgowNCAwNmE0ZmY0OCA2ZWE0
NTc0OCBhdGl1bWRhZyFYZHhJbml0WG9wU2VydmljZXMrMHgxZDI5OAowNSAwNmE0ZmY4MCA2ZWE0
NTdlNCBhdGl1bWRhZyFYZHhJbml0WG9wU2VydmljZXMrMHgyNTA4ZDgKMDYgMDZhNGZmODggNzUy
MDMzOGEgYXRpdW1kYWchWGR4SW5pdFhvcFNlcnZpY2VzKzB4MjUwOTc0CjA3IDA2YTRmZjk0IDc3
M2I5ZjcyIGtlcm5lbDMyIUJhc2VUaHJlYWRJbml0VGh1bmsrMHhlCjA4IDA2YTRmZmQ0IDc3M2I5
ZjQ1IG50ZGxsIV9fUnRsVXNlclRocmVhZFN0YXJ0KzB4NzAKMDkgMDZhNGZmZWMgMDAwMDAwMDAg
bnRkbGwhX1J0bFVzZXJUaHJlYWRTdGFydCsweDFiCgogIDE0ICBJZDogOWFjLjhmMCBTdXNwZW5k
OiAxIFRlYjogN2VmOGUwMDAgVW5mcm96ZW4KICMgQ2hpbGRFQlAgUmV0QWRkciAgCjAwIDA2Yjhm
ZTk0IDc2MDYxNGFiIG50ZGxsIVp3V2FpdEZvclNpbmdsZU9iamVjdCsweDE1CjAxIDA2YjhmZjAw
IDc1MjAxMTk0IEtFUk5FTEJBU0UhV2FpdEZvclNpbmdsZU9iamVjdEV4KzB4OTgKMDIgMDZiOGZm
MTggNzUyMDExNDgga2VybmVsMzIhV2FpdEZvclNpbmdsZU9iamVjdEV4SW1wbGVtZW50YXRpb24r
MHg3NQowMyAwNmI4ZmYyYyA2ZTgxMjEwOCBrZXJuZWwzMiFXYWl0Rm9yU2luZ2xlT2JqZWN0KzB4
MTIKV0FSTklORzogU3RhY2sgdW53aW5kIGluZm9ybWF0aW9uIG5vdCBhdmFpbGFibGUuIEZvbGxv
d2luZyBmcmFtZXMgbWF5IGJlIHdyb25nLgowNCAwNmI4ZmY0OCA2ZWE0NTc0OCBhdGl1bWRhZyFY
ZHhJbml0WG9wU2VydmljZXMrMHgxZDI5OAowNSAwNmI4ZmY4MCA2ZWE0NTdlNCBhdGl1bWRhZyFY
ZHhJbml0WG9wU2VydmljZXMrMHgyNTA4ZDgKMDYgMDZiOGZmODggNzUyMDMzOGEgYXRpdW1kYWch
WGR4SW5pdFhvcFNlcnZpY2VzKzB4MjUwOTc0CjA3IDA2YjhmZjk0IDc3M2I5ZjcyIGtlcm5lbDMy
IUJhc2VUaHJlYWRJbml0VGh1bmsrMHhlCjA4IDA2YjhmZmQ0IDc3M2I5ZjQ1IG50ZGxsIV9fUnRs
VXNlclRocmVhZFN0YXJ0KzB4NzAKMDkgMDZiOGZmZWMgMDAwMDAwMDAgbnRkbGwhX1J0bFVzZXJU
aHJlYWRTdGFydCsweDFiCgogIDE1ICBJZDogOWFjLmNmMCBTdXNwZW5kOiAxIFRlYjogN2VmOGIw
MDAgVW5mcm96ZW4KICMgQ2hpbGRFQlAgUmV0QWRkciAgCjAwIDA2Y2NmZTk0IDc2MDYxNGFiIG50
ZGxsIVp3V2FpdEZvclNpbmdsZU9iamVjdCsweDE1CjAxIDA2Y2NmZjAwIDc1MjAxMTk0IEtFUk5F
TEJBU0UhV2FpdEZvclNpbmdsZU9iamVjdEV4KzB4OTgKMDIgMDZjY2ZmMTggNzUyMDExNDgga2Vy
bmVsMzIhV2FpdEZvclNpbmdsZU9iamVjdEV4SW1wbGVtZW50YXRpb24rMHg3NQowMyAwNmNjZmYy
YyA2ZTgxMjEwOCBrZXJuZWwzMiFXYWl0Rm9yU2luZ2xlT2JqZWN0KzB4MTIKV0FSTklORzogU3Rh
Y2sgdW53aW5kIGluZm9ybWF0aW9uIG5vdCBhdmFpbGFibGUuIEZvbGxvd2luZyBmcmFtZXMgbWF5
IGJlIHdyb25nLgowNCAwNmNjZmY0OCA2ZWE0NTc0OCBhdGl1bWRhZyFYZHhJbml0WG9wU2Vydmlj
ZXMrMHgxZDI5OAowNSAwNmNjZmY4MCA2ZWE0NTdlNCBhdGl1bWRhZyFYZHhJbml0WG9wU2Vydmlj
ZXMrMHgyNTA4ZDgKMDYgMDZjY2ZmODggNzUyMDMzOGEgYXRpdW1kYWchWGR4SW5pdFhvcFNlcnZp
Y2VzKzB4MjUwOTc0CjA3IDA2Y2NmZjk0IDc3M2I5ZjcyIGtlcm5lbDMyIUJhc2VUaHJlYWRJbml0
VGh1bmsrMHhlCjA4IDA2Y2NmZmQ0IDc3M2I5ZjQ1IG50ZGxsIV9fUnRsVXNlclRocmVhZFN0YXJ0
KzB4NzAKMDkgMDZjY2ZmZWMgMDAwMDAwMDAgbnRkbGwhX1J0bFVzZXJUaHJlYWRTdGFydCsweDFi
CgogIDE2ICBJZDogOWFjLmExYyBTdXNwZW5kOiAxIFRlYjogN2VmODgwMDAgVW5mcm96ZW4KICMg
Q2hpbGRFQlAgUmV0QWRkciAgCjAwIDA2ZTBmZTk0IDc2MDYxNGFiIG50ZGxsIVp3V2FpdEZvclNp
bmdsZU9iamVjdCsweDE1CjAxIDA2ZTBmZjAwIDc1MjAxMTk0IEtFUk5FTEJBU0UhV2FpdEZvclNp
bmdsZU9iamVjdEV4KzB4OTgKMDIgMDZlMGZmMTggNzUyMDExNDgga2VybmVsMzIhV2FpdEZvclNp
bmdsZU9iamVjdEV4SW1wbGVtZW50YXRpb24rMHg3NQowMyAwNmUwZmYyYyA2ZTgxMjEwOCBrZXJu
ZWwzMiFXYWl0Rm9yU2luZ2xlT2JqZWN0KzB4MTIKV0FSTklORzogU3RhY2sgdW53aW5kIGluZm9y
bWF0aW9uIG5vdCBhdmFpbGFibGUuIEZvbGxvd2luZyBmcmFtZXMgbWF5IGJlIHdyb25nLgowNCAw
NmUwZmY0OCA2ZWE0NTc0OCBhdGl1bWRhZyFYZHhJbml0WG9wU2VydmljZXMrMHgxZDI5OAowNSAw
NmUwZmY4MCA2ZWE0NTdlNCBhdGl1bWRhZyFYZHhJbml0WG9wU2VydmljZXMrMHgyNTA4ZDgKMDYg
MDZlMGZmODggNzUyMDMzOGEgYXRpdW1kYWchWGR4SW5pdFhvcFNlcnZpY2VzKzB4MjUwOTc0CjA3
IDA2ZTBmZjk0IDc3M2I5ZjcyIGtlcm5lbDMyIUJhc2VUaHJlYWRJbml0VGh1bmsrMHhlCjA4IDA2
ZTBmZmQ0IDc3M2I5ZjQ1IG50ZGxsIV9fUnRsVXNlclRocmVhZFN0YXJ0KzB4NzAKMDkgMDZlMGZm
ZWMgMDAwMDAwMDAgbnRkbGwhX1J0bFVzZXJUaHJlYWRTdGFydCsweDFiCgogIDE3ICBJZDogOWFj
LmZhNCBTdXNwZW5kOiAxIFRlYjogN2VmODUwMDAgVW5mcm96ZW4KICMgQ2hpbGRFQlAgUmV0QWRk
ciAgCjAwIDA3NjVmZTI4IDc3M2QzMzkyIG50ZGxsIU50V2FpdEZvcldvcmtWaWFXb3JrZXJGYWN0
b3J5KzB4MTIKMDEgMDc2NWZmODggNzUyMDMzOGEgbnRkbGwhVHBwV29ya2VyVGhyZWFkKzB4MjE2
CjAyIDA3NjVmZjk0IDc3M2I5ZjcyIGtlcm5lbDMyIUJhc2VUaHJlYWRJbml0VGh1bmsrMHhlCjAz
IDA3NjVmZmQ0IDc3M2I5ZjQ1IG50ZGxsIV9fUnRsVXNlclRocmVhZFN0YXJ0KzB4NzAKMDQgMDc2
NWZmZWMgMDAwMDAwMDAgbnRkbGwhX1J0bFVzZXJUaHJlYWRTdGFydCsweDFiCgogIDE4ICBJZDog
OWFjLmZiOCBTdXNwZW5kOiAxIFRlYjogN2VmODIwMDAgVW5mcm96ZW4KICMgQ2hpbGRFQlAgUmV0
QWRkciAgCjAwIDA3OTlmZDk0IDc2MDYxNGFiIG50ZGxsIVp3V2FpdEZvclNpbmdsZU9iamVjdCsw
eDE1CjAxIDA3OTlmZTAwIDc1MjAxMTk0IEtFUk5FTEJBU0UhV2FpdEZvclNpbmdsZU9iamVjdEV4
KzB4OTgKMDIgMDc5OWZlMTggMDFmODYwOTIga2VybmVsMzIhV2FpdEZvclNpbmdsZU9iamVjdEV4
SW1wbGVtZW50YXRpb24rMHg3NQowMyAwNzk5ZmUyYyAwMWY2YTQxZCBKYXZhU2NyaXB0Q29yZSFD
b25jdXJyZW5jeTo6ZGV0YWlsczo6RXh0ZXJuYWxDb250ZXh0QmFzZTo6QmxvY2sodm9pZCkrMHgz
YSBbZjpcZGRcdmN0b29sc1xjcnRcY3J0dzMyXGNvbmNydFxleHRlcm5hbGNvbnRleHRiYXNlLmNw
cCBAIDE0NV0KMDQgMDc5OWZlN2MgMDFmNjMwZjggSmF2YVNjcmlwdENvcmUhQ29uY3VycmVuY3k6
OmRldGFpbHM6Ol9Db25kaXRpb25fdmFyaWFibGU6OndhaXRfZm9yKGNsYXNzIENvbmN1cnJlbmN5
Ojpjcml0aWNhbF9zZWN0aW9uICogX0xjayA9IDB4MDAzM2Y2ZGMsIHVuc2lnbmVkIGludCBfVGlt
ZW91dCA9IDxWYWx1ZSB1bmF2YWlsYWJsZSBlcnJvcj4pKzB4ZDEgW2Y6XGRkXHZjdG9vbHNcY3J0
XGNydHczMlxjb25jcnRcZXZlbnQuY3BwIEAgNjM4XQowNSAwNzk5ZmViNCAwMWQ4ZTY1YiBKYXZh
U2NyaXB0Q29yZSFkb193YWl0KHN0cnVjdCBfQ25kX2ludGVybmFsX2ltcF90ICoqIGNvbmQgPSAw
eDA2NTJmMGYwLCBzdHJ1Y3QgX010eF9pbnRlcm5hbF9pbXBfdCAqKiBtdHggPSAweDA2NTJmMGVj
LCBzdHJ1Y3QgeHRpbWUgKiB0YXJnZXQgPSAweDA3OTlmZWYwKSsweDZlIFtmOlxkZFx2Y3Rvb2xz
XGNydFxjcnR3MzJcc3RkY3BwXHRoclxjb25kLmMgQCA2MV0KMDYgMDc5OWZmMDQgMDFiZDk3Mjgg
SmF2YVNjcmlwdENvcmUhSlNDOjpCbG9ja0FsbG9jYXRvcjo6YmxvY2tGcmVlaW5nVGhyZWFkTWFp
bih2b2lkKSsweGFiIFtjOlxjeWd3aW5caG9tZVxidWlsZGJvdFxzbGF2ZVx3aW4tcmVsZWFzZVxi
dWlsZFxzb3VyY2VcamF2YXNjcmlwdGNvcmVcaGVhcFxibG9ja2FsbG9jYXRvci5jcHAgQCAxMjld
CjA3IDA3OTlmZjBjIDAxYmQ5NjE4IFdURiFzdGQ6Ol9GdW5jX2ltcGw8c3RkOjpfQ2FsbGFibGVf
b2JqPDxsYW1iZGFfMDVmNTM5YzZiMDBmMjc3NGQ5ZGY1NjA2YTk4ODYxMTU+LDA+LHN0ZDo6YWxs
b2NhdG9yPHN0ZDo6X0Z1bmNfY2xhc3M8dm9pZD4gPix2b2lkPjo6X0RvX2NhbGwodm9pZCkrMHg4
IFtjOlxwcm9ncmFtIGZpbGVzICh4ODYpXG1pY3Jvc29mdCB2aXN1YWwgc3R1ZGlvIDEyLjBcdmNc
aW5jbHVkZVxmdW5jdGlvbmFsIEAgMjI4XQowOCAwNzk5ZmYzMCAwMWJkYTA1NSBXVEYhV1RGOjp0
aHJlYWRFbnRyeVBvaW50KHZvaWQgKiBjb250ZXh0RGF0YSA9IDB4MDAzNGZiYTApKzB4OTggW2M6
XGN5Z3dpblxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1yZWxlYXNlXGJ1aWxkXHNvdXJjZVx3dGZc
d3RmXHRocmVhZGluZy5jcHAgQCA1OV0KMDkgMDc5OWZmNDQgMDFiZTA2MTkgV1RGIVdURjo6d3Rm
VGhyZWFkRW50cnlQb2ludCh2b2lkICogcGFyYW0gPSAweDAwMzdiMjEwKSsweDE1IFtjOlxjeWd3
aW5caG9tZVxidWlsZGJvdFxzbGF2ZVx3aW4tcmVsZWFzZVxidWlsZFxzb3VyY2Vcd3RmXHd0Zlx0
aHJlYWRpbmd3aW4uY3BwIEAgMjA3XQowYSAwNzk5ZmY3YyAwMWJlMDc0MSBXVEYhX2NhbGx0aHJl
YWRzdGFydGV4KHZvaWQpKzB4MWIgW2Y6XGRkXHZjdG9vbHNcY3J0XGNydHczMlxzdGFydHVwXHRo
cmVhZGV4LmMgQCAzNzZdCjBiIDA3OTlmZjg4IDc1MjAzMzhhIFdURiFfdGhyZWFkc3RhcnRleCh2
b2lkICogcHRkID0gPFZhbHVlIHVuYXZhaWxhYmxlIGVycm9yPikrMHg3YyBbZjpcZGRcdmN0b29s
c1xjcnRcY3J0dzMyXHN0YXJ0dXBcdGhyZWFkZXguYyBAIDM1NF0KMGMgMDc5OWZmOTQgNzczYjlm
NzIga2VybmVsMzIhQmFzZVRocmVhZEluaXRUaHVuaysweGUKMGQgMDc5OWZmZDQgNzczYjlmNDUg
bnRkbGwhX19SdGxVc2VyVGhyZWFkU3RhcnQrMHg3MAowZSAwNzk5ZmZlYyAwMDAwMDAwMCBudGRs
bCFfUnRsVXNlclRocmVhZFN0YXJ0KzB4MWIKCiAgMTkgIElkOiA5YWMuMzY0IFN1c3BlbmQ6IDEg
VGViOiA3ZWY3ZjAwMCBVbmZyb3plbgogIyBDaGlsZEVCUCBSZXRBZGRyICAKMDAgMDdiM2ZiNzgg
NzYwNjE1ZjcgbnRkbGwhTnRXYWl0Rm9yTXVsdGlwbGVPYmplY3RzKzB4MTUKMDEgMDdiM2ZjMTQg
NzUyMDE5ZjggS0VSTkVMQkFTRSFXYWl0Rm9yTXVsdGlwbGVPYmplY3RzRXgrMHgxMDAKMDIgMDdi
M2ZjNWMgNzRkYTA4NmEga2VybmVsMzIhV2FpdEZvck11bHRpcGxlT2JqZWN0c0V4SW1wbGVtZW50
YXRpb24rMHhlMAowMyAwN2IzZmNiMCA3NDljMTYwOSBVU0VSMzIhUmVhbE1zZ1dhaXRGb3JNdWx0
aXBsZU9iamVjdHNFeCsweDE0ZApXQVJOSU5HOiBTdGFjayB1bndpbmQgaW5mb3JtYXRpb24gbm90
IGF2YWlsYWJsZS4gRm9sbG93aW5nIGZyYW1lcyBtYXkgYmUgd3JvbmcuCjA0IDA3YjNmZGUwIDc0
OWM0OTA4IENvcmVGb3VuZGF0aW9uIUNGRGF0ZUZvcm1hdHRlckdldFRpbWVTdHlsZSsweDZlM2U1
CjA1IDA3YjNmZTU0IDc0OWM0ZDg1IENvcmVGb3VuZGF0aW9uIUNGRGF0ZUZvcm1hdHRlckdldFRp
bWVTdHlsZSsweDcxNmU0CjA2IDA3YjNmZWE4IDc0OWM0ZWQ0IENvcmVGb3VuZGF0aW9uIUNGRGF0
ZUZvcm1hdHRlckdldFRpbWVTdHlsZSsweDcxYjYxCjA3IDA3YjNmZjA0IDAxYmQ5NzI4IENvcmVG
b3VuZGF0aW9uIUNGRGF0ZUZvcm1hdHRlckdldFRpbWVTdHlsZSsweDcxY2IwCjA4IDA3YjNmZjBj
IDAxYmQ5NjE4IFdURiFzdGQ6Ol9GdW5jX2ltcGw8c3RkOjpfQ2FsbGFibGVfb2JqPDxsYW1iZGFf
MDVmNTM5YzZiMDBmMjc3NGQ5ZGY1NjA2YTk4ODYxMTU+LDA+LHN0ZDo6YWxsb2NhdG9yPHN0ZDo6
X0Z1bmNfY2xhc3M8dm9pZD4gPix2b2lkPjo6X0RvX2NhbGwodm9pZCkrMHg4IFtjOlxwcm9ncmFt
IGZpbGVzICh4ODYpXG1pY3Jvc29mdCB2aXN1YWwgc3R1ZGlvIDEyLjBcdmNcaW5jbHVkZVxmdW5j
dGlvbmFsIEAgMjI4XQowOSAwN2IzZmYzMCAwMWJkYTA1NSBXVEYhV1RGOjp0aHJlYWRFbnRyeVBv
aW50KHZvaWQgKiBjb250ZXh0RGF0YSA9IDB4MDY1NDM1MTApKzB4OTggW2M6XGN5Z3dpblxob21l
XGJ1aWxkYm90XHNsYXZlXHdpbi1yZWxlYXNlXGJ1aWxkXHNvdXJjZVx3dGZcd3RmXHRocmVhZGlu
Zy5jcHAgQCA1OV0KMGEgMDdiM2ZmNDQgMDFiZTA2MTkgV1RGIVdURjo6d3RmVGhyZWFkRW50cnlQ
b2ludCh2b2lkICogcGFyYW0gPSAweDAwMzdiMGUwKSsweDE1IFtjOlxjeWd3aW5caG9tZVxidWls
ZGJvdFxzbGF2ZVx3aW4tcmVsZWFzZVxidWlsZFxzb3VyY2Vcd3RmXHd0Zlx0aHJlYWRpbmd3aW4u
Y3BwIEAgMjA3XQowYiAwN2IzZmY3YyAwMWJlMDc0MSBXVEYhX2NhbGx0aHJlYWRzdGFydGV4KHZv
aWQpKzB4MWIgW2Y6XGRkXHZjdG9vbHNcY3J0XGNydHczMlxzdGFydHVwXHRocmVhZGV4LmMgQCAz
NzZdCjBjIDA3YjNmZjg4IDc1MjAzMzhhIFdURiFfdGhyZWFkc3RhcnRleCh2b2lkICogcHRkID0g
PFZhbHVlIHVuYXZhaWxhYmxlIGVycm9yPikrMHg3YyBbZjpcZGRcdmN0b29sc1xjcnRcY3J0dzMy
XHN0YXJ0dXBcdGhyZWFkZXguYyBAIDM1NF0KMGQgMDdiM2ZmOTQgNzczYjlmNzIga2VybmVsMzIh
QmFzZVRocmVhZEluaXRUaHVuaysweGUKMGUgMDdiM2ZmZDQgNzczYjlmNDUgbnRkbGwhX19SdGxV
c2VyVGhyZWFkU3RhcnQrMHg3MAowZiAwN2IzZmZlYyAwMDAwMDAwMCBudGRsbCFfUnRsVXNlclRo
cmVhZFN0YXJ0KzB4MWIKMDowMDA+IHEKcXVpdDo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244912</attachid>
            <date>2015-01-19 11:33:28 -0800</date>
            <delta_ts>2015-01-19 11:53:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139906-20150119114025.patch</filename>
            <type>text/plain</type>
            <size>23413</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3ODY1NikKKysrIFNvdXJjZS9XZWJLaXQv
d2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDE1LTAxLTE5
ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXaW5dIFBl
cmlvZGljIGZhaWx1cmUgaW4gRHVtcFJlbmRlclRyZWUgcmVsYXRlZCB0byBXZWJBY3Rpb25Qcm9w
ZXJ0eUJhZzo6UmVhZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTM5OTA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgV2ViS2l0IG9uIFdpbmRvd3Mgd2FzIGNyZWF0aW5nIHVuaW5pdGlhbGl6ZWQgVkFSSUFO
VCBzdHJ1Y3R1cmVzLCB0aGVuIGF0dGVtcHRpbmcKKyAgICAgICAgdG8gdXNlIHRoZW0uIFRoaXMg
cGF0Y2ggZml4ZXMgdGhhdC4KKworICAgICAgICBJZGVudGlmaWVkIGJ5IGRvbS9odG1sL2xldmVs
Mi9odG1sL0hUTUxJRnJhbWVFbGVtZW50MDMuaHRtbCAoYW5kIG90aGVycykKKworICAgICAgICAq
IENPTUVudW1WYXJpYW50Lmg6CisgICAgICAgIChDT01FbnVtVmFyaWFudDxDb250YWluZXJUeXBl
Pjo6TmV4dCk6CisgICAgICAgICogQ09NUHJvcGVydHlCYWcuaDoKKyAgICAgICAgKEhhc2hUeXBl
Pjo6UmVhZCk6CisgICAgICAgICogRGVmYXVsdFBvbGljeURlbGVnYXRlLmNwcDoKKyAgICAgICAg
KERlZmF1bHRQb2xpY3lEZWxlZ2F0ZTo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbik6
CisgICAgICAgICogV2ViQWN0aW9uUHJvcGVydHlCYWcuY3BwOgorICAgICAgICAoV2ViQWN0aW9u
UHJvcGVydHlCYWc6OlJlYWQpOgorICAgICAgICAqIFdlYkRhdGFiYXNlTWFuYWdlci5jcHA6Cisg
ICAgICAgIChEYXRhYmFzZURldGFpbHNQcm9wZXJ0eUJhZzo6UmVhZCk6CisgICAgICAgICogV2Vi
RWxlbWVudFByb3BlcnR5QmFnLmNwcDoKKyAgICAgICAgKFdlYkVsZW1lbnRQcm9wZXJ0eUJhZzo6
UmVhZCk6CisgICAgICAgICogV2ViRnJhbWUuY3BwOgorICAgICAgICAoRW51bUNoaWxkRnJhbWVz
OjpOZXh0KToKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6Om5vdGlm
eURpZEFkZEljb24pOgorCiAyMDE1LTAxLTE1ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3ZlIEVOQUJMRShTUUxfREFUQUJBU0UpIGd1YXJkcwpJ
bmRleDogU291cmNlL1dlYktpdC93aW4vQ09NRW51bVZhcmlhbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L3dpbi9DT01FbnVtVmFyaWFudC5oCShyZXZpc2lvbiAxNzg2MTYpCisrKyBT
b3VyY2UvV2ViS2l0L3dpbi9DT01FbnVtVmFyaWFudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzMs
NyArMTMzLDcgQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBDT01FbnVtVmFyaWFudAogICAg
IGlmICghcmdWYXIpCiAgICAgICAgIHJldHVybiBFX1BPSU5URVI7CiAgICAgZm9yICh1bnNpZ25l
ZCBpID0gMCA7IGkgPCBjZWx0OyBpKyspCi0gICAgICAgIFZhcmlhbnRJbml0KCZyZ1ZhcltpXSk7
CisgICAgICAgIDo6VmFyaWFudEluaXQoJnJnVmFyW2ldKTsKIAogICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCBjZWx0OyBpKyspIHsKICAgICAgICAgaWYgKG1fY3VycmVudFBvcyA9PSBtX2Nv
bnRhaW5lci5lbmQoKSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL0NPTVByb3BlcnR5QmFnLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vQ09NUHJvcGVydHlCYWcuaAkocmV2aXNp
b24gMTc4NjE2KQorKysgU291cmNlL1dlYktpdC93aW4vQ09NUHJvcGVydHlCYWcuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTcwLDcgKzE3MCw3IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgQ09N
UHJvcGVydHlCYWcKICAgICBIUkVTVUxUIGhyID0gU19PSzsKIAogICAgIGZvciAoVUxPTkcgaSA9
IDA7IGkgPCBjUHJvcGVydGllczsgKytpKSB7Ci0gICAgICAgIFZhcmlhbnRJbml0KCZwdmFyVmFs
dWVbaV0pOworICAgICAgICA6OlZhcmlhbnRJbml0KCZwdmFyVmFsdWVbaV0pOwogICAgICAgICBw
dmFyVmFsdWVbaV0udnQgPSBwUHJvcEJhZ1tpXS52dDsKICAgICAgICAgcGhyRXJyb3JbaV0gPSBS
ZWFkKHBQcm9wQmFnW2ldLnBzdHJOYW1lLCAmcHZhclZhbHVlW2ldLCBwRXJyb3JMb2cpOwogICAg
ICAgICBpZiAoRkFJTEVEKHBockVycm9yW2ldKSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL0Rl
ZmF1bHRQb2xpY3lEZWxlZ2F0ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4v
RGVmYXVsdFBvbGljeURlbGVnYXRlLmNwcAkocmV2aXNpb24gMTc4NjE2KQorKysgU291cmNlL1dl
YktpdC93aW4vRGVmYXVsdFBvbGljeURlbGVnYXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjks
NiArMjksNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvQlN0cmluZy5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvQ09NUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisjaW5jbHVkZSA8
Y29tdXRpbC5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApAQCAtOTcsMTcgKzk4LDEz
IEBAIFVMT05HIFNURE1FVEhPRENBTExUWVBFIERlZmF1bHRQb2xpY3lEZWwKICAgICByZXR1cm4g
bmV3UmVmOwogfQogCi1IUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIERlZmF1bHRQb2xpY3lEZWxl
Z2F0ZTo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbigKLSAgICAvKltpbl0qLyBJV2Vi
Vmlldyogd2ViVmlldywgCi0gICAgLypbaW5dKi8gSVByb3BlcnR5QmFnKiBhY3Rpb25JbmZvcm1h
dGlvbiwgCi0gICAgLypbaW5dKi8gSVdlYlVSTFJlcXVlc3QqIHJlcXVlc3QsIAotICAgIC8qW2lu
XSovIElXZWJGcmFtZSogLypmcmFtZSovLCAKLSAgICAvKltpbl0qLyBJV2ViUG9saWN5RGVjaXNp
b25MaXN0ZW5lciogbGlzdGVuZXIpCitIUkVTVUxUIERlZmF1bHRQb2xpY3lEZWxlZ2F0ZTo6ZGVj
aWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbihJV2ViVmlldyogd2ViVmlldywgSVByb3BlcnR5
QmFnKiBhY3Rpb25JbmZvcm1hdGlvbiwgCisgICAgSVdlYlVSTFJlcXVlc3QqIHJlcXVlc3QsIElX
ZWJGcmFtZSogLypmcmFtZSovLCBJV2ViUG9saWN5RGVjaXNpb25MaXN0ZW5lciogbGlzdGVuZXIp
CiB7CiAgICAgaW50IG5hdlR5cGUgPSAwOwotICAgIFZBUklBTlQgdmFyOwotICAgIGlmIChTVUND
RUVERUQoYWN0aW9uSW5mb3JtYXRpb24tPlJlYWQoV2ViQWN0aW9uTmF2aWdhdGlvblR5cGVLZXks
ICZ2YXIsIDApKSkgewotICAgICAgICBWX1ZUKCZ2YXIpID0gVlRfSTQ7CisgICAgX3ZhcmlhbnRf
dCB2YXI7CisgICAgaWYgKFNVQ0NFRURFRChhY3Rpb25JbmZvcm1hdGlvbi0+UmVhZChXZWJBY3Rp
b25OYXZpZ2F0aW9uVHlwZUtleSwgJnZhci5HZXRWQVJJQU5UKCksIG51bGxwdHIpKSkgeworICAg
ICAgICB2YXIuQ2hhbmdlVHlwZShWVF9JNCwgbnVsbHB0cik7CiAgICAgICAgIG5hdlR5cGUgPSBW
X0k0KCZ2YXIpOwogICAgIH0KICAgICBDT01QdHI8SVdlYlZpZXdQcml2YXRlPiB3dlByaXZhdGUo
UXVlcnksIHdlYlZpZXcpOwpJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViQWN0aW9uUHJvcGVy
dHlCYWcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYkFjdGlvblByb3Bl
cnR5QmFnLmNwcAkocmV2aXNpb24gMTc4NjE2KQorKysgU291cmNlL1dlYktpdC93aW4vV2ViQWN0
aW9uUHJvcGVydHlCYWcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDUsMTIgKzEwNSwxMiBAQCBz
dGF0aWMgY29uc3QgTW91c2VFdmVudCogZmluZE1vdXNlRXZlbnQoCiAgICAgcmV0dXJuIDA7CiB9
CiAKLUhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViQWN0aW9uUHJvcGVydHlCYWc6OlJlYWQo
TFBDT0xFU1RSIHBzelByb3BOYW1lLCBWQVJJQU5UICpwVmFyLCBJRXJyb3JMb2cgKiAvKnBFcnJv
ckxvZyovKQorSFJFU1VMVCBXZWJBY3Rpb25Qcm9wZXJ0eUJhZzo6UmVhZChMUENPTEVTVFIgcHN6
UHJvcE5hbWUsIFZBUklBTlQgKnBWYXIsIElFcnJvckxvZyAqIC8qcEVycm9yTG9nKi8pCiB7CiAg
ICAgaWYgKCFwc3pQcm9wTmFtZSkKICAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKIAotICAgIFZh
cmlhbnRDbGVhcihwVmFyKTsKKyAgICA6OlZhcmlhbnRDbGVhcihwVmFyKTsKIAogICAgIGlmIChp
c0VxdWFsKHBzelByb3BOYW1lLCBXZWJBY3Rpb25OYXZpZ2F0aW9uVHlwZUtleSkpIHsKICAgICAg
ICAgVl9WVChwVmFyKSA9IFZUX0k0OwpJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViRGF0YWJh
c2VNYW5hZ2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJEYXRhYmFz
ZU1hbmFnZXIuY3BwCShyZXZpc2lvbiAxNzg2MTYpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJE
YXRhYmFzZU1hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTIsMTIgKzExMiwxMiBAQCBI
UkVTVUxUIFNURE1FVEhPRENBTExUWVBFIERhdGFiYXNlRGV0YWlsCiB9CiAKIC8vIElQcm9wZXJ0
eUJhZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQotSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBEYXRhYmFzZURldGFp
bHNQcm9wZXJ0eUJhZzo6UmVhZChMUENPTEVTVFIgcHN6UHJvcE5hbWUsIFZBUklBTlQqIHBWYXIs
IElFcnJvckxvZyopCitIUkVTVUxUIERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFnOjpSZWFkKExQ
Q09MRVNUUiBwc3pQcm9wTmFtZSwgVkFSSUFOVCogcFZhciwgSUVycm9yTG9nKikKIHsKICAgICBp
ZiAoIXBzelByb3BOYW1lIHx8ICFwVmFyKQogICAgICAgICByZXR1cm4gRV9QT0lOVEVSOwogCi0g
ICAgVmFyaWFudEluaXQocFZhcik7CisgICAgOjpWYXJpYW50SW5pdChwVmFyKTsKIAogICAgIGlm
IChpc0VxdWFsKHBzelByb3BOYW1lLCBXZWJEYXRhYmFzZURpc3BsYXlOYW1lS2V5KSkgewogICAg
ICAgICBDT01WYXJpYW50U2V0dGVyPFN0cmluZz46OnNldFZhcmlhbnQocFZhciwgbV9kZXRhaWxz
LmRpc3BsYXlOYW1lKCkpOwpJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViRWxlbWVudFByb3Bl
cnR5QmFnLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJFbGVtZW50UHJv
cGVydHlCYWcuY3BwCShyZXZpc2lvbiAxNzg2MTYpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJF
bGVtZW50UHJvcGVydHlCYWcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTksNyArMTE5LDcgQEAg
SFJFU1VMVCBXZWJFbGVtZW50UHJvcGVydHlCYWc6OlJlYWQoTFBDTwogICAgICAgICByZXR1cm4g
RV9GQUlMOwogCiAgICAgQlNUUiBrZXkgPSAoQlNUUilwc3pQcm9wTmFtZTsKLSAgICBWYXJpYW50
Q2xlYXIocFZhcik7CisgICAgOjpWYXJpYW50Q2xlYXIocFZhcik7CiAgICAgaWYgKGlzRXF1YWwo
V2ViRWxlbWVudERPTU5vZGVLZXksIGtleSkpIHsKICAgICAgICAgSURPTU5vZGUqIG5vZGUgPSBE
T01Ob2RlOjpjcmVhdGVJbnN0YW5jZShtX3Jlc3VsdC0+aW5uZXJOb25TaGFyZWROb2RlKCkpOwog
ICAgICAgICBWX1ZUKHBWYXIpID0gVlRfVU5LTk9XTjsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2lu
L1dlYkZyYW1lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJGcmFtZS5j
cHAJKHJldmlzaW9uIDE3ODYxNikKKysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYkZyYW1lLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNzkzLDcgKzc5Myw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgICpw
Q2VsdEZldGNoZWQgPSAwOwogICAgICAgICBpZiAoIXJnVmFyKQogICAgICAgICAgICAgcmV0dXJu
IEVfUE9JTlRFUjsKLSAgICAgICAgVmFyaWFudEluaXQocmdWYXIpOworICAgICAgICA6OlZhcmlh
bnRJbml0KHJnVmFyKTsKICAgICAgICAgaWYgKCFjZWx0IHx8IGNlbHQgPiAxKQogICAgICAgICAg
ICAgcmV0dXJuIFNfRkFMU0U7CiAgICAgICAgIGlmICghbV9mcmFtZSB8fCAhbV9jdXJDaGlsZCkK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCShyZXZpc2lvbiAxNzg2MTYpCisrKyBTb3VyY2UvV2Vi
S2l0L3dpbi9XZWJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjkyNiw3ICsyOTI2LDcgQEAg
SFJFU1VMVCBXZWJWaWV3Ojpub3RpZnlEaWRBZGRJY29uKElXZWJObwogICAgICAgICByZXR1cm4g
RV9GQUlMOwogCiAgICAgQ09NVmFyaWFudCBpY29uVXNlckluZm9VUkw7Ci0gICAgaHIgPSBwcm9w
ZXJ0eUJhZy0+UmVhZChXZWJJY29uRGF0YWJhc2U6Omljb25EYXRhYmFzZU5vdGlmaWNhdGlvblVz
ZXJJbmZvVVJMS2V5KCksICZpY29uVXNlckluZm9VUkwsIDApOworICAgIGhyID0gcHJvcGVydHlC
YWctPlJlYWQoV2ViSWNvbkRhdGFiYXNlOjppY29uRGF0YWJhc2VOb3RpZmljYXRpb25Vc2VySW5m
b1VSTEtleSgpLCAmaWNvblVzZXJJbmZvVVJMLCBudWxscHRyKTsKICAgICBpZiAoRkFJTEVEKGhy
KSkKICAgICAgICAgcmV0dXJuIGhyOwogCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNzg2NTYpCisrKyBUb29scy9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzNiBAQAorMjAxNS0wMS0xOSAgQnJlbnQgRnVs
Z2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KKworICAgICAgICBbV2luXSBQZXJpb2RpYyBmYWls
dXJlIGluIER1bXBSZW5kZXJUcmVlIHJlbGF0ZWQgdG8gV2ViQWN0aW9uUHJvcGVydHlCYWc6OlJl
YWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTkw
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYktp
dCBvbiBXaW5kb3dzIHdhcyBjcmVhdGluZyB1bmluaXRpYWxpemVkIFZBUklBTlQgc3RydWN0dXJl
cywgdGhlbiBhdHRlbXB0aW5nCisgICAgICAgIHRvIHVzZSB0aGVtLiBUaGlzIHBhdGNoIGZpeGVz
IHRoYXQuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXJXaW4uY3BwOgorICAgICAgICAoZmluZEFjY2Vzc2libGVPYmplY3RCeUlkKToKKyAgICAg
ICAgKEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpmb2N1c2VkRWxlbWVudCk6CisgICAgICAgIChs
b2dFdmVudFByb2MpOgorICAgICAgICAobm90aWZpY2F0aW9uTGlzdGVuZXJQcm9jKToKKyAgICAg
ICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVudFdpbi5jcHA6Cisg
ICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpnZXRDaGlsZEF0SW5kZXgpOgorICAgICAg
ICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGl0bGVVSUVsZW1lbnQpOgorICAgICAgICAoc2Vs
Zik6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb2xlKToKKyAgICAgICAgKEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnZhbHVlRGVzY3JpcHRpb24pOgorICAgICAgICAoYWNjZXNz
aWJpbGl0eVN0YXRlKToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQ2hlY2tl
ZCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcDoKKyAg
ICAgICAgKGR1bXBGcmFtZVNjcm9sbFBvc2l0aW9uKToKKyAgICAgICAgKGR1bXBGcmFtZXNBc1Rl
eHQpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9Qb2xpY3lEZWxlZ2F0ZS5jcHA6Cisg
ICAgICAgIChQb2xpY3lEZWxlZ2F0ZTo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbik6
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL1VJRGVsZWdhdGUuY3BwOgorICAgICAgICAo
VUlEZWxlZ2F0ZTo6ZXhjZWVkZWREYXRhYmFzZVF1b3RhKToKKyAgICAgICAgKiBXaW5MYXVuY2hl
ci9Db21tb24uY3BwOgorICAgICAgICAoc2V0V2luZG93VGV4dCk6CisKIDIwMTUtMDEtMTkgIERh
dmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBEbyBub3Qg
aGFyZC1jb2RlIGlwaG9uZW9zLmludGVybmFsIFNESyBpbiBidWlsZFhDb2RlUHJvamVjdCgpCklu
ZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJXaW4u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9BY2Nlc3NpYmlsaXR5
Q29udHJvbGxlcldpbi5jcHAJKHJldmlzaW9uIDE3ODYxNikKKysrIFRvb2xzL0R1bXBSZW5kZXJU
cmVlL3dpbi9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlcldpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTkwLDIyICs5MCwxNyBAQCBzdGF0aWMgQ09NUHRyPElBY2Nlc3NpYmxlPiBmaW5kQWNjZXNzaWJs
CiAgICAgaWYgKCFjb21wYXJhYmxlKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIFZBUklBTlQg
dmFsdWU7Ci0gICAgOjpWYXJpYW50SW5pdCgmdmFsdWUpOwotCisgICAgX3ZhcmlhbnRfdCB2YWx1
ZTsKICAgICBfYnN0cl90IGVsZW1lbnRJZEF0dHJpYnV0ZUtleShMIkFYRFJURWxlbWVudElkQXR0
cmlidXRlIik7Ci0gICAgaWYgKFNVQ0NFRURFRChjb21wYXJhYmxlLT5nZXRfYXR0cmlidXRlKGVs
ZW1lbnRJZEF0dHJpYnV0ZUtleSwgJnZhbHVlKSkpIHsKKyAgICBpZiAoU1VDQ0VFREVEKGNvbXBh
cmFibGUtPmdldF9hdHRyaWJ1dGUoZWxlbWVudElkQXR0cmlidXRlS2V5LCAmdmFsdWUuR2V0VkFS
SUFOVCgpKSkpIHsKICAgICAgICAgQVNTRVJUKFZfVlQoJnZhbHVlKSA9PSBWVF9CU1RSKTsKLSAg
ICAgICAgaWYgKFZBUkNNUF9FUSA9PSA6OlZhckJzdHJDbXAodmFsdWUuYnN0clZhbCwgaWRBdHRy
aWJ1dGUsIExPQ0FMRV9VU0VSX0RFRkFVTFQsIDApKSB7Ci0gICAgICAgICAgICA6OlZhcmlhbnRD
bGVhcigmdmFsdWUpOworICAgICAgICBpZiAoVkFSQ01QX0VRID09IDo6VmFyQnN0ckNtcCh2YWx1
ZS5ic3RyVmFsLCBpZEF0dHJpYnV0ZSwgTE9DQUxFX1VTRVJfREVGQVVMVCwgMCkpCiAgICAgICAg
ICAgICByZXR1cm4gcGFyZW50SUFjY2Vzc2libGU7Ci0gICAgICAgIH0KICAgICB9Ci0gICAgOjpW
YXJpYW50Q2xlYXIoJnZhbHVlKTsKIAogICAgIGxvbmcgY2hpbGRDb3VudCA9IHBhcmVudE9iamVj
dC5jaGlsZHJlbkNvdW50KCk7CiAgICAgaWYgKCFjaGlsZENvdW50KQotICAgICAgICByZXR1cm4g
MDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBDT01QdHI8SUFjY2Vzc2libGU+IHJl
c3VsdDsKICAgICBmb3IgKGxvbmcgaSA9IDA7IGkgPCBjaGlsZENvdW50OyArK2kpIHsKQEAgLTEx
Niw3ICsxMTEsNyBAQCBzdGF0aWMgQ09NUHRyPElBY2Nlc3NpYmxlPiBmaW5kQWNjZXNzaWJsCiAg
ICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAotICAgIHJldHVybiAwOworICAgIHJl
dHVybiBudWxscHRyOwogfQogCiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50IEFjY2Vzc2liaWxpdHlD
b250cm9sbGVyOjphY2Nlc3NpYmxlRWxlbWVudEJ5SWQoSlNTdHJpbmdSZWYgaWQpCkBAIC0xMzYs
OSArMTMxLDkgQEAgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCBBY2Nlc3NpYmlsaXR5Q29udAogewog
ICAgIENPTVB0cjxJQWNjZXNzaWJsZT4gcm9vdEFjY2Vzc2libGUgPSByb290RWxlbWVudCgpLnBs
YXRmb3JtVUlFbGVtZW50KCk7CiAKLSAgICBWQVJJQU5UIHZGb2N1czsKLSAgICBpZiAoRkFJTEVE
KHJvb3RBY2Nlc3NpYmxlLT5nZXRfYWNjRm9jdXMoJnZGb2N1cykpKQotICAgICAgICByZXR1cm4g
MDsKKyAgICBfdmFyaWFudF90IHZGb2N1czsKKyAgICBpZiAoRkFJTEVEKHJvb3RBY2Nlc3NpYmxl
LT5nZXRfYWNjRm9jdXMoJnZGb2N1cy5HZXRWQVJJQU5UKCkpKSkKKyAgICAgICAgcmV0dXJuIG51
bGxwdHI7CiAKICAgICBpZiAoVl9WVCgmdkZvY3VzKSA9PSBWVF9JNCkgewogICAgICAgICBBU1NF
UlQoVl9JNCgmdkZvY3VzKSA9PSBDSElMRElEX1NFTEYpOwpAQCAtMTc5LDE4ICsxNzQsMTYgQEAg
c3RhdGljIHZvaWQgQ0FMTEJBQ0sgbG9nRXZlbnRQcm9jKEhXSU5FVgogICAgIC8vIEdldCB0aGUg
YWNjZXNzaWJsZSBvYmplY3QgZm9yIHRoaXMgZXZlbnQuCiAgICAgQ09NUHRyPElBY2Nlc3NpYmxl
PiBwYXJlbnRPYmplY3Q7CiAKLSAgICBWQVJJQU5UIHZDaGlsZDsKLSAgICBWYXJpYW50SW5pdCgm
dkNoaWxkKTsKKyAgICBfdmFyaWFudF90IHZDaGlsZDsKIAotICAgIEhSRVNVTFQgaHIgPSBBY2Nl
c3NpYmxlT2JqZWN0RnJvbUV2ZW50KGh3bmQsIGlkT2JqZWN0LCBpZENoaWxkLCAmcGFyZW50T2Jq
ZWN0LCAmdkNoaWxkKTsKKyAgICBIUkVTVUxUIGhyID0gQWNjZXNzaWJsZU9iamVjdEZyb21FdmVu
dChod25kLCBpZE9iamVjdCwgaWRDaGlsZCwgJnBhcmVudE9iamVjdCwgJnZDaGlsZC5HZXRWQVJJ
QU5UKCkpOwogICAgIEFTU0VSVChTVUNDRUVERUQoaHIpKTsKIAogICAgIC8vIEdldCB0aGUgbmFt
ZSBvZiB0aGUgZm9jdXNlZCBlbGVtZW50LCBhbmQgbG9nIGl0IHRvIHN0ZG91dC4KLSAgICBCU1RS
IG5hbWVCU1RSOwotICAgIGhyID0gcGFyZW50T2JqZWN0LT5nZXRfYWNjTmFtZSh2Q2hpbGQsICZu
YW1lQlNUUik7CisgICAgX2JzdHJfdCBuYW1lQlNUUjsKKyAgICBociA9IHBhcmVudE9iamVjdC0+
Z2V0X2FjY05hbWUodkNoaWxkLCAmbmFtZUJTVFIuR2V0QlNUUigpKTsKICAgICBBU1NFUlQoU1VD
Q0VFREVEKGhyKSk7Ci0gICAgd3N0cmluZyBuYW1lKG5hbWVCU1RSLCA6OlN5c1N0cmluZ0xlbihu
YW1lQlNUUikpOwotICAgIFN5c0ZyZWVTdHJpbmcobmFtZUJTVFIpOworICAgIHdzdHJpbmcgbmFt
ZShuYW1lQlNUUiwgbmFtZUJTVFIubGVuZ3RoKCkpOwogCiAgICAgc3dpdGNoIChldmVudCkgewog
ICAgICAgICBjYXNlIEVWRU5UX09CSkVDVF9GT0NVUzoKQEAgLTIwMiwxMSArMTk1LDEwIEBAIHN0
YXRpYyB2b2lkIENBTExCQUNLIGxvZ0V2ZW50UHJvYyhIV0lORVYKICAgICAgICAgICAgIGJyZWFr
OwogCiAgICAgICAgIGNhc2UgRVZFTlRfT0JKRUNUX1ZBTFVFQ0hBTkdFOiB7Ci0gICAgICAgICAg
ICBCU1RSIHZhbHVlQlNUUjsKLSAgICAgICAgICAgIGhyID0gcGFyZW50T2JqZWN0LT5nZXRfYWNj
VmFsdWUodkNoaWxkLCAmdmFsdWVCU1RSKTsKKyAgICAgICAgICAgIF9ic3RyX3QgdmFsdWVCU1RS
OworICAgICAgICAgICAgaHIgPSBwYXJlbnRPYmplY3QtPmdldF9hY2NWYWx1ZSh2Q2hpbGQsICZ2
YWx1ZUJTVFIuR2V0QlNUUigpKTsKICAgICAgICAgICAgIEFTU0VSVChTVUNDRUVERUQoaHIpKTsK
LSAgICAgICAgICAgIHdzdHJpbmcgdmFsdWUodmFsdWVCU1RSLCA6OlN5c1N0cmluZ0xlbih2YWx1
ZUJTVFIpKTsKLSAgICAgICAgICAgIFN5c0ZyZWVTdHJpbmcodmFsdWVCU1RSKTsKKyAgICAgICAg
ICAgIHdzdHJpbmcgdmFsdWUodmFsdWVCU1RSLCB2YWx1ZUJTVFIubGVuZ3RoKCkpOwogCiAgICAg
ICAgICAgICBwcmludGYoIlJlY2VpdmVkIHZhbHVlIGNoYW5nZSBldmVudCBmb3Igb2JqZWN0ICcl
UycsIHZhbHVlICclUycuXG4iLCBuYW1lLmNfc3RyKCksIHZhbHVlLmNfc3RyKCkpOwogICAgICAg
ICAgICAgYnJlYWs7CkBAIC0yMjAsOCArMjEyLDYgQEAgc3RhdGljIHZvaWQgQ0FMTEJBQ0sgbG9n
RXZlbnRQcm9jKEhXSU5FVgogICAgICAgICAgICAgcHJpbnRmKCJSZWNlaXZlZCB1bmtub3duIGV2
ZW50IGZvciBvYmplY3QgJyVTJy5cbiIsIG5hbWUuY19zdHIoKSk7CiAgICAgICAgICAgICBicmVh
azsKICAgICB9Ci0KLSAgICBWYXJpYW50Q2xlYXIoJnZDaGlsZCk7CiB9CiAKIHZvaWQgQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXI6OnNldExvZ0ZvY3VzRXZlbnRzKGJvb2wgbG9nRm9jdXNFdmVudHMp
CkBAIC0zMjMsMjQgKzMxMywxNyBAQCBzdGF0aWMgdm9pZCBDQUxMQkFDSyBub3RpZmljYXRpb25M
aXN0ZW5lCiAgICAgLy8gR2V0IHRoZSBhY2Nlc3NpYmxlIG9iamVjdCBmb3IgdGhpcyBldmVudC4K
ICAgICBDT01QdHI8SUFjY2Vzc2libGU+IHBhcmVudE9iamVjdDsKIAotICAgIFZBUklBTlQgdkNo
aWxkOwotICAgIFZhcmlhbnRJbml0KCZ2Q2hpbGQpOwotCi0gICAgSFJFU1VMVCBociA9IEFjY2Vz
c2libGVPYmplY3RGcm9tRXZlbnQoaHduZCwgaWRPYmplY3QsIGlkQ2hpbGQsICZwYXJlbnRPYmpl
Y3QsICZ2Q2hpbGQpOworICAgIF92YXJpYW50X3QgdkNoaWxkOworICAgIEhSRVNVTFQgaHIgPSBB
Y2Nlc3NpYmxlT2JqZWN0RnJvbUV2ZW50KGh3bmQsIGlkT2JqZWN0LCBpZENoaWxkLCAmcGFyZW50
T2JqZWN0LCAmdkNoaWxkLkdldFZBUklBTlQoKSk7CiAgICAgaWYgKEZBSUxFRChocikgfHwgIXBh
cmVudE9iamVjdCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgQ09NUHRyPElEaXNwYXRjaD4gY2hp
bGREaXNwYXRjaDsKLSAgICBpZiAoRkFJTEVEKHBhcmVudE9iamVjdC0+Z2V0X2FjY0NoaWxkKHZD
aGlsZCwgJmNoaWxkRGlzcGF0Y2gpKSkgewotICAgICAgICBWYXJpYW50Q2xlYXIoJnZDaGlsZCk7
CisgICAgaWYgKEZBSUxFRChwYXJlbnRPYmplY3QtPmdldF9hY2NDaGlsZCh2Q2hpbGQsICZjaGls
ZERpc3BhdGNoKSkpCiAgICAgICAgIHJldHVybjsKLSAgICB9CiAKICAgICBDT01QdHI8SUFjY2Vz
c2libGU+IGNoaWxkQWNjZXNzaWJsZShRdWVyeSwgY2hpbGREaXNwYXRjaCk7Ci0KICAgICBzaGFy
ZWRGcmFtZUxvYWREZWxlZ2F0ZS0+YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIoKS0+d2luTm90aWZp
Y2F0aW9uUmVjZWl2ZWQoY2hpbGRBY2Nlc3NpYmxlLCBzdHJpbmdFdmVudChldmVudCkpOwotCi0g
ICAgVmFyaWFudENsZWFyKCZ2Q2hpbGQpOwogfQogCiBib29sIEFjY2Vzc2liaWxpdHlDb250cm9s
bGVyOjphZGROb3RpZmljYXRpb25MaXN0ZW5lcihKU09iamVjdFJlZiBmdW5jdGlvbkNhbGxiYWNr
KQpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRX
aW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9BY2Nlc3NpYmls
aXR5VUlFbGVtZW50V2luLmNwcAkocmV2aXNpb24gMTc4NjE2KQorKysgVG9vbHMvRHVtcFJlbmRl
clRyZWUvd2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xNDUsMTYgKzE0NSwxNSBAQCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50IEFjY2Vzc2liaWxpdHlV
SUVsCiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmdldENo
aWxkQXRJbmRleCh1bnNpZ25lZCBpbmRleCkKIHsKICAgICBpZiAoIW1fZWxlbWVudCkKLSAgICAg
ICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgQ09NUHRyPElEaXNw
YXRjaD4gY2hpbGQ7Ci0gICAgVkFSSUFOVCB2Q2hpbGQ7Ci0gICAgOjpWYXJpYW50SW5pdCgmdkNo
aWxkKTsKKyAgICBfdmFyaWFudF90IHZDaGlsZDsKICAgICBWX1ZUKCZ2Q2hpbGQpID0gVlRfSTQ7
CiAgICAgLy8gSW4gTVNBQSwgaW5kZXggMCBpcyB0aGUgb2JqZWN0IGl0c2VsZi4KICAgICBWX0k0
KCZ2Q2hpbGQpID0gaW5kZXggKyAxOwotICAgIGlmIChGQUlMRUQobV9lbGVtZW50LT5nZXRfYWNj
Q2hpbGQodkNoaWxkLCAmY2hpbGQpKSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgaWYgKEZBSUxF
RChtX2VsZW1lbnQtPmdldF9hY2NDaGlsZCh2Q2hpbGQuR2V0VkFSSUFOVCgpLCAmY2hpbGQpKSkK
KyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgcmV0dXJuIENPTVB0cjxJQWNjZXNzaWJsZT4o
UXVlcnksIGNoaWxkKTsKIH0KIApAQCAtMTg3LDMxICsxODYsMjIgQEAgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudCBBY2Nlc3NpYmlsaXR5VUlFbAogICAgIGlmICghY29tcGFyYWJsZSkKICAgICAgICAg
cmV0dXJuIDA7CiAKLSAgICBWQVJJQU5UIHZhbHVlOwotICAgIDo6VmFyaWFudEluaXQoJnZhbHVl
KTsKLQorICAgIF92YXJpYW50X3QgdmFsdWU7CiAgICAgX2JzdHJfdCB0aXRsZVVJRWxlbWVudEF0
dHJpYnV0ZUtleShMIkFYVGl0bGVVSUVsZW1lbnRBdHRyaWJ1dGUiKTsKLSAgICBpZiAoRkFJTEVE
KGNvbXBhcmFibGUtPmdldF9hdHRyaWJ1dGUodGl0bGVVSUVsZW1lbnRBdHRyaWJ1dGVLZXksICZ2
YWx1ZSkpKSB7Ci0gICAgICAgIDo6VmFyaWFudENsZWFyKCZ2YWx1ZSk7Ci0gICAgICAgIHJldHVy
biAwOwotICAgIH0KKyAgICBpZiAoRkFJTEVEKGNvbXBhcmFibGUtPmdldF9hdHRyaWJ1dGUodGl0
bGVVSUVsZW1lbnRBdHRyaWJ1dGVLZXksICZ2YWx1ZS5HZXRWQVJJQU5UKCkpKSkKKyAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAKLSAgICBpZiAoVl9WVCgmdmFsdWUpID09IFZUX0VNUFRZKSB7Ci0g
ICAgICAgIDo6VmFyaWFudENsZWFyKCZ2YWx1ZSk7Ci0gICAgICAgIHJldHVybiAwOwotICAgIH0K
KyAgICBpZiAoVl9WVCgmdmFsdWUpID09IFZUX0VNUFRZKQorICAgICAgICByZXR1cm4gbnVsbHB0
cjsKIAogICAgIEFTU0VSVChWX1ZUKCZ2YWx1ZSkgPT0gVlRfVU5LTk9XTik7CiAKLSAgICBpZiAo
Vl9WVCgmdmFsdWUpICE9IFZUX1VOS05PV04pIHsKLSAgICAgICAgOjpWYXJpYW50Q2xlYXIoJnZh
bHVlKTsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQorICAgIGlmIChWX1ZUKCZ2YWx1ZSkgIT0g
VlRfVU5LTk9XTikKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBDT01QdHI8SUFjY2Vz
c2libGU+IHRpdGxlRWxlbWVudChRdWVyeSwgdmFsdWUucHVua1ZhbCk7CiAgICAgaWYgKHZhbHVl
LnB1bmtWYWwpCiAgICAgICAgIHZhbHVlLnB1bmtWYWwtPlJlbGVhc2UoKTsKLSAgICA6OlZhcmlh
bnRDbGVhcigmdmFsdWUpOwogCiAgICAgcmV0dXJuIHRpdGxlRWxlbWVudDsKIH0KQEAgLTI0MCwx
MSArMjMwLDEwIEBAIEpTU3RyaW5nUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBhcmEKIAog
c3RhdGljIFZBUklBTlQmIHNlbGYoKQogewotICAgIHN0YXRpYyBWQVJJQU5UIHZTZWxmOworICAg
IHN0YXRpYyBfdmFyaWFudF90IHZTZWxmOwogICAgIHN0YXRpYyBib29sIGhhdmVJbml0aWFsaXpl
ZDsKIAogICAgIGlmICghaGF2ZUluaXRpYWxpemVkKSB7Ci0gICAgICAgIDo6VmFyaWFudEluaXQo
JnZTZWxmKTsKICAgICAgICAgVl9WVCgmdlNlbGYpID0gVlRfSTQ7CiAgICAgICAgIFZfSTQoJnZT
ZWxmKSA9IENISUxESURfU0VMRjsKICAgICB9CkBAIC0yNTYsMTUgKzI0NSwxNSBAQCBKU1N0cmlu
Z1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb2xlCiAgICAgaWYgKCFtX2VsZW1lbnQpCiAg
ICAgICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOwogCi0gICAg
VkFSSUFOVCB2Um9sZTsKLSAgICBpZiAoRkFJTEVEKG1fZWxlbWVudC0+Z2V0X2FjY1JvbGUoc2Vs
ZigpLCAmdlJvbGUpKSkKLSAgICAgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3Rl
cnMoMCwgMCk7CisgICAgX3ZhcmlhbnRfdCB2Um9sZTsKKyAgICBpZiAoRkFJTEVEKG1fZWxlbWVu
dC0+Z2V0X2FjY1JvbGUoc2VsZigpLCAmdlJvbGUuR2V0VkFSSUFOVCgpKSkpCisgICAgICAgIHJl
dHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKG51bGxwdHIsIDApOwogCiAgICAgQVNT
RVJUKFZfVlQoJnZSb2xlKSA9PSBWVF9JNCB8fCBWX1ZUKCZ2Um9sZSkgPT0gVlRfQlNUUik7CiAK
ICAgICB3c3RyaW5nIHJlc3VsdDsKICAgICBpZiAoVl9WVCgmdlJvbGUpID09IFZUX0k0KSB7Ci0g
ICAgICAgIHVuc2lnbmVkIHJvbGVUZXh0TGVuZ3RoID0gOjpHZXRSb2xlVGV4dChWX0k0KCZ2Um9s
ZSksIDAsIDApICsgMTsKKyAgICAgICAgdW5zaWduZWQgcm9sZVRleHRMZW5ndGggPSA6OkdldFJv
bGVUZXh0KFZfSTQoJnZSb2xlKSwgbnVsbHB0ciwgMCkgKyAxOwogCiAgICAgICAgIFZlY3RvcjxU
Q0hBUj4gcm9sZVRleHQocm9sZVRleHRMZW5ndGgpOwogCkBAIC0yNzQsOCArMjYzLDYgQEAgSlNT
dHJpbmdSZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cm9sZQogICAgIH0gZWxzZSBpZiAoVl9W
VCgmdlJvbGUpID09IFZUX0JTVFIpCiAgICAgICAgIHJlc3VsdCA9IHdzdHJpbmcoVl9CU1RSKCZ2
Um9sZSksIDo6U3lzU3RyaW5nTGVuKFZfQlNUUigmdlJvbGUpKSk7CiAKLSAgICA6OlZhcmlhbnRD
bGVhcigmdlJvbGUpOwotCiAgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMo
cmVzdWx0LmRhdGEoKSwgcmVzdWx0Lmxlbmd0aCgpKTsKIH0KIApAQCAtMzk0LDE5ICszODEsMTgg
QEAgZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNsaWNrUG9pbgogCiBKU1N0cmluZ1Jl
ZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp2YWx1ZURlc2NyaXB0aW9uKCkKIHsKLSAgICByZXR1
cm4gMDsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogc3RhdGljIERXT1JEIGFjY2Vzc2liaWxp
dHlTdGF0ZShDT01QdHI8SUFjY2Vzc2libGU+IGVsZW1lbnQpCiB7Ci0gICAgVkFSSUFOVCBzdGF0
ZTsKLSAgICBpZiAoRkFJTEVEKGVsZW1lbnQtPmdldF9hY2NTdGF0ZShzZWxmKCksICZzdGF0ZSkp
KQorICAgIF92YXJpYW50X3Qgc3RhdGU7CisgICAgaWYgKEZBSUxFRChlbGVtZW50LT5nZXRfYWNj
U3RhdGUoc2VsZigpLCAmc3RhdGUuR2V0VkFSSUFOVCgpKSkpCiAgICAgICAgIHJldHVybiAwOwog
CiAgICAgQVNTRVJUKFZfVlQoJnN0YXRlKSA9PSBWVF9JNCk7CiAKICAgICBEV09SRCByZXN1bHQg
PSBzdGF0ZS5sVmFsOwotICAgIFZhcmlhbnRDbGVhcigmc3RhdGUpOwogCiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KQEAgLTQ0OCw4ICs0MzQsOCBAQCBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmlzQ2hlY2tlZCgpCiAgICAgaWYgKCFtX2VsZW1lbnQpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAotICAgIFZBUklBTlQgdlN0YXRlOwotICAgIGlmIChGQUlMRUQobV9lbGVtZW50LT5nZXRfYWNj
U3RhdGUoc2VsZigpLCAmdlN0YXRlKSkpCisgICAgX3ZhcmlhbnRfdCB2U3RhdGU7CisgICAgaWYg
KEZBSUxFRChtX2VsZW1lbnQtPmdldF9hY2NTdGF0ZShzZWxmKCksICZ2U3RhdGUuR2V0VkFSSUFO
VCgpKSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIHJldHVybiB2U3RhdGUubFZhbCAm
IFNUQVRFX1NZU1RFTV9DSEVDS0VEOwpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1
bXBSZW5kZXJUcmVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4v
RHVtcFJlbmRlclRyZWUuY3BwCShyZXZpc2lvbiAxNzg2MTYpCisrKyBUb29scy9EdW1wUmVuZGVy
VHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MTIsMTQgKzQx
MiwxMiBAQCB2b2lkIGR1bXBGcmFtZVNjcm9sbFBvc2l0aW9uKElXZWJGcmFtZSoKICAgICAgICAg
Q09NUHRyPElFbnVtVkFSSUFOVD4gZW51bUtpZHM7CiAgICAgICAgIGlmIChGQUlMRUQoZnJhbWUt
PmNoaWxkRnJhbWVzKCZlbnVtS2lkcykpKQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBW
QVJJQU5UIHZhcjsKLSAgICAgICAgVmFyaWFudEluaXQoJnZhcik7Ci0gICAgICAgIHdoaWxlIChl
bnVtS2lkcy0+TmV4dCgxLCAmdmFyLCAwKSA9PSBTX09LKSB7CisgICAgICAgIF92YXJpYW50X3Qg
dmFyOworICAgICAgICB3aGlsZSAoZW51bUtpZHMtPk5leHQoMSwgJnZhci5HZXRWQVJJQU5UKCks
IG51bGxwdHIpID09IFNfT0spIHsKICAgICAgICAgICAgIEFTU0VSVChWX1ZUKCZ2YXIpID09IFZU
X1VOS05PV04pOwogICAgICAgICAgICAgQ09NUHRyPElXZWJGcmFtZT4gZnJhbWVQdHI7CiAgICAg
ICAgICAgICBWX1VOS05PV04oJnZhciktPlF1ZXJ5SW50ZXJmYWNlKElJRF9JV2ViRnJhbWUsICh2
b2lkKiopJmZyYW1lUHRyKTsKICAgICAgICAgICAgIGR1bXBGcmFtZVNjcm9sbFBvc2l0aW9uKGZy
YW1lUHRyLmdldCgpKTsKLSAgICAgICAgICAgIFZhcmlhbnRDbGVhcigmdmFyKTsKICAgICAgICAg
fQogICAgIH0KIH0KQEAgLTQ2NywxNCArNDY1LDEyIEBAIHN0YXRpYyB3c3RyaW5nIGR1bXBGcmFt
ZXNBc1RleHQoSVdlYkZyYW0KICAgICAgICAgaWYgKEZBSUxFRChmcmFtZS0+Y2hpbGRGcmFtZXMo
JmVudW1LaWRzKSkpCiAgICAgICAgICAgICByZXR1cm4gTCIiOwogCi0gICAgICAgIFZBUklBTlQg
dmFyOwotICAgICAgICA6OlZhcmlhbnRJbml0KCZ2YXIpOwotICAgICAgICB3aGlsZSAoZW51bUtp
ZHMtPk5leHQoMSwgJnZhciwgMCkgPT0gU19PSykgeworICAgICAgICBfdmFyaWFudF90IHZhcjsK
KyAgICAgICAgd2hpbGUgKGVudW1LaWRzLT5OZXh0KDEsICZ2YXIuR2V0VkFSSUFOVCgpLCBudWxs
cHRyKSA9PSBTX09LKSB7CiAgICAgICAgICAgICBBU1NFUlQoVl9WVCgmdmFyKSA9PSBWVF9VTktO
T1dOKTsKICAgICAgICAgICAgIENPTVB0cjxJV2ViRnJhbWU+IGZyYW1lUHRyOwogICAgICAgICAg
ICAgVl9VTktOT1dOKCZ2YXIpLT5RdWVyeUludGVyZmFjZShJSURfSVdlYkZyYW1lLCAodm9pZCoq
KSZmcmFtZVB0cik7CiAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKGR1bXBGcmFtZXNBc1RleHQo
ZnJhbWVQdHIuZ2V0KCkpKTsKLSAgICAgICAgICAgIDo6VmFyaWFudENsZWFyKCZ2YXIpOwogICAg
ICAgICB9CiAgICAgfQogCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vUG9saWN5RGVs
ZWdhdGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9Qb2xpY3lE
ZWxlZ2F0ZS5jcHAJKHJldmlzaW9uIDE3ODYxNikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dp
bi9Qb2xpY3lEZWxlZ2F0ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkwLDIwICs5MCwxNiBAQCBV
TE9ORyBQb2xpY3lEZWxlZ2F0ZTo6UmVsZWFzZSh2b2lkKQogICAgIHJldHVybiBuZXdSZWY7CiB9
CiAKLUhSRVNVTFQgUG9saWN5RGVsZWdhdGU6OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rp
b24oCi0gICAgLypbaW5dKi8gSVdlYlZpZXcqIC8qd2ViVmlldyovLCAKLSAgICAvKltpbl0qLyBJ
UHJvcGVydHlCYWcqIGFjdGlvbkluZm9ybWF0aW9uLCAKLSAgICAvKltpbl0qLyBJV2ViVVJMUmVx
dWVzdCogcmVxdWVzdCwgCi0gICAgLypbaW5dKi8gSVdlYkZyYW1lKiBmcmFtZSwgCi0gICAgLypb
aW5dKi8gSVdlYlBvbGljeURlY2lzaW9uTGlzdGVuZXIqIGxpc3RlbmVyKQorSFJFU1VMVCBQb2xp
Y3lEZWxlZ2F0ZTo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbihJV2ViVmlldyogLyp3
ZWJWaWV3Ki8sIElQcm9wZXJ0eUJhZyogYWN0aW9uSW5mb3JtYXRpb24sIAorICAgIElXZWJVUkxS
ZXF1ZXN0KiByZXF1ZXN0LCBJV2ViRnJhbWUqIGZyYW1lLCBJV2ViUG9saWN5RGVjaXNpb25MaXN0
ZW5lciogbGlzdGVuZXIpCiB7CiAgICAgX2JzdHJfdCB1cmw7CiAgICAgcmVxdWVzdC0+VVJMKCZ1
cmwuR2V0QlNUUigpKTsKICAgICB3c3RyaW5nIHd1cmwgPSB1cmxTdWl0YWJsZUZvclRlc3RSZXN1
bHQod3N0cmluZyh1cmwsIHVybC5sZW5ndGgoKSkpOwogCiAgICAgaW50IG5hdlR5cGUgPSAwOwot
ICAgIFZBUklBTlQgdmFyOwotICAgIGlmIChTVUNDRUVERUQoYWN0aW9uSW5mb3JtYXRpb24tPlJl
YWQoV2ViQWN0aW9uTmF2aWdhdGlvblR5cGVLZXksICZ2YXIsIDApKSkgeworICAgIF92YXJpYW50
X3QgdmFyOworICAgIGlmIChTVUNDRUVERUQoYWN0aW9uSW5mb3JtYXRpb24tPlJlYWQoV2ViQWN0
aW9uTmF2aWdhdGlvblR5cGVLZXksICZ2YXIuR2V0VkFSSUFOVCgpLCBudWxscHRyKSkpIHsKICAg
ICAgICAgVl9WVCgmdmFyKSA9IFZUX0k0OwogICAgICAgICBuYXZUeXBlID0gVl9JNCgmdmFyKTsK
ICAgICB9CkBAIC0xMzQsMTEgKzEzMCwxMSBAQCBIUkVTVUxUIFBvbGljeURlbGVnYXRlOjpkZWNp
ZGVQb2xpY3lGb3JOCiAKICAgICB3c3RyaW5nIG1lc3NhZ2UgPSBURVhUKCJQb2xpY3kgZGVsZWdh
dGU6IGF0dGVtcHQgdG8gbG9hZCAiKSArIHd1cmwgKyBURVhUKCIgd2l0aCBuYXZpZ2F0aW9uIHR5
cGUgJyIpICsgdHlwZURlc2NyaXB0aW9uICsgVEVYVCgiJyIpOwogCi0gICAgVkFSSUFOVCBhY3Rp
b25FbGVtZW50VmFyOwotICAgIGlmIChTVUNDRUVERUQoYWN0aW9uSW5mb3JtYXRpb24tPlJlYWQo
V2ViQWN0aW9uRWxlbWVudEtleSwgJmFjdGlvbkVsZW1lbnRWYXIsIDApKSkgeworICAgIF92YXJp
YW50X3QgYWN0aW9uRWxlbWVudFZhcjsKKyAgICBpZiAoU1VDQ0VFREVEKGFjdGlvbkluZm9ybWF0
aW9uLT5SZWFkKFdlYkFjdGlvbkVsZW1lbnRLZXksICZhY3Rpb25FbGVtZW50VmFyLCBudWxscHRy
KSkpIHsKICAgICAgICAgQ09NUHRyPElQcm9wZXJ0eUJhZz4gYWN0aW9uRWxlbWVudChRdWVyeSwg
Vl9VTktOT1dOKCZhY3Rpb25FbGVtZW50VmFyKSk7Ci0gICAgICAgIFZBUklBTlQgb3JpZ2luYXRp
bmdOb2RlVmFyOwotICAgICAgICBpZiAoU1VDQ0VFREVEKGFjdGlvbkVsZW1lbnQtPlJlYWQoV2Vi
RWxlbWVudERPTU5vZGVLZXksICZvcmlnaW5hdGluZ05vZGVWYXIsIDApKSkgeworICAgICAgICBf
dmFyaWFudF90IG9yaWdpbmF0aW5nTm9kZVZhcjsKKyAgICAgICAgaWYgKFNVQ0NFRURFRChhY3Rp
b25FbGVtZW50LT5SZWFkKFdlYkVsZW1lbnRET01Ob2RlS2V5LCAmb3JpZ2luYXRpbmdOb2RlVmFy
LCBudWxscHRyKSkpIHsKICAgICAgICAgICAgIENPTVB0cjxJRE9NTm9kZT4gb3JpZ2luYXRpbmdO
b2RlKFF1ZXJ5LCBWX1VOS05PV04oJm9yaWdpbmF0aW5nTm9kZVZhcikpOwogICAgICAgICAgICAg
bWVzc2FnZSArPSBURVhUKCIgb3JpZ2luYXRpbmcgZnJvbSAiKSArIGR1bXBQYXRoKG9yaWdpbmF0
aW5nTm9kZS5nZXQoKSk7CiAgICAgICAgIH0KQEAgLTE1Myw3ICsxNDksNyBAQCBIUkVTVUxUIFBv
bGljeURlbGVnYXRlOjpkZWNpZGVQb2xpY3lGb3JOCiAKICAgICBpZiAobV9jb250cm9sbGVyVG9O
b3RpZnlEb25lKSB7CiAgICAgICAgIG1fY29udHJvbGxlclRvTm90aWZ5RG9uZS0+bm90aWZ5RG9u
ZSgpOwotICAgICAgICBtX2NvbnRyb2xsZXJUb05vdGlmeURvbmUgPSAwOworICAgICAgICBtX2Nv
bnRyb2xsZXJUb05vdGlmeURvbmUgPSBudWxscHRyOwogICAgIH0KIAogICAgIHJldHVybiBTX09L
OwpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL1VJRGVsZWdhdGUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9VSURlbGVnYXRlLmNwcAkocmV2aXNpb24g
MTc4NjE2KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL1VJRGVsZWdhdGUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MjMsOCArNTIzLDggQEAgSFJFU1VMVCBVSURlbGVnYXRlOjpleGNlZWRl
ZERhdGFiYXNlUXVvdAogICAgICAgICBvcmlnaW4tPnNldFF1b3RhKGRlZmF1bHRRdW90YSk7CiAg
ICAgICAgIHJldHVybiBTX09LOwogICAgIH0KLSAgICBWQVJJQU5UIHZhcjsKLSAgICBkZXRhaWxz
QmFnLT5SZWFkKFdlYkRhdGFiYXNlVXNhZ2VLZXksICZ2YXIsIDApOworICAgIF92YXJpYW50X3Qg
dmFyOworICAgIGRldGFpbHNCYWctPlJlYWQoV2ViRGF0YWJhc2VVc2FnZUtleSwgJnZhci5HZXRW
QVJJQU5UKCksIG51bGxwdHIpOwogICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBleHBlY3RlZFNpemUg
PSBWX1VJOCgmdmFyKTsKICAgICB1bnNpZ25lZCBsb25nIGxvbmcgbmV3UXVvdGEgPSBkZWZhdWx0
UXVvdGE7CiAKSW5kZXg6IFRvb2xzL1dpbkxhdW5jaGVyL0NvbW1vbi5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvV2luTGF1bmNoZXIvQ29tbW9uLmNwcAkocmV2aXNpb24gMTc4NjE2KQorKysgVG9v
bHMvV2luTGF1bmNoZXIvQ29tbW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjY1LDE5ICs2NjUs
MTUgQEAgdHlwZWRlZiBfY29tX3B0cl90PF9jb21fSUlJRDxJUHJvcGVydHlCYQogCiBzdGF0aWMg
dm9pZCBzZXRXaW5kb3dUZXh0KEhXTkQgZGlhbG9nLCBVSU5UIGZpZWxkLCBJUHJvcGVydHlCYWdQ
dHIgc3RhdGlzdGljcywgY29uc3QgX2JzdHJfdCYga2V5KQogewotICAgIFZBUklBTlQgdmFyOwot
ICAgIDo6VmFyaWFudEluaXQoJnZhcik7CisgICAgX3ZhcmlhbnRfdCB2YXI7CiAgICAgVl9WVCgm
dmFyKSA9IFZUX1VJODsKLSAgICBpZiAoRkFJTEVEKHN0YXRpc3RpY3MtPlJlYWQoa2V5LCAmdmFy
LCAwKSkpIHsKLSAgICAgICAgOjpWYXJpYW50Q2xlYXIoJnZhcik7CisgICAgaWYgKEZBSUxFRChz
dGF0aXN0aWNzLT5SZWFkKGtleSwgJnZhci5HZXRWQVJJQU5UKCksIG51bGxwdHIpKSkKICAgICAg
ICAgcmV0dXJuOwotICAgIH0KIAogICAgIHVuc2lnbmVkIGxvbmcgbG9uZyB2YWx1ZSA9IFZfVUk4
KCZ2YXIpOwogICAgIFN0cmluZyB2YWx1ZVN0ciA9IFdURjo6U3RyaW5nOjpudW1iZXIodmFsdWUp
OwogCiAgICAgc2V0V2luZG93VGV4dChkaWFsb2csIGZpZWxkLCBfYnN0cl90KHZhbHVlU3RyLnV0
ZjgoKS5kYXRhKCkpKTsKLSAgICA6OlZhcmlhbnRDbGVhcigmdmFyKTsKIH0KIAogc3RhdGljIHZv
aWQgc2V0V2luZG93VGV4dChIV05EIGRpYWxvZywgVUlOVCBmaWVsZCwgQ0ZEaWN0aW9uYXJ5UmVm
IGRpY3Rpb25hcnksIENGU3RyaW5nUmVmIGtleSwgVUlOVCYgdG90YWwpCg==
</data>
<flag name="review"
          id="269845"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>