<?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>213674</bug_id>
          
          <creation_ts>2020-06-26 20:11:08 -0700</creation_ts>
          <short_desc>Rename initializeThreading to initialize</short_desc>
          <delta_ts>2020-06-28 13:56:16 -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>New Bugs</component>
          <version>WebKit 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="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1666718</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-06-26 20:11:08 -0700</bug_when>
    <thetext>Rename initializeThreading to initialize</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666719</commentid>
    <comment_count>1</comment_count>
      <attachid>402939</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-06-26 20:16:37 -0700</bug_when>
    <thetext>Created attachment 402939
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666739</commentid>
    <comment_count>2</comment_count>
      <attachid>402939</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-06-26 23:15:05 -0700</bug_when>
    <thetext>Comment on attachment 402939
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=402939&amp;action=review

r=me

&gt; Source/WTF/ChangeLog:16
&gt; +        initializeThreading() is a superset. (The opposite is true). I think

I think the parenthesis around &quot;The opposite is true&quot; are not necessary.

&gt; Source/WTF/ChangeLog:17
&gt; +        this is probably because âthreadingâ can be read as &quot;all threadingâ.

Please fix the non-ascii characters.

&gt; Source/WebCore/bindings/js/ScriptController.cpp:85
&gt; +// FIXME: Remove this function because it&apos;s a no-op.

Can you elaborate more on why this comment is true?  I see that this is only called from commonVMSlow() and DatabaseManager::openDatabase().  How do we guarantee that JSC::initialize() and WTF::initializeMainThread() will always be called already before anyone calls commonVM()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666755</commentid>
    <comment_count>3</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-06-27 08:19:06 -0700</bug_when>
    <thetext>&gt; r=me

Thanks!

&gt; &gt; +        initializeThreading() is a superset. (The opposite is true). I think
&gt; 
&gt; I think the parenthesis around &quot;The opposite is true&quot; are not necessary.

Will fix.

&gt; &gt; +        this is probably because âthreadingâ can be read as &quot;all threadingâ.
&gt; 
&gt; Please fix the non-ascii characters.

Will fix. (Do we require ASCII in ChangeLogs? I wonder sometimes when reviewing. Maybe we should fix our diff tool.)

&gt; &gt; Source/WebCore/bindings/js/ScriptController.cpp:85
&gt; &gt; +// FIXME: Remove this function because it&apos;s a no-op.
&gt; 
&gt; Can you elaborate more on why this comment is true?  I see that this is only
&gt; called from commonVMSlow() and DatabaseManager::openDatabase().  How do we
&gt; guarantee that JSC::initialize() and WTF::initializeMainThread() will always
&gt; be called already before anyone calls commonVM()?

I moved the comment to the call sites:

    // FIXME: Remove this call to ScriptController::initializeMainThread(). The
    // main thread should have been initialized by a WebKit entrypoint already.
    // Also, initializeMainThread() does nothing on iOS.
    ScriptController::initializeMainThread();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666831</commentid>
    <comment_count>4</comment_count>
      <attachid>402979</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-06-27 20:13:37 -0700</bug_when>
    <thetext>Created attachment 402979
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666832</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-27 20:15:39 -0700</bug_when>
    <thetext>ChangeLog entry in Source/JavaScriptCore/ChangeLog contains OOPS!.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666892</commentid>
    <comment_count>6</comment_count>
      <attachid>403006</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-06-28 12:16:01 -0700</bug_when>
    <thetext>Created attachment 403006
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666913</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-28 13:55:14 -0700</bug_when>
    <thetext>Committed r263635: &lt;https://trac.webkit.org/changeset/263635&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 403006.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666916</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-06-28 13:56:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/64866938&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666917</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-06-28 13:56:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/64866939&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402939</attachid>
            <date>2020-06-26 20:16:37 -0700</date>
            <delta_ts>2020-06-26 23:15:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213674-20200626201636.patch</filename>
            <type>text/plain</type>
            <size>52765</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjYzNTkzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU5IEBA
CisyMDIwLTA2LTI2ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmVuYW1lIGluaXRpYWxpemVUaHJlYWRpbmcgdG8gaW5pdGlhbGl6ZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzNjc0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBBUEkvSlNDbGFzc1JlZi5jcHA6
CisgICAgICAgICogQVBJL0pTQ29udGV4dFJlZi5jcHA6CisgICAgICAgIChKU0NvbnRleHRHcm91
cENyZWF0ZSk6CisgICAgICAgIChKU0dsb2JhbENvbnRleHRDcmVhdGUpOgorICAgICAgICAoSlNH
bG9iYWxDb250ZXh0Q3JlYXRlSW5Hcm91cCk6CisgICAgICAgICogQVBJL0pTT2JqZWN0UmVmLmNw
cDoKKyAgICAgICAgKEpTQ2xhc3NDcmVhdGUpOgorICAgICAgICAqIEFQSS9KU1N0cmluZ1JlZi5j
cHA6CisgICAgICAgIChKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKToKKyAgICAgICAgKEpT
U3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKToKKyAgICAgICAgKEpTU3RyaW5nQ3JlYXRlV2l0
aENoYXJhY3RlcnNOb0NvcHkpOgorICAgICAgICAqIEFQSS9KU1N0cmluZ1JlZkNGLmNwcDoKKyAg
ICAgICAgKEpTU3RyaW5nQ3JlYXRlV2l0aENGU3RyaW5nKToKKyAgICAgICAgKiBBUEkvdGVzdHMv
Q29tcGFyZUFuZFN3YXBUZXN0LmNwcDoKKyAgICAgICAgKHRlc3RDb21wYXJlQW5kU3dhcCk6Cisg
ICAgICAgICogQVBJL3Rlc3RzL0V4ZWN1dGlvblRpbWVMaW1pdFRlc3QuY3BwOgorICAgICAgICAo
dGVzdEV4ZWN1dGlvblRpbWVMaW1pdCk6CisgICAgICAgICogQVBJL3Rlc3RzL0Z1bmN0aW9uT3Zl
cnJpZGVzVGVzdC5jcHA6CisgICAgICAgICh0ZXN0RnVuY3Rpb25PdmVycmlkZXMpOgorICAgICAg
ICAqIEFQSS90ZXN0cy9NdWx0aXRocmVhZGVkTXVsdGlWTUV4ZWN1dGlvblRlc3QuY3BwOgorICAg
ICAgICAoc3RhcnRNdWx0aXRocmVhZGVkTXVsdGlWTUV4ZWN1dGlvblRlc3QpOgorICAgICAgICAq
IEFQSS90ZXN0cy9QaW5nUG9uZ1N0YWNrT3ZlcmZsb3dUZXN0LmNwcDoKKyAgICAgICAgKHRlc3RQ
aW5nUG9uZ1N0YWNrT3ZlcmZsb3cpOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLm9yZGVyOgor
ICAgICAgICAqIGFzc2VtYmxlci90ZXN0bWFzbS5jcHA6CisgICAgICAgIChKU0M6OnJ1bik6Cisg
ICAgICAgICogYjMvYWlyL3Rlc3RhaXIuY3BwOgorICAgICAgICAobWFpbik6CisgICAgICAgICog
YjMvdGVzdGIzXzEuY3BwOgorICAgICAgICAobWFpbik6CisgICAgICAgICogZGZnL3Rlc3RkZmcu
Y3BwOgorICAgICAgICAobWFpbik6CisgICAgICAgICogZHluYmVuY2guY3BwOgorICAgICAgICAo
bWFpbik6CisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9jb2NvYS9SZW1vdGVJbnNwZWN0b3JD
b2NvYS5tbToKKyAgICAgICAgKEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yOjpzaW5nbGV0b24p
OgorICAgICAgICAqIGpzYy5jcHA6CisgICAgICAgIChtYWluKToKKyAgICAgICAgKGpzY21haW4p
OgorICAgICAgICAqIHJ1bnRpbWUvSW5pdGlhbGl6ZVRocmVhZGluZy5jcHA6CisgICAgICAgIChK
U0M6OmluaXRpYWxpemUpOgorICAgICAgICAoSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBydW50aW1lL0luaXRpYWxpemVUaHJlYWRpbmcuaDoKKyAgICAgICAg
KiBydW50aW1lL0pTQ0NvbmZpZy5oOgorICAgICAgICAqIHNoZWxsL3BsYXlzdGF0aW9uL1Rlc3RT
aGVsbC5jcHA6CisgICAgICAgIChzZXR1cFRlc3RSdW4pOgorICAgICAgICAqIHRlc3RSZWdFeHAu
Y3BwOgorICAgICAgICAobWFpbik6CisKIDIwMjAtMDYtMjYgIEdlb2ZmcmV5IEdhcmVuICA8Z2dh
cmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBJbml0aWFsaXppbmcgdGhlIG1haW4gdGhyZWFkIHNo
b3VsZCBpbml0aWFsaXplIHRoZSBtYWluIHJ1biBsb29wCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUub3JkZXIKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLm9yZGVyCShyZXZpc2lvbiAyNjM1OTMpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUub3JkZXIJKHdvcmtpbmcgY29weSkKQEAgLTEs
NyArMSw0IEBACi1fX1pOM0pTQzE5aW5pdGlhbGl6ZVRocmVhZGluZ0V2Ci1fX1pOM0pTQ0wyM2lu
aXRpYWxpemVUaHJlYWRpbmdPbmNlRXYKIF9fWk4zV1RGMTdkb3VibGVfY29udmVyc2lvbjEwaW5p
dGlhbGl6ZUV2Ci1fX1pOM1dURjE5aW5pdGlhbGl6ZVRocmVhZGluZ0V2CiBfX1pOM1dURjEwU3Ry
aW5nSW1wbDVlbXB0eUV2CiBfX1pOM1dURjEwZmFzdE1hbGxvY0VtCiBfX1pOM1dURjIwVENNYWxs
b2NfVGhyZWFkQ2FjaGUxMEluaXRNb2R1bGVFdgpAQCAtNDcsNyArNDQsNiBAQCBfX1pOM1dURjlI
YXNoVGFibGVJUHZOU18xMktleVZhbHVlUGFpcklTCiBfX1pOM1dURjlIYXNoVGFibGVJUHZOU18x
MktleVZhbHVlUGFpcklTMV9QTlNfMTNNZXRhQWxsb2NhdG9yMTNGcmVlU3BhY2VOb2RlRUVFTlNf
MjRLZXlWYWx1ZVBhaXJLZXlFeHRyYWN0b3JJUzZfRUVOU183UHRySGFzaElTMV9FRU5TXzE4SGFz
aE1hcFZhbHVlVHJhaXRzSU5TXzEwSGFzaFRyYWl0c0lTMV9FRU5TQ19JUzVfRUVFRVNEX0UzYWRk
SU5TXzE3SGFzaE1hcFRyYW5zbGF0b3JJU0ZfU0FfRUVTMV9TNV9FRU5TXzE4SGFzaFRhYmxlQWRk
UmVzdWx0SU5TXzE3SGFzaFRhYmxlSXRlcmF0b3JJUzFfUzZfUzhfU0FfU0ZfU0RfRUVFRVJLVDBf
UktUMV8KIF9fWk4zV1RGOGZhc3RGcmVlRVB2CiBfX1pOM0pTQzEzQ29kZVByb2ZpbGluZzE1bm90
aWZ5QWxsb2NhdG9yRVBOM1dURjEzTWV0YUFsbG9jYXRvckUKLV9fWk4zSlNDN0pTU3RhY2sxOWlu
aXRpYWxpemVUaHJlYWRpbmdFdgogX19aTjNKU0M1TExJbnQxMGluaXRpYWxpemVFdgogX19aTjNX
VEYxOWluaXRpYWxpemVHQ1RocmVhZHNFdgogX19aTjNXVEYxOEZ1bmN0aW9uRGlzcGF0Y2hlckMy
RXYKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9keW5iZW5jaC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2R5bmJlbmNoLmNwcAkocmV2aXNpb24gMjYzNTkzKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2R5bmJlbmNoLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
ODgsNyArODgsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCiAgICAgfQogICAg
IAogICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKLSAgICBKU0M6OmluaXRpYWxpemVU
aHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsKIAogICAgIFZNJiB2bSA9IFZNOjpj
cmVhdGUoTGFyZ2VIZWFwKS5sZWFrUmVmKCk7CiAgICAgewpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2pzYy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5j
cHAJKHJldmlzaW9uIDI2MzU5MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yNjM0LDEwICsyNjM0LDEwIEBAIGludCBtYWluKGludCBhcmdjLCBj
aGFyKiogYXJndikKICAgICAgICAgV1RGTG9nQWx3YXlzKCJMb2NhbGUgbm90IHN1cHBvcnRlZCBi
eSBDIGxpYnJhcnkuXG5cdFVzaW5nIHRoZSBmYWxsYmFjayAnQycgbG9jYWxlLiIpOwogI2VuZGlm
CiAKLSAgICAvLyBOZWVkIHRvIGluaXRpYWxpemUgV1RGIHRocmVhZGluZyBiZWZvcmUgd2Ugc3Rh
cnQgYW55IHRocmVhZHMuIENhbm5vdCBpbml0aWFsaXplIEpTQwotICAgIC8vIHRocmVhZGluZyB5
ZXQsIHNpbmNlIHRoYXQgd291bGQgZG8gc29tZXRoaW5ncyB0aGF0IHdlJ2QgbGlrZSB0byBkZWZl
ciB1bnRpbCBhZnRlciB3ZQorICAgIC8vIE5lZWQgdG8gaW5pdGlhbGl6ZSBXVEYgYmVmb3JlIHdl
IHN0YXJ0IGFueSB0aHJlYWRzLiBDYW5ub3QgaW5pdGlhbGl6ZSBKU0MKKyAgICAvLyB5ZXQsIHNp
bmNlIHRoYXQgd291bGQgZG8gc29tZXRoaW5ncyB0aGF0IHdlJ2QgbGlrZSB0byBkZWZlciB1bnRp
bCBhZnRlciB3ZQogICAgIC8vIGhhdmUgYSBjaGFuY2UgdG8gcGFyc2Ugb3B0aW9ucy4KLSAgICBX
VEY6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBXVEY6OmluaXRpYWxpemUoKTsKIAogI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgT3B0aW9uczo6Y3Jhc2hJZkNhbnRBbGxvY2F0ZUpJ
VE1lbW9yeSgpID0gdHJ1ZTsKQEAgLTMyOTcsOCArMzI5Nyw3IEBAIGludCBqc2NtYWluKGludCBh
cmdjLCBjaGFyKiogYXJndikKICAgICAgICAgICAgIE9wdGlvbnM6OmR1bXBHZW5lcmF0ZWRCeXRl
Y29kZXMoKSA9IHRydWU7CiAgICAgfQogCi0gICAgLy8gSW5pdGlhbGl6ZSBKU0MgYmVmb3JlIGdl
dHRpbmcgVk0uCi0gICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0
aWFsaXplKCk7CiAgICAgaW5pdGlhbGl6ZVRpbWVvdXRJZk5lZWRlZCgpOwogCiAjaWYgT1MoREFS
V0lOKSB8fCBPUyhMSU5VWCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0UmVnRXhw
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdFJlZ0V4cC5jcHAJ
KHJldmlzaW9uIDI2MzU5MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0UmVnRXhwLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTY1LDggKzE2NSw3IEBAIGludCBtYWluKGludCBhcmdjLCBj
aGFyKiogYXJndikKICAgICB0aW1lQmVnaW5QZXJpb2QoMSk7CiAjZW5kaWYKIAotICAgIC8vIElu
aXRpYWxpemUgSlNDIGJlZm9yZSBnZXR0aW5nIFZNLgotICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVh
ZGluZygpOworICAgIEpTQzo6aW5pdGlhbGl6ZSgpOwogCiAgICAgLy8gV2UgY2FuJ3QgdXNlIGRl
c3RydWN0b3JzIGluIHRoZSBmb2xsb3dpbmcgY29kZSBiZWNhdXNlIGl0IHVzZXMgV2luZG93cwog
ICAgIC8vIFN0cnVjdHVyZWQgRXhjZXB0aW9uIEhhbmRsaW5nCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL0pTQ2xhc3NSZWYuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9BUEkvSlNDbGFzc1JlZi5jcHAJKHJldmlzaW9uIDI2MzU5MykKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9BUEkvSlNDbGFzc1JlZi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUxLDcg
KzUxLDcgQEAgT3BhcXVlSlNDbGFzczo6T3BhcXVlSlNDbGFzcyhjb25zdCBKU0NsYQogICAgICwg
Y29udmVydFRvVHlwZShkZWZpbml0aW9uLT5jb252ZXJ0VG9UeXBlKQogICAgICwgbV9jbGFzc05h
bWUoU3RyaW5nOjpmcm9tVVRGOChkZWZpbml0aW9uLT5jbGFzc05hbWUpKQogewotICAgIGluaXRp
YWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsKIAogICAgIGlmIChjb25z
dCBKU1N0YXRpY1ZhbHVlKiBzdGF0aWNWYWx1ZSA9IGRlZmluaXRpb24tPnN0YXRpY1ZhbHVlcykg
ewogICAgICAgICBtX3N0YXRpY1ZhbHVlcyA9IG1ha2VVbmlxdWU8T3BhcXVlSlNDbGFzc1N0YXRp
Y1ZhbHVlc1RhYmxlPigpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NvbnRl
eHRSZWYuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDb250
ZXh0UmVmLmNwcAkocmV2aXNpb24gMjYzNTkzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU0NvbnRleHRSZWYuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Niw3ICs2Niw3IEBAIHVzaW5n
IG5hbWVzcGFjZSBKU0M7CiAKIEpTQ29udGV4dEdyb3VwUmVmIEpTQ29udGV4dEdyb3VwQ3JlYXRl
KCkKIHsKLSAgICBpbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFsaXplKCk7
CiAgICAgcmV0dXJuIHRvUmVmKCZWTTo6Y3JlYXRlQ29udGV4dEdyb3VwKCkubGVha1JlZigpKTsK
IH0KIApAQCAtMTE2LDcgKzExNiw3IEBAIHZvaWQgSlNDb250ZXh0R3JvdXBDbGVhckV4ZWN1dGlv
blRpbWVMaW0KIAogSlNHbG9iYWxDb250ZXh0UmVmIEpTR2xvYmFsQ29udGV4dENyZWF0ZShKU0Ns
YXNzUmVmIGdsb2JhbE9iamVjdENsYXNzKQogewotICAgIGluaXRpYWxpemVUaHJlYWRpbmcoKTsK
KyAgICBKU0M6OmluaXRpYWxpemUoKTsKIAogI2lmIE9TKERBUldJTikKICAgICAvLyBJZiB0aGUg
YXBwbGljYXRpb24gd2FzIGxpbmtlZCBiZWZvcmUgSlNHbG9iYWxDb250ZXh0Q3JlYXRlIHdhcyBj
aGFuZ2VkIHRvIHVzZSBhIHVuaXF1ZSBWTSwKQEAgLTEzMSw3ICsxMzEsNyBAQCBKU0dsb2JhbENv
bnRleHRSZWYgSlNHbG9iYWxDb250ZXh0Q3JlYXRlCiAKIEpTR2xvYmFsQ29udGV4dFJlZiBKU0ds
b2JhbENvbnRleHRDcmVhdGVJbkdyb3VwKEpTQ29udGV4dEdyb3VwUmVmIGdyb3VwLCBKU0NsYXNz
UmVmIGdsb2JhbE9iamVjdENsYXNzKQogewotICAgIGluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAg
ICBKU0M6OmluaXRpYWxpemUoKTsKIAogICAgIFJlZjxWTT4gdm0gPSBncm91cCA/IFJlZjxWTT4o
KnRvSlMoZ3JvdXApKSA6IFZNOjpjcmVhdGVDb250ZXh0R3JvdXAoKTsKIApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAJKHJldmlzaW9uIDI2MzU5MykKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC01Niw3ICs1Niw3IEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKIEpTQ2xhc3NSZWYgSlND
bGFzc0NyZWF0ZShjb25zdCBKU0NsYXNzRGVmaW5pdGlvbiogZGVmaW5pdGlvbikKIHsKLSAgICBp
bml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFsaXplKCk7CiAgICAgYXV0byBq
c0NsYXNzID0gKGRlZmluaXRpb24tPmF0dHJpYnV0ZXMgJiBrSlNDbGFzc0F0dHJpYnV0ZU5vQXV0
b21hdGljUHJvdG90eXBlKQogICAgICAgICA/IE9wYXF1ZUpTQ2xhc3M6OmNyZWF0ZU5vQXV0b21h
dGljUHJvdG90eXBlKGRlZmluaXRpb24pCiAgICAgICAgIDogT3BhcXVlSlNDbGFzczo6Y3JlYXRl
KGRlZmluaXRpb24pOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1N0cmluZ1Jl
Zi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1N0cmluZ1Jl
Zi5jcHAJKHJldmlzaW9uIDI2MzU5MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNT
dHJpbmdSZWYuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiwxMyArMzYsMTMgQEAgdXNpbmcgbmFt
ZXNwYWNlIFdURjo6VW5pY29kZTsKIAogSlNTdHJpbmdSZWYgSlNTdHJpbmdDcmVhdGVXaXRoQ2hh
cmFjdGVycyhjb25zdCBKU0NoYXIqIGNoYXJzLCBzaXplX3QgbnVtQ2hhcnMpCiB7Ci0gICAgaW5p
dGlhbGl6ZVRocmVhZGluZygpOworICAgIEpTQzo6aW5pdGlhbGl6ZSgpOwogICAgIHJldHVybiAm
T3BhcXVlSlNTdHJpbmc6OmNyZWF0ZShyZWludGVycHJldF9jYXN0PGNvbnN0IFVDaGFyKj4oY2hh
cnMpLCBudW1DaGFycykubGVha1JlZigpOwogfQogCiBKU1N0cmluZ1JlZiBKU1N0cmluZ0NyZWF0
ZVdpdGhVVEY4Q1N0cmluZyhjb25zdCBjaGFyKiBzdHJpbmcpCiB7Ci0gICAgaW5pdGlhbGl6ZVRo
cmVhZGluZygpOworICAgIEpTQzo6aW5pdGlhbGl6ZSgpOwogICAgIGlmIChzdHJpbmcpIHsKICAg
ICAgICAgc2l6ZV90IGxlbmd0aCA9IHN0cmxlbihzdHJpbmcpOwogICAgICAgICBWZWN0b3I8VUNo
YXIsIDEwMjQ+IGJ1ZmZlcihsZW5ndGgpOwpAQCAtNjEsNyArNjEsNyBAQCBKU1N0cmluZ1JlZiBK
U1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluCiAKIEpTU3RyaW5nUmVmIEpTU3RyaW5nQ3JlYXRl
V2l0aENoYXJhY3RlcnNOb0NvcHkoY29uc3QgSlNDaGFyKiBjaGFycywgc2l6ZV90IG51bUNoYXJz
KQogewotICAgIGluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsK
ICAgICByZXR1cm4gT3BhcXVlSlNTdHJpbmc6OnRyeUNyZWF0ZShTdHJpbmdJbXBsOjpjcmVhdGVX
aXRob3V0Q29weWluZyhyZWludGVycHJldF9jYXN0PGNvbnN0IFVDaGFyKj4oY2hhcnMpLCBudW1D
aGFycykpLmxlYWtSZWYoKTsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9K
U1N0cmluZ1JlZkNGLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTU3RyaW5nUmVmQ0YuY3BwCShyZXZpc2lvbiAyNjM1OTMpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0pTU3RyaW5nUmVmQ0YuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw3
IEBACiAKIEpTU3RyaW5nUmVmIEpTU3RyaW5nQ3JlYXRlV2l0aENGU3RyaW5nKENGU3RyaW5nUmVm
IHN0cmluZykKIHsKLSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6Omlu
aXRpYWxpemUoKTsKIAogICAgIC8vIFdlIGNhbm5vdCB1c2UgQ0ZJbmRleCBoZXJlIHNpbmNlIENG
U3RyaW5nR2V0TGVuZ3RoIGNhbiByZXR1cm4gdmFsdWVzIGxhcmdlciB0aGFuCiAgICAgLy8gaXQg
Y2FuIGhvbGQuICAoPHJkYXI6Ly9wcm9ibGVtLzY4MDY0Nzg+KQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS90ZXN0cy9Db21wYXJlQW5kU3dhcFRlc3QuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvQ29tcGFyZUFuZFN3YXBUZXN0LmNwcAko
cmV2aXNpb24gMjYzNTkzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9Db21w
YXJlQW5kU3dhcFRlc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDAsNyArMTAwLDcgQEAgdm9p
ZCB0ZXN0Q29tcGFyZUFuZFN3YXAoKQogICAgIFJlZlB0cjxUaHJlYWQ+IHRocmVhZHNbbnVtVGhy
ZWFkc107CiAgICAgRGF0YSBkYXRhW251bVRocmVhZHNdOwogCi0gICAgV1RGOjppbml0aWFsaXpl
VGhyZWFkaW5nKCk7CisgICAgV1RGOjppbml0aWFsaXplKCk7CiAgICAgCiAgICAgcHJpbnRmKCJT
dGFydGluZyAlZCB0aHJlYWRzIGZvciBDb21wYXJlQW5kU3dhcCB0ZXN0LiAgVGVzdCBzaG91bGQg
Y29tcGxldGUgd2l0aG91dCBoYW5naW5nLlxuIiwgbnVtVGhyZWFkcyk7CiAgICAgZm9yIChpbnQg
aSA9IDA7IGkgPCBudW1UaHJlYWRzOyBpKyspIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvdGVzdHMvRXhlY3V0aW9uVGltZUxpbWl0VGVzdC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9FeGVjdXRpb25UaW1lTGltaXRUZXN0LmNwcAko
cmV2aXNpb24gMjYzNTkzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9FeGVj
dXRpb25UaW1lTGltaXRUZXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI3LDcgKzEyNyw3IEBA
IGludCB0ZXN0RXhlY3V0aW9uVGltZUxpbWl0KCkKICAgICAKICAgICBib29sIGZhaWxlZCA9IGZh
bHNlOwogCi0gICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFs
aXplKCk7CiAKICAgICBmb3IgKGF1dG8gdGllck9wdGlvbnMgOiB0aWVyT3B0aW9uc0xpc3QpIHsK
ICAgICAgICAgU3RyaW5nQnVpbGRlciBzYXZlZE9wdGlvbnNCdWlsZGVyOwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9GdW5jdGlvbk92ZXJyaWRlc1Rlc3QuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvRnVuY3Rpb25PdmVycmlk
ZXNUZXN0LmNwcAkocmV2aXNpb24gMjYzNTkzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS90ZXN0cy9GdW5jdGlvbk92ZXJyaWRlc1Rlc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw3
ICszNyw3IEBAIGludCB0ZXN0RnVuY3Rpb25PdmVycmlkZXMoKQogewogICAgIGJvb2wgZmFpbGVk
ID0gZmFsc2U7CiAKLSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6Omlu
aXRpYWxpemUoKTsKIAogICAgIGNvbnN0IGNoYXIqIG9sZEZ1bmN0aW9uT3ZlcnJpZGVzID0gT3B0
aW9uczo6ZnVuY3Rpb25PdmVycmlkZXMoKTsKICAgICAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvdGVzdHMvTXVsdGl0aHJlYWRlZE11bHRpVk1FeGVjdXRpb25UZXN0LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL011bHRpdGhyZWFkZWRN
dWx0aVZNRXhlY3V0aW9uVGVzdC5jcHAJKHJldmlzaW9uIDI2MzU5MykKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvdGVzdHMvTXVsdGl0aHJlYWRlZE11bHRpVk1FeGVjdXRpb25UZXN0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDksNyArNDksNyBAQCBzdGF0aWMgc3RkOjp2ZWN0b3I8c3Rk
Ojp0aHJlYWQ+JiB0aHJlYWRzCiB2b2lkIHN0YXJ0TXVsdGl0aHJlYWRlZE11bHRpVk1FeGVjdXRp
b25UZXN0KCkKIHsKICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7Ci0gICAgSlNDOjpp
bml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFsaXplKCk7CiAKICNkZWZpbmUg
Q0hFQ0soY29uZGl0aW9uLCBtZXNzYWdlKSBkbyB7IFwKICAgICAgICAgaWYgKCFjb25kaXRpb24p
IHsgXApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9QaW5nUG9uZ1N0YWNr
T3ZlcmZsb3dUZXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L3Rlc3RzL1BpbmdQb25nU3RhY2tPdmVyZmxvd1Rlc3QuY3BwCShyZXZpc2lvbiAyNjM1OTMpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL1BpbmdQb25nU3RhY2tPdmVyZmxvd1Rl
c3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsNyArMTE2LDcgQEAgaW50IHRlc3RQaW5nUG9u
Z1N0YWNrT3ZlcmZsb3coKQogewogICAgIGJvb2wgZmFpbGVkID0gZmFsc2U7CiAKLSAgICBKU0M6
OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsKIAogICAgIGF1
dG8gb3JpZ1NvZnRSZXNlcnZlZFpvbmVTaXplID0gT3B0aW9uczo6c29mdFJlc2VydmVkWm9uZVNp
emUoKTsKICAgICBhdXRvIG9yaWdSZXNlcnZlZFpvbmVTaXplID0gT3B0aW9uczo6cmVzZXJ2ZWRa
b25lU2l6ZSgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci90ZXN0bWFz
bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci90ZXN0
bWFzbS5jcHAJKHJldmlzaW9uIDI2MzU5MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvdGVzdG1hc20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTMwLDcgKzI1MzAsNyBAQCBz
dGF0aWMgdm9pZCB0ZXN0QnJhbmNoSWZOb3RUeXBlKCkKIAogdm9pZCBydW4oY29uc3QgY2hhciog
ZmlsdGVyKQogewotICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgIEpTQzo6aW5p
dGlhbGl6ZSgpOwogICAgIHVuc2lnbmVkIG51bWJlck9mVGVzdHMgPSAwOwogCiAgICAgRGVxdWU8
UmVmUHRyPFNoYXJlZFRhc2s8dm9pZCgpPj4+IHRhc2tzOwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2IzL3Rlc3RiM18xLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvdGVzdGIzXzEuY3BwCShyZXZpc2lvbiAyNjM1OTMpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvdGVzdGIzXzEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MDcsNyArOTA3LDcgQEAg
aW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogICAgIEpTQzo6Q29uZmlnOjpjb25maWd1
cmVGb3JUZXN0aW5nKCk7CiAKICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7Ci0gICAg
SlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFsaXplKCk7CiAgICAg
CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8PSAyOyArK2kpIHsKICAgICAgICAgSlNDOjpP
cHRpb25zOjpkZWZhdWx0QjNPcHRMZXZlbCgpID0gaTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9haXIvdGVzdGFpci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL2Fpci90ZXN0YWlyLmNwcAkocmV2aXNpb24gMjYzNTkzKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL2Fpci90ZXN0YWlyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUxMSw3ICsy
NTExLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogICAgICAgICBicmVhazsK
ICAgICB9CiAgICAgCi0gICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjpp
bml0aWFsaXplKCk7CiAKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDw9IDI7ICsraSkgewog
ICAgICAgICBKU0M6Ok9wdGlvbnM6OmRlZmF1bHRCM09wdExldmVsKCkgPSBpOwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy90ZXN0ZGZnLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL3Rlc3RkZmcuY3BwCShyZXZpc2lvbiAyNjM1OTMpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL3Rlc3RkZmcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTEs
NyArMTExLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogICAgICAgICBicmVh
azsKICAgICB9CiAKLSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6Omlu
aXRpYWxpemUoKTsKICAgICAKICAgICBydW4oZmlsdGVyKTsKIApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvY29jb2EvUmVtb3RlSW5zcGVjdG9yQ29jb2EubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvY29j
b2EvUmVtb3RlSW5zcGVjdG9yQ29jb2EubW0JKHJldmlzaW9uIDI2MzU5MykKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL2NvY29hL1JlbW90ZUluc3BlY3RvckNvY29h
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC05Nyw3ICs5Nyw3IEBAIFJlbW90ZUluc3BlY3RvciYgUmVt
b3RlSW5zcGVjdG9yOjpzaW5nbGUKICAgICAgICAgaWYgKGNhbkFjY2Vzc1dlYkluc3BlY3Rvck1h
Y2hQb3J0KCkpIHsKICAgICAgICAgICAgIGRpc3BhdGNoX2Jsb2NrX3QgaW5pdGlhbGl6ZSA9IF57
CiAgICAgICAgICAgICAgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwotICAgICAgICAg
ICAgICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgICAgICAgICAgICAgIEpTQzo6
aW5pdGlhbGl6ZSgpOwogICAgICAgICAgICAgICAgIGlmIChSZW1vdGVJbnNwZWN0b3I6OnN0YXJ0
RW5hYmxlZCkKICAgICAgICAgICAgICAgICAgICAgc2hhcmVkLmdldCgpLnN0YXJ0KCk7CiAgICAg
ICAgICAgICB9OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW5pdGlhbGl6
ZVRocmVhZGluZy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSW5pdGlhbGl6ZVRocmVhZGluZy5jcHAJKHJldmlzaW9uIDI2MzU5MykKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0luaXRpYWxpemVUaHJlYWRpbmcuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01MCwxMiArNTAsMTIgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIHN0YXRpY19hc3NlcnQo
c2l6ZW9mKGJvb2wpID09IDEsICJMTEludCBhbmQgSklUIGFzc3VtZSBzaXplb2YoYm9vbCkgaXMg
YWx3YXlzIDEgd2hlbiB0b3VjaGluZyBpdCBkaXJlY3RseSBmcm9tIGFzc2VtYmx5IGNvZGUuIik7
CiAKLXZvaWQgaW5pdGlhbGl6ZVRocmVhZGluZygpCit2b2lkIGluaXRpYWxpemUoKQogewotICAg
IHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBpbml0aWFsaXplVGhyZWFkaW5nT25jZUZsYWc7CisgICAg
c3RhdGljIHN0ZDo6b25jZV9mbGFnIG9uY2VGbGFnOwogCi0gICAgc3RkOjpjYWxsX29uY2UoaW5p
dGlhbGl6ZVRocmVhZGluZ09uY2VGbGFnLCBbXXsKLSAgICAgICAgV1RGOjppbml0aWFsaXplVGhy
ZWFkaW5nKCk7CisgICAgc3RkOjpjYWxsX29uY2Uob25jZUZsYWcsIFtdIHsKKyAgICAgICAgV1RG
Ojppbml0aWFsaXplKCk7CiAgICAgICAgIE9wdGlvbnM6OmluaXRpYWxpemUoKTsKIAogICAgICAg
ICBpbml0aWFsaXplUHRyVGFnTG9va3VwKCk7CkBAIC0xMDYsOCArMTA2LDggQEAgdm9pZCBpbml0
aWFsaXplVGhyZWFkaW5nKCkKICNlbmRpZgogCiAgICAgICAgIFdURjo6Y29tcGlsZXJGZW5jZSgp
OwotICAgICAgICBSRUxFQVNFX0FTU0VSVCghZ19qc2NDb25maWcuaW5pdGlhbGl6ZVRocmVhZGlu
Z0hhc0JlZW5DYWxsZWQpOwotICAgICAgICBnX2pzY0NvbmZpZy5pbml0aWFsaXplVGhyZWFkaW5n
SGFzQmVlbkNhbGxlZCA9IHRydWU7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFnX2pzY0NvbmZp
Zy5pbml0aWFsaXplSGFzQmVlbkNhbGxlZCk7CisgICAgICAgIGdfanNjQ29uZmlnLmluaXRpYWxp
emVIYXNCZWVuQ2FsbGVkID0gdHJ1ZTsKICAgICB9KTsKIH0KIApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSW5pdGlhbGl6ZVRocmVhZGluZy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0luaXRpYWxpemVUaHJlYWRpbmcuaAkocmV2aXNp
b24gMjYzNTkzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW5pdGlhbGl6ZVRo
cmVhZGluZy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw4ICszMCw2IEBACiAKIG5hbWVzcGFjZSBK
U0MgewogCi0vLyBUaGlzIGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIGZyb20gdGhlIG1haW4gdGhy
ZWFkLiBJdCBpcyBzYWZlIHRvIGNhbGwgaXQgcmVwZWF0ZWRseS4KLS8vIERhcndpbiBpcyBhbiBl
eGNlcHRpb24gdG8gdGhpcyBydWxlOiBpdCBpcyBPSyB0byBjYWxsIHRoaXMgZnVuY3Rpb24gZnJv
bSBhbnkgdGhyZWFkLCBldmVuIHJlZW50cmFudGx5LgotSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBp
bml0aWFsaXplVGhyZWFkaW5nKCk7CitKU19FWFBPUlRfUFJJVkFURSB2b2lkIGluaXRpYWxpemUo
KTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0NDb25maWcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0NDb25maWcuaAkocmV2aXNpb24gMjYzNTkzKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNDQ29uZmlnLmgJKHdvcmtpbmcgY29weSkKQEAgLTYyLDcgKzYyLDcgQEAg
c3RydWN0IENvbmZpZyB7CiAgICAgYm9vbCBqaXREaXNhYmxlZDsKIAogICAgIC8vIFRoZSBmb2xs
b3dpbmcgSGFzQmVlbkNhbGxlZCBmbGFncyBhcmUgZm9yIGF1ZGl0aW5nIGNhbGxfb25jZSBpbml0
aWFsaXphdGlvbiBmdW5jdGlvbnMuCi0gICAgYm9vbCBpbml0aWFsaXplVGhyZWFkaW5nSGFzQmVl
bkNhbGxlZDsKKyAgICBib29sIGluaXRpYWxpemVIYXNCZWVuQ2FsbGVkOwogCiAgICAgc3RydWN0
IHsKICNpZiBBU1NFUlRfRU5BQkxFRApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3NoZWxs
L3BsYXlzdGF0aW9uL1Rlc3RTaGVsbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3NoZWxsL3BsYXlzdGF0aW9uL1Rlc3RTaGVsbC5jcHAJKHJldmlzaW9uIDI2MzU5MykK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9zaGVsbC9wbGF5c3RhdGlvbi9UZXN0U2hlbGwuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yNywxNSArMjcsMTUgQEAKIAogZXh0ZXJuICJDIiB2b2lkIHNl
dHVwVGVzdFJ1bigpCiB7Ci0gICAgLy8gTmVlZCB0byBpbml0aWFsaXplIFdURiB0aHJlYWRpbmcg
YmVmb3JlIHdlIHN0YXJ0IGFueSB0aHJlYWRzLiBDYW5ub3QgaW5pdGlhbGl6ZSBKU0MKLSAgICAv
LyB0aHJlYWRpbmcgeWV0LCBzaW5jZSB0aGF0IHdvdWxkIGRvIHNvbWV0aGluZ3MgdGhhdCB3ZSdk
IGxpa2UgdG8gZGVmZXIgdW50aWwgYWZ0ZXIgd2UKKyAgICAvLyBOZWVkIHRvIGluaXRpYWxpemUg
V1RGIGJlZm9yZSB3ZSBzdGFydCBhbnkgdGhyZWFkcy4gQ2Fubm90IGluaXRpYWxpemUgSlNDCisg
ICAgLy8geWV0LCBzaW5jZSB0aGF0IHdvdWxkIGRvIHNvbWV0aGluZ3MgdGhhdCB3ZSdkIGxpa2Ug
dG8gZGVmZXIgdW50aWwgYWZ0ZXIgd2UKICAgICAvLyBoYXZlIGEgY2hhbmNlIHRvIHBhcnNlIG9w
dGlvbnMuCiAgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogCiAgICAgLy8gTmVlZCB0
byBvdmVycmlkZSBhbmQgZW5hYmxlIHJlc3RyaWN0ZWQgb3B0aW9ucyBiZWZvcmUgd2Ugc3RhcnQg
cGFyc2luZyBvcHRpb25zIGJlbG93LgogICAgIENvbmZpZzo6ZW5hYmxlUmVzdHJpY3RlZE9wdGlv
bnMoKTsKIAotICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgIEpTQzo6aW5pdGlh
bGl6ZSgpOwogCiAjaWYgRU5BQkxFKFdFQkFTU0VNQkxZKQogICAgIEpTQzo6V2FzbTo6ZW5hYmxl
RmFzdE1lbW9yeSgpOwpJbmRleDogU291cmNlL1dURi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dURi9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MzU5MykKKysrIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDAgQEAKKzIwMjAtMDYtMjYgIEdlb2Zm
cmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAgICBSZW5hbWUgaW5pdGlhbGl6
ZVRocmVhZGluZyB0byBpbml0aWFsaXplCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTM2NzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSZWFzb25zOgorCisgICAgICAgICgxKSBZb3UgbmVlZCB0byBjYWxs
IGl0IGV2ZW4gaWYgeW91IGRvbid0IHVzZSB0aHJlYWRzLgorCisgICAgICAgICgyKSBJdCBpbml0
aWFsaXplcyB0aGluZ3MgdW5yZWxhdGVkIHRvIHRocmVhZHMgKGxpa2UgdGhlIFBSTkcpLgorCisg
ICAgICAgICgzKSBQZW9wbGUgc2VlbSB0byBnZXQgY29uZnVzZWQgYWJvdXQgdGhlIHJlbGF0aW9u
c2hpcCBiZXR3ZWVuCisgICAgICAgIGluaXRpYWxpemVUaHJlYWRpbmcoKSBhbmQgaW5pdGlhbGl6
ZU1haW5UaHJlYWQoKSwgYW5kIHNvbWV0aW1lcyB0aGluaworICAgICAgICBpbml0aWFsaXplVGhy
ZWFkaW5nKCkgaXMgYSBzdXBlcnNldC4gKFRoZSBvcHBvc2l0ZSBpcyB0cnVlKS4gSSB0aGluawor
ICAgICAgICB0aGlzIGlzIHByb2JhYmx5IGJlY2F1c2Ug4oCcdGhyZWFkaW5n4oCdIGNhbiBiZSBy
ZWFkIGFzICJhbGwgdGhyZWFkaW5n4oCdLgorCisgICAgICAgIFNvbWUgZmlsZW5hbWVzIHN0aWxs
IHVzZSB0aGUgbGVnYWN5IG5hbWUuIFdlIGNhbiBmaXggdGhhdCBpbiBwb3N0LgorCisgICAgICAg
ICogYmVuY2htYXJrcy9Db25kaXRpb25TcGVlZFRlc3QuY3BwOgorICAgICAgICAobWFpbik6Cisg
ICAgICAgICogYmVuY2htYXJrcy9IYXNoU2V0REZHUmVwbGF5LmNwcDoKKyAgICAgICAgKG1haW4p
OgorICAgICAgICAqIGJlbmNobWFya3MvTG9ja0ZhaXJuZXNzVGVzdC5jcHA6CisgICAgICAgICht
YWluKToKKyAgICAgICAgKiBiZW5jaG1hcmtzL0xvY2tTcGVlZFRlc3QuY3BwOgorICAgICAgICAo
bWFpbik6CisgICAgICAgICogd3RmL01haW5UaHJlYWQuY3BwOgorICAgICAgICAoV1RGOjppbml0
aWFsaXplTWFpblRocmVhZCk6CisgICAgICAgICogd3RmL1RocmVhZGluZy5jcHA6CisgICAgICAg
IChXVEY6OlRocmVhZDo6Y3JlYXRlKToKKyAgICAgICAgKFdURjo6aW5pdGlhbGl6ZSk6CisgICAg
ICAgIChXVEY6OmluaXRpYWxpemVUaHJlYWRpbmcpOiBEZWxldGVkLgorICAgICAgICAqIHd0Zi9U
aHJlYWRpbmcuaDoKKyAgICAgICAgKFdURjo6VGhyZWFkOjpjdXJyZW50KToKKwogMjAyMC0wNi0y
NiAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlLWxhbmQg
cjI2Mjg2MwpJbmRleDogU291cmNlL1dURi9iZW5jaG1hcmtzL0NvbmRpdGlvblNwZWVkVGVzdC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi9iZW5jaG1hcmtzL0NvbmRpdGlvblNwZWVkVGVz
dC5jcHAJKHJldmlzaW9uIDI2MzU5MykKKysrIFNvdXJjZS9XVEYvYmVuY2htYXJrcy9Db25kaXRp
b25TcGVlZFRlc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTMsNyArMTkzLDcgQEAgdm9pZCBy
dW5CZW5jaG1hcmsoCiAKIGludCBtYWluKGludCBhcmdjLCBjaGFyKiogYXJndikKIHsKLSAgICBX
VEY6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBXVEY6OmluaXRpYWxpemUoKTsKIAogICAg
IGlmIChhcmdjICE9IDYKICAgICAgICAgfHwgc3NjYW5mKGFyZ3ZbMl0sICIldSIsICZudW1Qcm9k
dWNlcnMpICE9IDEKSW5kZXg6IFNvdXJjZS9XVEYvYmVuY2htYXJrcy9IYXNoU2V0REZHUmVwbGF5
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL2JlbmNobWFya3MvSGFzaFNldERGR1JlcGxh
eS5jcHAJKHJldmlzaW9uIDI2MzU5MykKKysrIFNvdXJjZS9XVEYvYmVuY2htYXJrcy9IYXNoU2V0
REZHUmVwbGF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA5ODQsNyArMTA5ODQsNyBAQCB2b2lk
IGJlbmNobWFyaygpCiAKIGludCBtYWluKGludCwgY2hhcioqKQogewotICAgIFdURjo6aW5pdGlh
bGl6ZVRocmVhZGluZygpOworICAgIFdURjo6aW5pdGlhbGl6ZSgpOwogICAgIAogICAgIFdhbGxU
aW1lIGJlZm9yZSA9IFdhbGxUaW1lOjpub3coKTsKICAgICAKSW5kZXg6IFNvdXJjZS9XVEYvYmVu
Y2htYXJrcy9Mb2NrRmFpcm5lc3NUZXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL2Jl
bmNobWFya3MvTG9ja0ZhaXJuZXNzVGVzdC5jcHAJKHJldmlzaW9uIDI2MzU5MykKKysrIFNvdXJj
ZS9XVEYvYmVuY2htYXJrcy9Mb2NrRmFpcm5lc3NUZXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTE1LDcgKzExNSw3IEBAIHN0cnVjdCBCZW5jaG1hcmsgewogCiBpbnQgbWFpbihpbnQgYXJnYywg
Y2hhcioqIGFyZ3YpCiB7Ci0gICAgV1RGOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgV1RG
Ojppbml0aWFsaXplKCk7CiAgICAgCiAgICAgaWYgKGFyZ2MgIT0gNQogICAgICAgICB8fCBzc2Nh
bmYoYXJndlsyXSwgIiV1IiwgJm51bVRocmVhZHMpICE9IDEKSW5kZXg6IFNvdXJjZS9XVEYvYmVu
Y2htYXJrcy9Mb2NrU3BlZWRUZXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL2JlbmNo
bWFya3MvTG9ja1NwZWVkVGVzdC5jcHAJKHJldmlzaW9uIDI2MzU5MykKKysrIFNvdXJjZS9XVEYv
YmVuY2htYXJrcy9Mb2NrU3BlZWRUZXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTU5LDcgKzE1
OSw3IEBAIGJvb2wgcGFyc2VWYWx1ZShjb25zdCBjaGFyKiBzdHJpbmcsIHVuc2kKIAogaW50IG1h
aW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogewotICAgIFdURjo6aW5pdGlhbGl6ZVRocmVhZGlu
ZygpOworICAgIFdURjo6aW5pdGlhbGl6ZSgpOwogICAgIAogICAgIGlmIChhcmdjICE9IDgKICAg
ICAgICAgfHwgIXBhcnNlVmFsdWUoYXJndlsyXSwgJm51bVRocmVhZEdyb3VwcykKSW5kZXg6IFNv
dXJjZS9XVEYvd3RmL01haW5UaHJlYWQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3Rm
L01haW5UaHJlYWQuY3BwCShyZXZpc2lvbiAyNjM1OTMpCisrKyBTb3VyY2UvV1RGL3d0Zi9NYWlu
VGhyZWFkLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTMsNyArNTMsNyBAQCB2b2lkIGluaXRpYWxp
emVNYWluVGhyZWFkKCkKIHsKICAgICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcgaW5pdGlhbGl6ZUtl
eTsKICAgICBzdGQ6OmNhbGxfb25jZShpbml0aWFsaXplS2V5LCBbXSB7Ci0gICAgICAgIGluaXRp
YWxpemVUaHJlYWRpbmcoKTsKKyAgICAgICAgaW5pdGlhbGl6ZSgpOwogICAgICAgICBpbml0aWFs
aXplTWFpblRocmVhZFBsYXRmb3JtKCk7CiAgICAgICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWlu
KCk7CiAgICAgfSk7CkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHAJKHJldmlzaW9uIDI2MzU5MykKKysr
IFNvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2OSw3ICsx
NjksNyBAQCB2b2lkIFRocmVhZDo6ZW50cnlQb2ludChOZXdUaHJlYWRDb250ZXh0CiAKIFJlZjxU
aHJlYWQ+IFRocmVhZDo6Y3JlYXRlKGNvbnN0IGNoYXIqIG5hbWUsIEZ1bmN0aW9uPHZvaWQoKT4m
JiBlbnRyeVBvaW50LCBUaHJlYWRUeXBlIHRocmVhZFR5cGUpCiB7Ci0gICAgV1RGOjppbml0aWFs
aXplVGhyZWFkaW5nKCk7CisgICAgV1RGOjppbml0aWFsaXplKCk7CiAgICAgUmVmPFRocmVhZD4g
dGhyZWFkID0gYWRvcHRSZWYoKm5ldyBUaHJlYWQoKSk7CiAgICAgUmVmPE5ld1RocmVhZENvbnRl
eHQ+IGNvbnRleHQgPSBhZG9wdFJlZigqbmV3IE5ld1RocmVhZENvbnRleHQgeyBuYW1lLCBXVEZN
b3ZlKGVudHJ5UG9pbnQpLCB0aHJlYWQuY29weVJlZigpIH0pOwogICAgIC8vIEluY3JlbWVudCB0
aGUgY29udGV4dCByZWYgb24gYmVoYWxmIG9mIHRoZSBjcmVhdGVkIHRocmVhZC4gV2UgZG8gbm90
IGp1c3QgdXNlIGEgdW5pcXVlX3B0ciBhbmQgbGVhayBpdCB0byB0aGUgY3JlYXRlZCB0aHJlYWQg
YmVjYXVzZSBib3RoIHRoZSBjcmVhdG9yIGFuZCBjcmVhdGVkIHRocmVhZCBoYXMgYSBuZWVkIHRv
IGtlZXAgdGhlIGNvbnRleHQgYWxpdmU6CkBAIC0zNTIsNyArMzUyLDcgQEAgdm9pZCBUaHJlYWQ6
OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29ucwogVGhyZWFkU3BlY2lmaWNLZXkgVGhyZWFkOjpz
X2tleSA9IEludmFsaWRUaHJlYWRTcGVjaWZpY0tleTsKICNlbmRpZgogCi12b2lkIGluaXRpYWxp
emVUaHJlYWRpbmcoKQordm9pZCBpbml0aWFsaXplKCkKIHsKICAgICBzdGF0aWMgc3RkOjpvbmNl
X2ZsYWcgb25jZUtleTsKICAgICBzdGQ6OmNhbGxfb25jZShvbmNlS2V5LCBbXSB7CkluZGV4OiBT
b3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9U
aHJlYWRpbmcuaAkocmV2aXNpb24gMjYzNTkzKQorKysgU291cmNlL1dURi93dGYvVGhyZWFkaW5n
LmgJKHdvcmtpbmcgY29weSkKQEAgLTY2LDggKzY2LDcgQEAgZW51bSBjbGFzcyBUaHJlYWRHcm91
cEFkZFJlc3VsdDsKIGNsYXNzIFRocmVhZEdyb3VwOwogY2xhc3MgUHJpbnRTdHJlYW07CiAKLS8v
IFRoaXMgZnVuY3Rpb24gY2FuIGJlIGNhbGxlZCBmcm9tIGFueSB0aHJlYWRzLgotV1RGX0VYUE9S
VF9QUklWQVRFIHZvaWQgaW5pdGlhbGl6ZVRocmVhZGluZygpOworV1RGX0VYUE9SVF9QUklWQVRF
IHZvaWQgaW5pdGlhbGl6ZSgpOwogCiAjaWYgVVNFKFBUSFJFQURTKQogCkBAIC05NSw3ICs5NCw3
IEBAIGVudW0gY2xhc3MgVGhyZWFkVHlwZSA6IHVpbnQ4X3QgewogY2xhc3MgVGhyZWFkIDogcHVi
bGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFRocmVhZD4gewogcHVibGljOgogICAgIGZyaWVuZCBj
bGFzcyBUaHJlYWRHcm91cDsKLSAgICBmcmllbmQgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgaW5p
dGlhbGl6ZVRocmVhZGluZygpOworICAgIGZyaWVuZCBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBp
bml0aWFsaXplKCk7CiAKICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgflRocmVhZCgpOwogCkBAIC0z
NzcsMTEgKzM3NiwxMSBAQCBpbmxpbmUgVGhyZWFkJiBUaHJlYWQ6OmN1cnJlbnQoKQogICAgIC8v
ICAgIFRocmVhZDo6Y3VycmVudCgpIGlzIHVzZWQgb24gbWFpbiB0aHJlYWQgYmVmb3JlIGl0IGNv
dWxkIHBvc3NpYmx5IGJlIHVzZWQKICAgICAvLyAgICBvbiBzZWNvbmRhcnkgb25lcywgc28gdGhl
cmUgaXMgbm8gbmVlZCBmb3Igc3luY2hyb25pemF0aW9uIGhlcmUuCiAgICAgLy8gV1JUIEphdmFT
Y3JpcHRDb3JlOgotICAgIC8vICAgIFRocmVhZDo6aW5pdGlhbGl6ZVRMU0tleSgpIGlzIGluaXRp
YWxseSBjYWxsZWQgZnJvbSBpbml0aWFsaXplVGhyZWFkaW5nKCksIGVuc3VyaW5nCisgICAgLy8g
ICAgVGhyZWFkOjppbml0aWFsaXplVExTS2V5KCkgaXMgaW5pdGlhbGx5IGNhbGxlZCBmcm9tIGlu
aXRpYWxpemUoKSwgZW5zdXJpbmcKICAgICAvLyAgICB0aGlzIGlzIGluaXRpYWxseSBjYWxsZWQg
aW4gYSBzdGQ6OmNhbGxfb25jZSBsb2NrZWQgY29udGV4dC4KICNpZiAhSEFWRShGQVNUX1RMUykg
JiYgIU9TKFdJTkRPV1MpCiAgICAgaWYgKFVOTElLRUxZKFRocmVhZDo6c19rZXkgPT0gSW52YWxp
ZFRocmVhZFNwZWNpZmljS2V5KSkKLSAgICAgICAgV1RGOjppbml0aWFsaXplVGhyZWFkaW5nKCk7
CisgICAgICAgIFdURjo6aW5pdGlhbGl6ZSgpOwogI2VuZGlmCiAgICAgaWYgKGF1dG8qIHRocmVh
ZCA9IGN1cnJlbnRNYXlCZU51bGwoKSkKICAgICAgICAgcmV0dXJuICp0aHJlYWQ7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyNjM1OTMpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwyOCBAQAorMjAyMC0wNi0yNiAgR2VvZmZyZXkgR2FyZW4g
IDxnZ2FyZW5AYXBwbGUuY29tPgorCisgICAgICAgIFJlbmFtZSBpbml0aWFsaXplVGhyZWFkaW5n
IHRvIGluaXRpYWxpemUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxMzY3NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAgICogTW9kdWxlcy93ZWJkYXRh
YmFzZS9EYXRhYmFzZU1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2VNYW5h
Z2VyOjpvcGVuRGF0YWJhc2UpOgorICAgICAgICAqIFdlYkNvcmUub3JkZXI6CisgICAgICAgICog
YmluZGluZ3MvanMvQ29tbW9uVk0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29tbW9uVk1TbG93
KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmluaXRpYWxpemVNYWluVGhyZWFkKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmluaXRpYWxpemVUaHJlYWRpbmcpOiBEZWxl
dGVkLgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaDoKKyAgICAgICAg
KiBicmlkZ2Uvb2JqYy9XZWJTY3JpcHRPYmplY3QubW06CisgICAgICAgICgrW1dlYlNjcmlwdE9i
amVjdCBpbml0aWFsaXplXSk6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvU2hhcmVkQnVmZmVy
Q29jb2EubW06CisgICAgICAgICgrW1dlYkNvcmVTaGFyZWRCdWZmZXJEYXRhIGluaXRpYWxpemVd
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQubW06CisgICAgICAg
IChSdW5XZWJUaHJlYWQpOgorCiAyMDIwLTA2LTI2ICBKYXNvbiBMYXdyZW5jZSAgPGxhd3JlbmNl
LmpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjYzNTExLCBy
MjYzNTE0LCBhbmQgcjI2MzU2NS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRlcgkocmV2aXNpb24gMjYz
NTkzKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRlcgkod29ya2luZyBjb3B5KQpAQCAt
MjU0NSw3ICsyNTQ1LDYgQEAgX19aTjdXZWJDb3JlMTFNZW1vcnlDYWNoZTMycmVtb3ZlRnJhZ21l
bgogX19aTjdXZWJDb3JlMjBDYWNoZWRSZXNvdXJjZUxvYWRlcjEwY2FuUmVxdWVzdEVOU18xNENh
Y2hlZFJlc291cmNlNFR5cGVFUktOU180S1VSTEViCiBfX1pON1dlYkNvcmUxNlNjcmlwdENvbnRy
b2xsZXI0MnNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeUV2CiBfX1pO
N1dlYkNvcmUxNUpTRE9NV2luZG93QmFzZThjb21tb25WTUV2Ci1fX1pON1dlYkNvcmUxNlNjcmlw
dENvbnRyb2xsZXIxOWluaXRpYWxpemVUaHJlYWRpbmdFdgogX19aTjdXZWJDb3JlMTVET01XcmFw
cGVyV29ybGRDMUVQTjNKU0MyVk1FYgogX19aTjNXVEY5SGFzaFRhYmxlSVBON1dlYkNvcmUxNURP
TVdyYXBwZXJXb3JsZEVTM19OU18xN0lkZW50aXR5RXh0cmFjdG9yRU5TXzdQdHJIYXNoSVMzX0VF
TlNfMTBIYXNoVHJhaXRzSVMzX0VFUzhfRTNhZGRJTlNfMjJJZGVudGl0eUhhc2hUcmFuc2xhdG9y
SVM2X0VFUzNfUzNfRUVOU18xOEhhc2hUYWJsZUFkZFJlc3VsdElOU18xN0hhc2hUYWJsZUl0ZXJh
dG9ySVMzX1MzX1M0X1M2X1M4X1M4X0VFRUVSS1QwX1JLVDFfCiBfX1pOM1dURjlIYXNoVGFibGVJ
UE43V2ViQ29yZTE1RE9NV3JhcHBlcldvcmxkRVMzX05TXzE3SWRlbnRpdHlFeHRyYWN0b3JFTlNf
N1B0ckhhc2hJUzNfRUVOU18xMEhhc2hUcmFpdHNJUzNfRUVTOF9FNnJlaGFzaEVpCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdlci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZU1h
bmFnZXIuY3BwCShyZXZpc2lvbiAyNjM1OTMpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5NCw3ICsx
OTQsNyBAQCB2b2lkIERhdGFiYXNlTWFuYWdlcjo6cmVtb3ZlUHJvcG9zZWREYXRhCiBFeGNlcHRp
b25PcjxSZWY8RGF0YWJhc2U+PiBEYXRhYmFzZU1hbmFnZXI6Om9wZW5EYXRhYmFzZShEb2N1bWVu
dCYgZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBleHBlY3RlZFZl
cnNpb24sIGNvbnN0IFN0cmluZyYgZGlzcGxheU5hbWUsIHVuc2lnbmVkIGVzdGltYXRlZFNpemUs
IFJlZlB0cjxEYXRhYmFzZUNhbGxiYWNrPiYmIGNyZWF0aW9uQ2FsbGJhY2spCiB7CiAgICAgQVNT
RVJUKGlzTWFpblRocmVhZCgpKTsKLSAgICBTY3JpcHRDb250cm9sbGVyOjppbml0aWFsaXplVGhy
ZWFkaW5nKCk7CisgICAgU2NyaXB0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsK
IAogICAgIGJvb2wgc2V0VmVyc2lvbkluTmV3RGF0YWJhc2UgPSAhY3JlYXRpb25DYWxsYmFjazsK
ICAgICBhdXRvIG9wZW5SZXN1bHQgPSBvcGVuRGF0YWJhc2VCYWNrZW5kKGRvY3VtZW50LCBuYW1l
LCBleHBlY3RlZFZlcnNpb24sIGRpc3BsYXlOYW1lLCBlc3RpbWF0ZWRTaXplLCBzZXRWZXJzaW9u
SW5OZXdEYXRhYmFzZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Db21tb25W
TS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ29tbW9uVk0u
Y3BwCShyZXZpc2lvbiAyNjM1OTMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Db21t
b25WTS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUwLDcgKzUwLDcgQEAgSlNDOjpWTSYgY29tbW9u
Vk1TbG93KCkKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogICAgIEFTU0VSVCghZ19jb21t
b25WTU9yTnVsbCk7CiAKLSAgICBTY3JpcHRDb250cm9sbGVyOjppbml0aWFsaXplVGhyZWFkaW5n
KCk7CisgICAgU2NyaXB0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKIAogICAg
IGF1dG8mIHZtID0gSlNDOjpWTTo6Y3JlYXRlKEpTQzo6TGFyZ2VIZWFwKS5sZWFrUmVmKCk7CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIu
Y3BwCShyZXZpc2lvbiAyNjM1OTMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3Jp
cHRDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODIsMTAgKzgyLDExIEBACiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3BhY2UgSlNDOwogCi12b2lkIFNjcmlwdENvbnRy
b2xsZXI6OmluaXRpYWxpemVUaHJlYWRpbmcoKQorLy8gRklYTUU6IFJlbW92ZSB0aGlzIGZ1bmN0
aW9uIGJlY2F1c2UgaXQncyBhIG5vLW9wLgordm9pZCBTY3JpcHRDb250cm9sbGVyOjppbml0aWFs
aXplTWFpblRocmVhZCgpCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgSlNDOjpp
bml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFsaXplKCk7CiAgICAgV1RGOjpp
bml0aWFsaXplTWFpblRocmVhZCgpOwogI2VuZGlmCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5oCShyZXZpc2lvbiAyNjM1OTMpCisrKyBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTExMiw5ICsxMTIsNyBAQCBwdWJsaWM6CiAgICAgLy8gVGhpcyBhc3NlcnRzIHRoYXQg
VVJMIGFyZ3VtZW50IGlzIGEgSmF2YVNjcmlwdCBVUkwuCiAgICAgdm9pZCBleGVjdXRlSmF2YVNj
cmlwdFVSTChjb25zdCBVUkwmLCBSZWZQdHI8U2VjdXJpdHlPcmlnaW4+ID0gbnVsbHB0ciwgU2hv
dWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMID0gUmVwbGFjZURvY3VtZW50SWZKYXZh
U2NyaXB0VVJMKTsKIAotICAgIC8vIFRoaXMgZnVuY3Rpb24gbXVzdCBiZSBjYWxsZWQgZnJvbSB0
aGUgbWFpbiB0aHJlYWQuIEl0IGlzIHNhZmUgdG8gY2FsbCBpdCByZXBlYXRlZGx5LgotICAgIC8v
IERhcndpbiBpcyBhbiBleGNlcHRpb24gdG8gdGhpcyBydWxlOiBpdCBpcyBPSyB0byBjYWxsIHRo
aXMgZnVuY3Rpb24gZnJvbSBhbnkgdGhyZWFkLCBldmVuIHJlZW50cmFudGx5LgotICAgIHN0YXRp
YyB2b2lkIGluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBzdGF0aWMgdm9pZCBpbml0aWFsaXpl
TWFpblRocmVhZCgpOwogCiAgICAgdm9pZCBsb2FkTW9kdWxlU2NyaXB0SW5Xb3JsZChMb2FkYWJs
ZU1vZHVsZVNjcmlwdCYsIGNvbnN0IFN0cmluZyYgbW9kdWxlTmFtZSwgUmVmPE1vZHVsZUZldGNo
UGFyYW1ldGVycz4mJiwgRE9NV3JhcHBlcldvcmxkJik7CiAgICAgdm9pZCBsb2FkTW9kdWxlU2Ny
aXB0KExvYWRhYmxlTW9kdWxlU2NyaXB0JiwgY29uc3QgU3RyaW5nJiBtb2R1bGVOYW1lLCBSZWY8
TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYmKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JyaWRnZS9v
YmpjL1dlYlNjcmlwdE9iamVjdC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9icmlk
Z2Uvb2JqYy9XZWJTY3JpcHRPYmplY3QubW0JKHJldmlzaW9uIDI2MzU5MykKKysrIFNvdXJjZS9X
ZWJDb3JlL2JyaWRnZS9vYmpjL1dlYlNjcmlwdE9iamVjdC5tbQkod29ya2luZyBjb3B5KQpAQCAt
MTY0LDcgKzE2NCw3IEBAIHZvaWQgZGlzY29ubmVjdFdpbmRvd1dyYXBwZXIoV2ViU2NyaXB0T2IK
ICsgKHZvaWQpaW5pdGlhbGl6ZQogewogI2lmICFVU0UoV0VCX1RIUkVBRCkKLSAgICBKU0M6Omlu
aXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsKICAgICBXVEY6Omlu
aXRpYWxpemVNYWluVGhyZWFkKCk7CiAjZW5kaWYKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2NvY29hL1NoYXJlZEJ1ZmZlckNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2NvY29hL1NoYXJlZEJ1ZmZlckNvY29hLm1tCShyZXZpc2lvbiAyNjM1
OTMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TaGFyZWRCdWZmZXJDb2NvYS5t
bQkod29ya2luZyBjb3B5KQpAQCAtNDQsNyArNDQsNyBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdFdp
dGhEYXRhU2VnbWVudDooY29uCiArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhVVNFKFdFQl9U
SFJFQUQpCi0gICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFs
aXplKCk7CiAgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogI2VuZGlmIC8vICFVU0Uo
V0VCX1RIUkVBRCkKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV2Vi
Q29yZVRocmVhZC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
d2FrL1dlYkNvcmVUaHJlYWQubW0JKHJldmlzaW9uIDI2MzU5MykKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy93YWsvV2ViQ29yZVRocmVhZC5tbQkod29ya2luZyBjb3B5KQpAQCAtNTg0
LDExICs1ODQsMTEgQEAgc3RhdGljIHZvaWQqIFJ1bldlYlRocmVhZCh2b2lkKikKIHsKICAgICBG
bG9hdGluZ1BvaW50RW52aXJvbm1lbnQ6OnNpbmdsZXRvbigpLnByb3BhZ2F0ZU1haW5UaHJlYWRF
bnZpcm9ubWVudCgpOwogCi0gICAgLy8gV1RGOjppbml0aWFsaXplV2ViVGhyZWFkKCkgbmVlZHMg
dG8gYmUgY2FsbGVkIGJlZm9yZSBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKSBzaW5jZSB0aGUK
KyAgICAvLyBXVEY6OmluaXRpYWxpemVXZWJUaHJlYWQoKSBuZWVkcyB0byBiZSBjYWxsZWQgYmVm
b3JlIEpTQzo6aW5pdGlhbGl6ZSgpIHNpbmNlIHRoZQogICAgIC8vIGNvZGUgaW52b2tlZCBieSB0
aGUgbGF0dGVyIG5lZWRzIHRvIGtub3cgaWYgaXQncyBydW5uaW5nIG9uIHRoZSBXZWJUaHJlYWQu
IFNlZQogICAgIC8vIDxyZGFyOi8vcHJvYmxlbS84NTAyNDg3Pi4KICAgICBXVEY6OmluaXRpYWxp
emVXZWJUaHJlYWQoKTsKLSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6
OmluaXRpYWxpemUoKTsKICAgICAKICAgICAvLyBNYWtlIHN1cmUgdGhhdCB0aGUgV2ViVGhyZWFk
IGFuZCB0aGUgbWFpbiB0aHJlYWQgc2hhcmUgdGhlIHNhbWUgVGhyZWFkR2xvYmFsRGF0YSBvYmpl
Y3RzLgogICAgIFdlYkNvcmU6OnRocmVhZEdsb2JhbERhdGEoKS5zZXRXZWJDb3JlVGhyZWFkRGF0
YSgpOwpJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MzU5MykKKysrIFNvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDYtMjYgIEdlb2Zm
cmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAgICBSZW5hbWUgaW5pdGlhbGl6
ZVRocmVhZGluZyB0byBpbml0aWFsaXplCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTM2NzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFNoYXJlZC9BUEkvYy9XS1N0cmluZy5jcHA6CisgICAgICAgIChX
S1N0cmluZ0NvcHlKU1N0cmluZyk6CisgICAgICAgICogU2hhcmVkL0NvY29hL1dlYktpdDJJbml0
aWFsaXplQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OnJ1bkluaXRpYWxpemF0aW9uQ29kZSk6
CisgICAgICAgICogU2hhcmVkL1dlYktpdDJJbml0aWFsaXplLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6SW5pdGlhbGl6ZVdlYktpdDIpOgorCiAyMDIwLTA2LTI2ICBXZW5zb24gSHNpZWggIDx3ZW5z
b25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIExheW91dCB0ZXN0cyBzb21ldGlt
ZXMgYXNzZXJ0IHVuZGVyIC1bV0tDb250ZW50VmlldyBoYXNDb250ZW50XQpJbmRleDogU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViS2l0MkluaXRpYWxpemUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYktpdDJJbml0aWFsaXplLmNwcAkocmV2aXNpb24gMjYzNTkzKQor
KysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViS2l0MkluaXRpYWxpemUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zOSw3ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiB2b2lkIEluaXRpYWxp
emVXZWJLaXQyKCkKIHsKLSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6
OmluaXRpYWxpemUoKTsKICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAgICAgQXRv
bVN0cmluZzo6aW5pdCgpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvYy9XS1N0
cmluZy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL2MvV0tTdHJp
bmcuY3BwCShyZXZpc2lvbiAyNjM1OTMpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvYy9X
S1N0cmluZy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMyw2ICsxMzMsNiBAQCBXS1N0cmluZ1Jl
ZiBXS1N0cmluZ0NyZWF0ZVdpdGhKU1N0cmluZyhKCiAKIEpTU3RyaW5nUmVmIFdLU3RyaW5nQ29w
eUpTU3RyaW5nKFdLU3RyaW5nUmVmIHN0cmluZ1JlZikKIHsKLSAgICBKU0M6OmluaXRpYWxpemVU
aHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsKICAgICByZXR1cm4gT3BhcXVlSlNT
dHJpbmc6OnRyeUNyZWF0ZShXZWJLaXQ6OnRvSW1wbChzdHJpbmdSZWYpLT5zdHJpbmcoKSkubGVh
a1JlZigpOwogfQpJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvV2ViS2l0MkluaXRp
YWxpemVDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9X
ZWJLaXQySW5pdGlhbGl6ZUNvY29hLm1tCShyZXZpc2lvbiAyNjM1OTMpCisrKyBTb3VyY2UvV2Vi
S2l0L1NoYXJlZC9Db2NvYS9XZWJLaXQySW5pdGlhbGl6ZUNvY29hLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC01Miw3ICs1Miw3IEBAIHN0YXRpYyB2b2lkIHJ1bkluaXRpYWxpemF0aW9uQ29kZSh2b2lk
KiAKICAgICBJbml0V2ViQ29yZVRocmVhZFN5c3RlbUludGVyZmFjZSgpOwogI2VuZGlmCiAKLSAg
ICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsKICAg
ICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAKICAgICBXVEY6OlJlZkNvdW50ZWRCYXNl
OjplbmFibGVUaHJlYWRpbmdDaGVja3NHbG9iYWxseSgpOwpJbmRleDogU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L0NoYW5nZUxvZwkocmV2aXNpb24gMjYzNTkzKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNTAgQEAKKzIwMjAtMDYtMjYgIEdl
b2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAgICBSZW5hbWUgaW5pdGlh
bGl6ZVRocmVhZGluZyB0byBpbml0aWFsaXplCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMTM2NzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIEhpc3RvcnkvV2ViQmFja0ZvcndhcmRMaXN0Lm1tOgorICAg
ICAgICAoK1tXZWJCYWNrRm9yd2FyZExpc3QgaW5pdGlhbGl6ZV0pOgorICAgICAgICAqIEhpc3Rv
cnkvV2ViSGlzdG9yeUl0ZW0ubW06CisgICAgICAgICgrW1dlYkhpc3RvcnlJdGVtIGluaXRpYWxp
emVdKToKKyAgICAgICAgKiBNaXNjL1dlYkNhY2hlLm1tOgorICAgICAgICAoK1tXZWJDYWNoZSBp
bml0aWFsaXplXSk6CisgICAgICAgICogTWlzYy9XZWJFbGVtZW50RGljdGlvbmFyeS5tbToKKyAg
ICAgICAgKCtbV2ViRWxlbWVudERpY3Rpb25hcnkgaW5pdGlhbGl6ZV0pOgorICAgICAgICAqIE1p
c2MvV2ViSWNvbkRhdGFiYXNlLm1tOgorICAgICAgICAqIE1pc2MvV2ViU3RyaW5nVHJ1bmNhdG9y
Lm1tOgorICAgICAgICAoK1tXZWJTdHJpbmdUcnVuY2F0b3IgaW5pdGlhbGl6ZV0pOgorICAgICAg
ICAqIFBsdWdpbnMvSG9zdGVkL1dlYkhvc3RlZE5ldHNjYXBlUGx1Z2luVmlldy5tbToKKyAgICAg
ICAgKCtbV2ViSG9zdGVkTmV0c2NhcGVQbHVnaW5WaWV3IGluaXRpYWxpemVdKToKKyAgICAgICAg
KiBQbHVnaW5zL1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcubW06CisgICAgICAgICogUGx1Z2lu
cy9XZWJCYXNlUGx1Z2luUGFja2FnZS5tbToKKyAgICAgICAgKCtbV2ViQmFzZVBsdWdpblBhY2th
Z2UgaW5pdGlhbGl6ZV0pOgorICAgICAgICAqIFBsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3
Lm1tOgorICAgICAgICAoK1tXZWJOZXRzY2FwZVBsdWdpblZpZXcgaW5pdGlhbGl6ZV0pOgorICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbToKKyAgICAgICAgKCtbV2Vi
VW5kb1N0ZXAgaW5pdGlhbGl6ZV0pOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkZyYW1l
TG9hZGVyQ2xpZW50Lm1tOgorICAgICAgICAoK1tXZWJGcmFtZVBvbGljeUxpc3RlbmVyIGluaXRp
YWxpemVdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYkFyY2hpdmUubW06CisgICAgICAgICgrW1dl
YkFyY2hpdmVQcml2YXRlIGluaXRpYWxpemVdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYkRhdGFT
b3VyY2UubW06CisgICAgICAgICgrW1dlYkRhdGFTb3VyY2UgaW5pdGlhbGl6ZV0pOgorICAgICAg
ICAqIFdlYlZpZXcvV2ViSFRNTFZpZXcubW06CisgICAgICAgICgrW1dlYkhUTUxWaWV3UHJpdmF0
ZSBpbml0aWFsaXplXSk6CisgICAgICAgICgrW1dlYkhUTUxWaWV3IGluaXRpYWxpemVdKToKKyAg
ICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAoK1tXZWJQcmVmZXJl
bmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9XZWJSZXNvdXJjZS5tbToKKyAg
ICAgICAgKCtbV2ViUmVzb3VyY2VQcml2YXRlIGluaXRpYWxpemVdKToKKyAgICAgICAgKiBXZWJW
aWV3L1dlYlRleHRJdGVyYXRvci5tbToKKyAgICAgICAgKCtbV2ViVGV4dEl0ZXJhdG9yUHJpdmF0
ZSBpbml0aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAo
K1tXZWJWaWV3IGluaXRpYWxpemVdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXdEYXRhLm1t
OgorICAgICAgICAoK1tXZWJWaWV3UHJpdmF0ZSBpbml0aWFsaXplXSk6CisKIDIwMjAtMDYtMjYg
IEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBJbml0aWFsaXpp
bmcgdGhlIG1haW4gdGhyZWFkIHNob3VsZCBpbml0aWFsaXplIHRoZSBtYWluIHJ1biBsb29wCklu
ZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9IaXN0b3J5L1dlYkJhY2tGb3J3YXJkTGlzdC5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9IaXN0b3J5L1dlYkJhY2tG
b3J3YXJkTGlzdC5tbQkocmV2aXNpb24gMjYzNTkzKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvSGlzdG9yeS9XZWJCYWNrRm9yd2FyZExpc3QubW0JKHdvcmtpbmcgY29weSkKQEAgLTk4LDcg
Kzk4LDcgQEAgLSAoaWQpaW5pdFdpdGhCYWNrRm9yd2FyZExpc3Q6KFJlZjxCYWNrRgogKyAodm9p
ZClpbml0aWFsaXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgSlNDOjppbml0
aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFsaXplKCk7CiAgICAgV1RGOjppbml0
aWFsaXplTWFpblRocmVhZCgpOwogI2VuZGlmCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9IaXN0b3J5L1dlYkhpc3RvcnlJdGVtLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL0hpc3RvcnkvV2ViSGlzdG9yeUl0ZW0ubW0JKHJldmlzaW9uIDI2MzU5MykK
KysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0hpc3RvcnkvV2ViSGlzdG9yeUl0ZW0ubW0JKHdv
cmtpbmcgY29weSkKQEAgLTEyNSw3ICsxMjUsNyBAQCB2b2lkIFdLTm90aWZ5SGlzdG9yeUl0ZW1D
aGFuZ2VkKEhpc3RvcnlJCiArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9T
X0ZBTUlMWSkKLSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRp
YWxpemUoKTsKICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAjZW5kaWYKIH0KSW5k
ZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViQ2FjaGUubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJDYWNoZS5tbQkocmV2aXNpb24gMjYz
NTkzKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJDYWNoZS5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtNjMsNyArNjMsNyBAQCBjbGFzcyBEZWZhdWx0U3RvcmFnZVNlc3Npb25Qcm92
aWRlciA6IHB1CiArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlM
WSkKLSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUo
KTsKICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAjZW5kaWYKIH0KSW5kZXg6IFNv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViRWxlbWVudERpY3Rpb25hcnkubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJFbGVtZW50RGljdGlvbmFy
eS5tbQkocmV2aXNpb24gMjYzNTkzKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9X
ZWJFbGVtZW50RGljdGlvbmFyeS5tbQkod29ya2luZyBjb3B5KQpAQCAtNjcsNyArNjcsNyBAQCBz
dGF0aWMgdm9pZCBjYWNoZVZhbHVlRm9yS2V5KGNvbnN0IHZvaWQgCiArICh2b2lkKWluaXRpYWxp
emUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBKU0M6OmluaXRpYWxpemVUaHJl
YWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsKICAgICBXVEY6OmluaXRpYWxpemVNYWlu
VGhyZWFkKCk7CiAjZW5kaWYKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2Mv
V2ViSWNvbkRhdGFiYXNlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L01pc2MvV2ViSWNvbkRhdGFiYXNlLm1tCShyZXZpc2lvbiAyNjM1OTMpCisrKyBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9NaXNjL1dlYkljb25EYXRhYmFzZS5tbQkod29ya2luZyBjb3B5KQpAQCAt
OTcsNyArOTcsNyBAQCBBTExPV19ERVBSRUNBVEVEX0lNUExFTUVOVEFUSU9OU19FTkQKIAogKyAo
dm9pZClpbml0aWFsaXplCiB7Ci0gICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAg
SlNDOjppbml0aWFsaXplKCk7CiAgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogfQog
CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYlN0cmluZ1RydW5jYXRvci5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYlN0cmluZ1Ry
dW5jYXRvci5tbQkocmV2aXNpb24gMjYzNTkzKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
TWlzYy9XZWJTdHJpbmdUcnVuY2F0b3IubW0JKHdvcmtpbmcgY29weSkKQEAgLTUwLDcgKzUwLDcg
QEAgc3RhdGljIFdlYkNvcmU6OkZvbnRDYXNjYWRlJiBmb250RnJvbU5TRgogCiArICh2b2lkKWlu
aXRpYWxpemUKIHsKLSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6Omlu
aXRpYWxpemUoKTsKICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiB9CiAKSW5kZXg6
IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmll
dy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL1dlYkJh
c2VOZXRzY2FwZVBsdWdpblZpZXcubW0JKHJldmlzaW9uIDI2MzU5MykKKysrIFNvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1BsdWdpbnMvV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldy5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtNzAsNyArNzAsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogKyAo
dm9pZClpbml0aWFsaXplCiB7Ci0gICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAg
SlNDOjppbml0aWFsaXplKCk7CiAgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogICAg
IFdlYktpdDo6c2VuZFVzZXJDaGFuZ2VOb3RpZmljYXRpb25zKCk7CiB9CkluZGV4OiBTb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL1dlYkJhc2VQbHVnaW5QYWNrYWdlLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvV2ViQmFzZVBsdWdpblBhY2th
Z2UubW0JKHJldmlzaW9uIDI2MzU5MykKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdp
bnMvV2ViQmFzZVBsdWdpblBhY2thZ2UubW0JKHdvcmtpbmcgY29weSkKQEAgLTU5LDcgKzU5LDcg
QEAgLSAoTlNBcnJheSAqKV93ZWJfbG93ZXJjYXNlU3RyaW5nczsKICsgKHZvaWQpaW5pdGlhbGl6
ZQogewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQotICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVh
ZGluZygpOworICAgIEpTQzo6aW5pdGlhbGl6ZSgpOwogICAgIFdURjo6aW5pdGlhbGl6ZU1haW5U
aHJlYWQoKTsKICNlbmRpZgogfQpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1Z2lu
cy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0JKHJldmlzaW9uIDI2MzU5
MykKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5W
aWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xNjIsNyArMTYyLDcgQEAgLSAoTlBFcnJvcilsb2Fk
UmVxdWVzdDooTlNNdXRhYmxlVVJMUmVxdQogCiArICh2b2lkKWluaXRpYWxpemUKIHsKLSAgICBK
U0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsKICAgICBX
VEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAgICAgc2VuZFVzZXJDaGFuZ2VOb3RpZmljYXRp
b25zKCk7CiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL0hvc3RlZC9X
ZWJIb3N0ZWROZXRzY2FwZVBsdWdpblZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvUGx1Z2lucy9Ib3N0ZWQvV2ViSG9zdGVkTmV0c2NhcGVQbHVnaW5WaWV3Lm1t
CShyZXZpc2lvbiAyNjM1OTMpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL0hv
c3RlZC9XZWJIb3N0ZWROZXRzY2FwZVBsdWdpblZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTEw
NSw3ICsxMDUsNyBAQCAtIChCT09MKV9ob3N0c0xheWVyc0luV2luZG93U2VydmVyOwogKyAodm9p
ZClpbml0aWFsaXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgSlNDOjppbml0
aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFsaXplKCk7CiAgICAgV1RGOjppbml0
aWFsaXplTWFpblRocmVhZCgpOwogI2VuZGlmCiAgICAgc2VuZFVzZXJDaGFuZ2VOb3RpZmljYXRp
b25zKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJF
ZGl0b3JDbGllbnQubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lm1tCShyZXZpc2lvbiAyNjM1OTMpCisrKyBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW0JKHdv
cmtpbmcgY29weSkKQEAgLTEzOCw3ICsxMzgsNyBAQCAtIChVbmRvU3RlcCYpc3RlcDsKICsgKHZv
aWQpaW5pdGlhbGl6ZQogewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQotICAgIEpTQzo6aW5p
dGlhbGl6ZVRocmVhZGluZygpOworICAgIEpTQzo6aW5pdGlhbGl6ZSgpOwogICAgIFdURjo6aW5p
dGlhbGl6ZU1haW5UaHJlYWQoKTsKICNlbmRpZgogfQpJbmRleDogU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJD
bGllbnQubW0JKHJldmlzaW9uIDI2MzU5MykKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0y
MzQyLDcgKzIzNDIsNyBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpmaW5pc2hlZExvYWRp
CiArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBK
U0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsKICAgICBX
VEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAjZW5kaWYKIH0KSW5kZXg6IFNvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViQXJjaGl2ZS5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkFyY2hpdmUubW0JKHJldmlzaW9uIDI2MzU5MykK
KysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViQXJjaGl2ZS5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtNjksNyArNjksNyBAQCAtICh2b2lkKXNldENvcmVBcmNoaXZlOihSZWY8TGVn
YWN5V2ViQXJjCiArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlM
WSkKLSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUo
KTsKICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAjZW5kaWYKIH0KSW5kZXg6IFNv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViRGF0YVNvdXJjZS5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkRhdGFTb3VyY2UubW0JKHJl
dmlzaW9uIDI2MzU5MykKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViRGF0
YVNvdXJjZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMTUzLDcgKzE1Myw3IEBAICsgKHZvaWQpaW5p
dGlhbGl6ZQogewogICAgIGlmIChzZWxmID09IFtXZWJEYXRhU291cmNlIGNsYXNzXSkgewogI2lm
ICFQTEFURk9STShJT1NfRkFNSUxZKQotICAgICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmco
KTsKKyAgICAgICAgSlNDOjppbml0aWFsaXplKCk7CiAgICAgICAgIFdURjo6aW5pdGlhbGl6ZU1h
aW5UaHJlYWQoKTsKICNlbmRpZgogICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQkocmV2aXNpb24gMjYzNTkzKQorKysgU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQkod29ya2luZyBjb3B5KQpA
QCAtMTAzMSw3ICsxMDMxLDcgQEAgKyAodm9pZClpbml0aWFsaXplCiAgICAgLy8gRklYTUU6IFNo
b3VsZG4ndCBhbGwgb2YgdGhpcyBtb3ZlIGludG8gK1tXZWJIVE1MVmlldyBpbml0aWFsaXplXT8K
ICAgICAvLyBBbmQgc29tZSBvZiB0aGlzIHdvcmsgaXMgbGlrZWx5IHJlZHVuZGFudCBzaW5jZSAr
W1dlYkhUTUxWaWV3IGluaXRpYWxpemVdIGlzIGd1YXJhbnRlZWQgdG8gcnVuIGZpcnN0LgogCi0g
ICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFsaXplKCk7CiAg
ICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogCiAgICAgaWYgKCFvbGRTZXRDdXJzb3JG
b3JNb3VzZUxvY2F0aW9uSU1QKSB7CkBAIC0yNTY1LDcgKzI1NjUsNyBAQCArICh2b2lkKWluaXRp
YWxpemUKIHsKICAgICBbTlNBcHAgcmVnaXN0ZXJTZXJ2aWNlc01lbnVTZW5kVHlwZXM6W1tzZWxm
IGNsYXNzXSBfc2VsZWN0aW9uUGFzdGVib2FyZFR5cGVzXSByZXR1cm5UeXBlczpbW3NlbGYgY2xh
c3NdIF9pbnNlcnRhYmxlUGFzdGVib2FyZFR5cGVzXV07CiAKLSAgICBKU0M6OmluaXRpYWxpemVU
aHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsKICAgICBXVEY6OmluaXRpYWxpemVN
YWluVGhyZWFkKCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZXMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQkocmV2aXNpb24gMjYzNTkzKQorKysgU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQkod29ya2luZyBjb3B5KQpA
QCAtMzg3LDcgKzM4Nyw3IEBAICsgKFdlYlByZWZlcmVuY2VzICopc3RhbmRhcmRQcmVmZXJlbmNl
cwogKyAodm9pZClpbml0aWFsaXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAg
SlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFsaXplKCk7CiAgICAg
V1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogICAgIGJvb2wgYXR0YWNobWVudEVsZW1lbnRF
bmFibGVkID0gTWFjQXBwbGljYXRpb246OmlzQXBwbGVNYWlsKCk7CiAgICAgYm9vbCB3ZWJTUUxF
bmFibGVkID0gZmFsc2U7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YlJlc291cmNlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViUmVzb3VyY2UubW0JKHJldmlzaW9uIDI2MzU5MykKKysrIFNvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYlZpZXcvV2ViUmVzb3VyY2UubW0JKHdvcmtpbmcgY29weSkKQEAgLTY3LDcgKzY3
LDcgQEAgLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoQ29yZVJlc291cmNlOihSZQogKyAodm9pZClp
bml0aWFsaXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgSlNDOjppbml0aWFs
aXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFsaXplKCk7CiAgICAgV1RGOjppbml0aWFs
aXplTWFpblRocmVhZCgpOwogI2VuZGlmCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlRleHRJdGVyYXRvci5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlRleHRJdGVyYXRvci5tbQkocmV2aXNpb24gMjYzNTkzKQor
KysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJUZXh0SXRlcmF0b3IubW0JKHdv
cmtpbmcgY29weSkKQEAgLTQ3LDcgKzQ3LDcgQEAgQGludGVyZmFjZSBXZWJUZXh0SXRlcmF0b3JQ
cml2YXRlIDogTlNPYgogKyAodm9pZClpbml0aWFsaXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19G
QU1JTFkpCi0gICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFs
aXplKCk7CiAgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogI2VuZGlmCiB9CkluZGV4
OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCShyZXZpc2lvbiAy
NjM1OTMpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHdv
cmtpbmcgY29weSkKQEAgLTU1NTcsNyArNTU1Nyw3IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQogICAg
IGluaXRpYWxpemVkID0gWUVTOwogCiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgSlND
Ojppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFsaXplKCk7CiAgICAgV1RG
Ojppbml0aWFsaXplTWFpblRocmVhZCgpOwogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0RhdGEubW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3RGF0YS5tbQkocmV2aXNpb24gMjYzNTkzKQor
KysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3RGF0YS5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtMTY3LDcgKzE2Nyw3IEBAIC0gKHZvaWQpX3dpbmRvd1Zpc2liaWxpdHlDaGFu
Z2VkOihOU05vdGkKICsgKHZvaWQpaW5pdGlhbGl6ZQogewogI2lmICFQTEFURk9STShJT1NfRkFN
SUxZKQotICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgIEpTQzo6aW5pdGlhbGl6
ZSgpOwogICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICNlbmRpZgogfQpJbmRleDog
U291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwkocmV2aXNpb24gMjYzNTkzKQorKysgU291cmNlL1dl
YktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMjAtMDYtMjYgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZW5hbWUgaW5pdGlhbGl6ZVRocmVhZGluZyB0byBpbml0aWFsaXplCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTM2NzQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdENsYXNzRmFjdG9yeS5j
cHA6CisgICAgICAgIChXZWJLaXRDbGFzc0ZhY3Rvcnk6OldlYktpdENsYXNzRmFjdG9yeSk6Cisg
ICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3OjpXZWJWaWV3KToKKwogMjAy
MC0wNi0yNiAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgogCiAgICAgICAgIElu
aXRpYWxpemluZyB0aGUgbWFpbiB0aHJlYWQgc2hvdWxkIGluaXRpYWxpemUgdGhlIG1haW4gcnVu
IGxvb3AKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYktpdENsYXNzRmFjdG9yeS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViS2l0Q2xhc3NGYWN0
b3J5LmNwcAkocmV2aXNpb24gMjYzNTkzKQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
S2l0Q2xhc3NGYWN0b3J5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjMsNyArNjMsNyBAQAogV2Vi
S2l0Q2xhc3NGYWN0b3J5OjpXZWJLaXRDbGFzc0ZhY3RvcnkoQ0xTSUQgdGFyZ2V0Q2xhc3MpCiAg
ICAgOiBtX3RhcmdldENsYXNzKHRhcmdldENsYXNzKQogewotICAgIEpTQzo6aW5pdGlhbGl6ZVRo
cmVhZGluZygpOworICAgIEpTQzo6aW5pdGlhbGl6ZSgpOwogICAgIFdURjo6aW5pdGlhbGl6ZU1h
aW5UaHJlYWQoKTsKIAogICAgIGdDbGFzc0NvdW50Kys7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJWaWV3LmNwcAkocmV2aXNpb24gMjYzNTkzKQorKysgU291cmNlL1dlYktpdExlZ2FjeS93
aW4vV2ViVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyMCw3ICs0MjAsNyBAQCBib29sIFdl
YlZpZXc6OnNfYWxsb3dTaXRlU3BlY2lmaWNIYWNrcyA9CiAKIFdlYlZpZXc6OldlYlZpZXcoKQog
ewotICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgIEpTQzo6aW5pdGlhbGl6ZSgp
OwogICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICAgICBXVEY6OnNldFByb2Nlc3NQ
cml2aWxlZ2VzKGFsbFByaXZpbGVnZXMoKSk7CiAgICAgV2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VT
ZXNzaW9uOjpwZXJtaXRQcm9jZXNzVG9Vc2VDb29raWVBUEkodHJ1ZSk7CkluZGV4OiBUb29scy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjM2MDcp
CisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNSBAQAorMjAy
MC0wNi0yNiAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgorCisgICAgICAgIFJl
bmFtZSBpbml0aWFsaXplVGhyZWFkaW5nIHRvIGluaXRpYWxpemUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzY3NAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJD
b3JlL0FwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIuY3BwOgorICAgICAgICAoQXBwbGljYXRpb25N
YW5pZmVzdFBhcnNlclRlc3Q6OlNldFVwKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYkNvcmUvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRB
UEk6OkNvbXBsZXhUZXh0Q29udHJvbGxlclRlc3Q6OlNldFVwKToKKyAgICAgICAgKiBUZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ29udGVudEV4dGVuc2lvbnMuY3BwOgorICAgICAgICAoVGVz
dFdlYktpdEFQSTo6Q29udGVudEV4dGVuc2lvblRlc3Q6OlNldFVwKToKKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvU3RyaW5nVXRpbGl0aWVzLm1tOgorICAgICAgICAoVGVz
dFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3Jl
L2NvY29hL1dlYkNvcmVOU1VSTFNlc3Npb24ubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpX
ZWJDb3JlTlNVUkxTZXNzaW9uVGVzdDo6U2V0VXApOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
Z2xpYi9XZWJLaXRHTGliL1dlYktpdFRlc3RTZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViS2l0VGVz
dFNlcnZlcjo6V2ViS2l0VGVzdFNlcnZlcik6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjppbml0aWFs
aXplKToKKwogMjAyMC0wNi0yNiAgSm9uYXRoYW4gQmVkYXJkICA8amJlZGFyZEBhcHBsZS5jb20+
CiAKICAgICAgICAgW3dlYmtpdHB5XSBBdXRvbWF0aWNhbGx5IGRldGVjdCBodyBhcmNoaXRlY3R1
cmUgZm9yIHN1cHBvcnRpbmcgQXBwbGUgU2lsaWNvbgpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJDb3JlL0FwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9BcHBsaWNhdGlvbk1hbmlmZXN0
UGFyc2VyLmNwcAkocmV2aXNpb24gMjYzNTkzKQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJDb3JlL0FwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01Niw3ICs1Niw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBTZXRVcCgpCiAgICAg
ewotICAgICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICAgICAgSlNDOjppbml0
aWFsaXplKCk7CiAgICAgICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKIAogICAgICAg
ICBtX21hbmlmZXN0VVJMID0geyB7IH0sICJodHRwczovL2V4YW1wbGUuY29tL21hbmlmZXN0Lmpz
b24iIH07CkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ29tcGxleFRl
eHRDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYkNvcmUvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcAkocmV2aXNpb24gMjYzNTkzKQorKysg
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0NvbXBsZXhUZXh0Q29udHJvbGxlci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcgQEAgY2xhc3MgQ29tcGxleFRleHRDb250
cm9sbGVyVGVzdCA6IHB1YmxpYwogcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBTZXRVcCgpCiAg
ICAgewotICAgICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICAgICAgSlNDOjpp
bml0aWFsaXplKCk7CiAgICAgICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICAgICB9
CiB9OwpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0NvbnRlbnRFeHRl
bnNpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNv
cmUvQ29udGVudEV4dGVuc2lvbnMuY3BwCShyZXZpc2lvbiAyNjM1OTMpCisrKyBUb29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ29udGVudEV4dGVuc2lvbnMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC03NSw3ICs3NSw3IEBAIGNsYXNzIENvbnRlbnRFeHRlbnNpb25UZXN0IDogcHVibGlj
IHRlc3QKIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgU2V0VXAoKQogICAgIHsKLSAgICAgICAg
SlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgICAgIEpTQzo6aW5pdGlhbGl6ZSgpOwog
ICAgICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAgICAgfQogfTsKSW5kZXg6IFRv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9TdHJpbmdVdGlsaXRpZXMubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL1N0cmluZ1V0aWxpdGll
cy5tbQkocmV2aXNpb24gMjYzNTkzKQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJD
b3JlL1N0cmluZ1V0aWxpdGllcy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzUsNyArMzUsNyBAQCBu
YW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CiAKIFRFU1QoV2ViQ29yZSwgV2lsZGNhcmRTdHJpbmdN
YXRjaGluZykKIHsKLSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6Omlu
aXRpYWxpemUoKTsKIAogICAgIFN0cmluZyB3aWxkY2FyZFN0cmluZyA9ICJhKmIiOwogICAgIEVY
UEVDVF9UUlVFKHN0cmluZ01hdGNoZXNXaWxkY2FyZFN0cmluZygiYWFhYWJiIiwgImEqYiIpKTsK
SW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9XZWJDb3JlTlNV
UkxTZXNzaW9uLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
Q29yZS9jb2NvYS9XZWJDb3JlTlNVUkxTZXNzaW9uLm1tCShyZXZpc2lvbiAyNjM1OTMpCisrKyBU
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29jb2EvV2ViQ29yZU5TVVJMU2Vzc2lv
bi5tbQkod29ya2luZyBjb3B5KQpAQCAtMTE0LDcgKzExNCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgU2V0VXAoKQogICAgIHsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgICAg
ICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICAgICAgSlNDOjppbml0aWFsaXplKCk7
CiAjZW5kaWYKICAgICAgICAgdmlldyA9IFtbV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpO
U1plcm9SZWN0XTsKICAgICAgICAgdmlldy5mcmFtZUxvYWREZWxlZ2F0ZSA9IFtbW1Rlc3ROU1VS
TFNlc3Npb25Mb2FkZXJEZWxlZ2F0ZSBhbGxvY10gaW5pdF0gYXV0b3JlbGVhc2VdOwpJbmRleDog
VG9vbHMvVGVzdFdlYktpdEFQSS9nbGliL1dlYktpdEdMaWIvV2ViS2l0VGVzdFNlcnZlci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9nbGliL1dlYktpdEdMaWIvV2ViS2l0
VGVzdFNlcnZlci5jcHAJKHJldmlzaW9uIDI2MzU5MykKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkv
Z2xpYi9XZWJLaXRHTGliL1dlYktpdFRlc3RTZXJ2ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
Nyw3ICsyNyw3IEBACiBXZWJLaXRUZXN0U2VydmVyOjpXZWJLaXRUZXN0U2VydmVyKFNlcnZlck9w
dGlvbnMgb3B0aW9ucykKIHsKICAgICBpZiAob3B0aW9ucyAmIFNlcnZlclJ1bkluVGhyZWFkKSB7
Ci0gICAgICAgIFdURjo6aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgICAgICBXVEY6OmluaXRp
YWxpemUoKTsKICAgICAgICAgbV9xdWV1ZSA9IFdvcmtRdWV1ZTo6Y3JlYXRlKCJXZWJLaXRUZXN0
U2VydmVyIik7CiAgICAgfQogCkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250
cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250
cm9sbGVyLmNwcAkocmV2aXNpb24gMjYzNTkzKQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0NCw3ICs0NDQsNyBAQCB2b2lk
IFRlc3RDb250cm9sbGVyOjppbml0aWFsaXplKGludCBhcmdjCiB7CiAgICAgQXV0b2RyYWluZWRQ
b29sIHBvb2w7CiAKLSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6Omlu
aXRpYWxpemUoKTsKICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAgICAgV1RGOjpz
ZXRQcm9jZXNzUHJpdmlsZWdlcyhhbGxQcml2aWxlZ2VzKCkpOwogCg==
</data>
<flag name="review"
          id="418330"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402979</attachid>
            <date>2020-06-27 20:13:37 -0700</date>
            <delta_ts>2020-06-28 12:11:51 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-213674-20200627201337.patch</filename>
            <type>text/plain</type>
            <size>53158</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjYzNjMwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU5IEBA
CisyMDIwLTA2LTI3ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmVuYW1lIGluaXRpYWxpemVUaHJlYWRpbmcgdG8gaW5pdGlhbGl6ZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzNjc0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBBUEkvSlNDbGFzc1JlZi5jcHA6
CisgICAgICAgICogQVBJL0pTQ29udGV4dFJlZi5jcHA6CisgICAgICAgIChKU0NvbnRleHRHcm91
cENyZWF0ZSk6CisgICAgICAgIChKU0dsb2JhbENvbnRleHRDcmVhdGUpOgorICAgICAgICAoSlNH
bG9iYWxDb250ZXh0Q3JlYXRlSW5Hcm91cCk6CisgICAgICAgICogQVBJL0pTT2JqZWN0UmVmLmNw
cDoKKyAgICAgICAgKEpTQ2xhc3NDcmVhdGUpOgorICAgICAgICAqIEFQSS9KU1N0cmluZ1JlZi5j
cHA6CisgICAgICAgIChKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKToKKyAgICAgICAgKEpT
U3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKToKKyAgICAgICAgKEpTU3RyaW5nQ3JlYXRlV2l0
aENoYXJhY3RlcnNOb0NvcHkpOgorICAgICAgICAqIEFQSS9KU1N0cmluZ1JlZkNGLmNwcDoKKyAg
ICAgICAgKEpTU3RyaW5nQ3JlYXRlV2l0aENGU3RyaW5nKToKKyAgICAgICAgKiBBUEkvdGVzdHMv
Q29tcGFyZUFuZFN3YXBUZXN0LmNwcDoKKyAgICAgICAgKHRlc3RDb21wYXJlQW5kU3dhcCk6Cisg
ICAgICAgICogQVBJL3Rlc3RzL0V4ZWN1dGlvblRpbWVMaW1pdFRlc3QuY3BwOgorICAgICAgICAo
dGVzdEV4ZWN1dGlvblRpbWVMaW1pdCk6CisgICAgICAgICogQVBJL3Rlc3RzL0Z1bmN0aW9uT3Zl
cnJpZGVzVGVzdC5jcHA6CisgICAgICAgICh0ZXN0RnVuY3Rpb25PdmVycmlkZXMpOgorICAgICAg
ICAqIEFQSS90ZXN0cy9NdWx0aXRocmVhZGVkTXVsdGlWTUV4ZWN1dGlvblRlc3QuY3BwOgorICAg
ICAgICAoc3RhcnRNdWx0aXRocmVhZGVkTXVsdGlWTUV4ZWN1dGlvblRlc3QpOgorICAgICAgICAq
IEFQSS90ZXN0cy9QaW5nUG9uZ1N0YWNrT3ZlcmZsb3dUZXN0LmNwcDoKKyAgICAgICAgKHRlc3RQ
aW5nUG9uZ1N0YWNrT3ZlcmZsb3cpOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLm9yZGVyOgor
ICAgICAgICAqIGFzc2VtYmxlci90ZXN0bWFzbS5jcHA6CisgICAgICAgIChKU0M6OnJ1bik6Cisg
ICAgICAgICogYjMvYWlyL3Rlc3RhaXIuY3BwOgorICAgICAgICAobWFpbik6CisgICAgICAgICog
YjMvdGVzdGIzXzEuY3BwOgorICAgICAgICAobWFpbik6CisgICAgICAgICogZGZnL3Rlc3RkZmcu
Y3BwOgorICAgICAgICAobWFpbik6CisgICAgICAgICogZHluYmVuY2guY3BwOgorICAgICAgICAo
bWFpbik6CisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9jb2NvYS9SZW1vdGVJbnNwZWN0b3JD
b2NvYS5tbToKKyAgICAgICAgKEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yOjpzaW5nbGV0b24p
OgorICAgICAgICAqIGpzYy5jcHA6CisgICAgICAgIChtYWluKToKKyAgICAgICAgKGpzY21haW4p
OgorICAgICAgICAqIHJ1bnRpbWUvSW5pdGlhbGl6ZVRocmVhZGluZy5jcHA6CisgICAgICAgIChK
U0M6OmluaXRpYWxpemUpOgorICAgICAgICAoSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBydW50aW1lL0luaXRpYWxpemVUaHJlYWRpbmcuaDoKKyAgICAgICAg
KiBydW50aW1lL0pTQ0NvbmZpZy5oOgorICAgICAgICAqIHNoZWxsL3BsYXlzdGF0aW9uL1Rlc3RT
aGVsbC5jcHA6CisgICAgICAgIChzZXR1cFRlc3RSdW4pOgorICAgICAgICAqIHRlc3RSZWdFeHAu
Y3BwOgorICAgICAgICAobWFpbik6CisKIDIwMjAtMDYtMjcgIFNhYW0gQmFyYXRpICA8c2JhcmF0
aUBhcHBsZS5jb20+CiAKICAgICAgICAgQnl0ZWNvZGVCYXNpY0Jsb2NrOjphZGRTdWNjZXNzb3Ig
c2hvdWxkIGNoZWNrIGlmIHRoZSAgc3VjY2Vzc29yIGFscmVhZHkgZXhpc3RzCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUub3JkZXIKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLm9yZGVyCShyZXZpc2lvbiAyNjM2MzAp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUub3JkZXIJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNyArMSw0IEBACi1fX1pOM0pTQzE5aW5pdGlhbGl6ZVRocmVhZGluZ0V2Ci1f
X1pOM0pTQ0wyM2luaXRpYWxpemVUaHJlYWRpbmdPbmNlRXYKIF9fWk4zV1RGMTdkb3VibGVfY29u
dmVyc2lvbjEwaW5pdGlhbGl6ZUV2Ci1fX1pOM1dURjE5aW5pdGlhbGl6ZVRocmVhZGluZ0V2CiBf
X1pOM1dURjEwU3RyaW5nSW1wbDVlbXB0eUV2CiBfX1pOM1dURjEwZmFzdE1hbGxvY0VtCiBfX1pO
M1dURjIwVENNYWxsb2NfVGhyZWFkQ2FjaGUxMEluaXRNb2R1bGVFdgpAQCAtNDcsNyArNDQsNiBA
QCBfX1pOM1dURjlIYXNoVGFibGVJUHZOU18xMktleVZhbHVlUGFpcklTCiBfX1pOM1dURjlIYXNo
VGFibGVJUHZOU18xMktleVZhbHVlUGFpcklTMV9QTlNfMTNNZXRhQWxsb2NhdG9yMTNGcmVlU3Bh
Y2VOb2RlRUVFTlNfMjRLZXlWYWx1ZVBhaXJLZXlFeHRyYWN0b3JJUzZfRUVOU183UHRySGFzaElT
MV9FRU5TXzE4SGFzaE1hcFZhbHVlVHJhaXRzSU5TXzEwSGFzaFRyYWl0c0lTMV9FRU5TQ19JUzVf
RUVFRVNEX0UzYWRkSU5TXzE3SGFzaE1hcFRyYW5zbGF0b3JJU0ZfU0FfRUVTMV9TNV9FRU5TXzE4
SGFzaFRhYmxlQWRkUmVzdWx0SU5TXzE3SGFzaFRhYmxlSXRlcmF0b3JJUzFfUzZfUzhfU0FfU0Zf
U0RfRUVFRVJLVDBfUktUMV8KIF9fWk4zV1RGOGZhc3RGcmVlRVB2CiBfX1pOM0pTQzEzQ29kZVBy
b2ZpbGluZzE1bm90aWZ5QWxsb2NhdG9yRVBOM1dURjEzTWV0YUFsbG9jYXRvckUKLV9fWk4zSlND
N0pTU3RhY2sxOWluaXRpYWxpemVUaHJlYWRpbmdFdgogX19aTjNKU0M1TExJbnQxMGluaXRpYWxp
emVFdgogX19aTjNXVEYxOWluaXRpYWxpemVHQ1RocmVhZHNFdgogX19aTjNXVEYxOEZ1bmN0aW9u
RGlzcGF0Y2hlckMyRXYKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9keW5iZW5jaC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2R5bmJlbmNoLmNwcAkocmV2aXNp
b24gMjYzNjMwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2R5bmJlbmNoLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtODgsNyArODgsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3Yp
CiAgICAgfQogICAgIAogICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKLSAgICBKU0M6
OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsKIAogICAgIFZN
JiB2bSA9IFZNOjpjcmVhdGUoTGFyZ2VIZWFwKS5sZWFrUmVmKCk7CiAgICAgewpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2pzYy5jcHAJKHJldmlzaW9uIDI2MzYzMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qc2MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjM0LDEwICsyNjM0LDEwIEBAIGludCBtYWlu
KGludCBhcmdjLCBjaGFyKiogYXJndikKICAgICAgICAgV1RGTG9nQWx3YXlzKCJMb2NhbGUgbm90
IHN1cHBvcnRlZCBieSBDIGxpYnJhcnkuXG5cdFVzaW5nIHRoZSBmYWxsYmFjayAnQycgbG9jYWxl
LiIpOwogI2VuZGlmCiAKLSAgICAvLyBOZWVkIHRvIGluaXRpYWxpemUgV1RGIHRocmVhZGluZyBi
ZWZvcmUgd2Ugc3RhcnQgYW55IHRocmVhZHMuIENhbm5vdCBpbml0aWFsaXplIEpTQwotICAgIC8v
IHRocmVhZGluZyB5ZXQsIHNpbmNlIHRoYXQgd291bGQgZG8gc29tZXRoaW5ncyB0aGF0IHdlJ2Qg
bGlrZSB0byBkZWZlciB1bnRpbCBhZnRlciB3ZQorICAgIC8vIE5lZWQgdG8gaW5pdGlhbGl6ZSBX
VEYgYmVmb3JlIHdlIHN0YXJ0IGFueSB0aHJlYWRzLiBDYW5ub3QgaW5pdGlhbGl6ZSBKU0MKKyAg
ICAvLyB5ZXQsIHNpbmNlIHRoYXQgd291bGQgZG8gc29tZXRoaW5ncyB0aGF0IHdlJ2QgbGlrZSB0
byBkZWZlciB1bnRpbCBhZnRlciB3ZQogICAgIC8vIGhhdmUgYSBjaGFuY2UgdG8gcGFyc2Ugb3B0
aW9ucy4KLSAgICBXVEY6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBXVEY6OmluaXRpYWxp
emUoKTsKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgT3B0aW9uczo6Y3Jhc2hJZkNh
bnRBbGxvY2F0ZUpJVE1lbW9yeSgpID0gdHJ1ZTsKQEAgLTMyOTcsOCArMzI5Nyw3IEBAIGludCBq
c2NtYWluKGludCBhcmdjLCBjaGFyKiogYXJndikKICAgICAgICAgICAgIE9wdGlvbnM6OmR1bXBH
ZW5lcmF0ZWRCeXRlY29kZXMoKSA9IHRydWU7CiAgICAgfQogCi0gICAgLy8gSW5pdGlhbGl6ZSBK
U0MgYmVmb3JlIGdldHRpbmcgVk0uCi0gICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Cisg
ICAgSlNDOjppbml0aWFsaXplKCk7CiAgICAgaW5pdGlhbGl6ZVRpbWVvdXRJZk5lZWRlZCgpOwog
CiAjaWYgT1MoREFSV0lOKSB8fCBPUyhMSU5VWCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0UmVnRXhwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dFJlZ0V4cC5jcHAJKHJldmlzaW9uIDI2MzYzMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0UmVnRXhwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY1LDggKzE2NSw3IEBAIGludCBtYWlu
KGludCBhcmdjLCBjaGFyKiogYXJndikKICAgICB0aW1lQmVnaW5QZXJpb2QoMSk7CiAjZW5kaWYK
IAotICAgIC8vIEluaXRpYWxpemUgSlNDIGJlZm9yZSBnZXR0aW5nIFZNLgotICAgIEpTQzo6aW5p
dGlhbGl6ZVRocmVhZGluZygpOworICAgIEpTQzo6aW5pdGlhbGl6ZSgpOwogCiAgICAgLy8gV2Ug
Y2FuJ3QgdXNlIGRlc3RydWN0b3JzIGluIHRoZSBmb2xsb3dpbmcgY29kZSBiZWNhdXNlIGl0IHVz
ZXMgV2luZG93cwogICAgIC8vIFN0cnVjdHVyZWQgRXhjZXB0aW9uIEhhbmRsaW5nCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2xhc3NSZWYuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDbGFzc1JlZi5jcHAJKHJldmlzaW9uIDI2MzYzMCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDbGFzc1JlZi5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTUxLDcgKzUxLDcgQEAgT3BhcXVlSlNDbGFzczo6T3BhcXVlSlNDbGFzcyhjb25zdCBK
U0NsYQogICAgICwgY29udmVydFRvVHlwZShkZWZpbml0aW9uLT5jb252ZXJ0VG9UeXBlKQogICAg
ICwgbV9jbGFzc05hbWUoU3RyaW5nOjpmcm9tVVRGOChkZWZpbml0aW9uLT5jbGFzc05hbWUpKQog
ewotICAgIGluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsKIAog
ICAgIGlmIChjb25zdCBKU1N0YXRpY1ZhbHVlKiBzdGF0aWNWYWx1ZSA9IGRlZmluaXRpb24tPnN0
YXRpY1ZhbHVlcykgewogICAgICAgICBtX3N0YXRpY1ZhbHVlcyA9IG1ha2VVbmlxdWU8T3BhcXVl
SlNDbGFzc1N0YXRpY1ZhbHVlc1RhYmxlPigpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NvbnRleHRSZWYuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvSlNDb250ZXh0UmVmLmNwcAkocmV2aXNpb24gMjYzNjMwKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS9KU0NvbnRleHRSZWYuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Niw3ICs2
Niw3IEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKIEpTQ29udGV4dEdyb3VwUmVmIEpTQ29udGV4
dEdyb3VwQ3JlYXRlKCkKIHsKLSAgICBpbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjpp
bml0aWFsaXplKCk7CiAgICAgcmV0dXJuIHRvUmVmKCZWTTo6Y3JlYXRlQ29udGV4dEdyb3VwKCku
bGVha1JlZigpKTsKIH0KIApAQCAtMTE2LDcgKzExNiw3IEBAIHZvaWQgSlNDb250ZXh0R3JvdXBD
bGVhckV4ZWN1dGlvblRpbWVMaW0KIAogSlNHbG9iYWxDb250ZXh0UmVmIEpTR2xvYmFsQ29udGV4
dENyZWF0ZShKU0NsYXNzUmVmIGdsb2JhbE9iamVjdENsYXNzKQogewotICAgIGluaXRpYWxpemVU
aHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsKIAogI2lmIE9TKERBUldJTikKICAg
ICAvLyBJZiB0aGUgYXBwbGljYXRpb24gd2FzIGxpbmtlZCBiZWZvcmUgSlNHbG9iYWxDb250ZXh0
Q3JlYXRlIHdhcyBjaGFuZ2VkIHRvIHVzZSBhIHVuaXF1ZSBWTSwKQEAgLTEzMSw3ICsxMzEsNyBA
QCBKU0dsb2JhbENvbnRleHRSZWYgSlNHbG9iYWxDb250ZXh0Q3JlYXRlCiAKIEpTR2xvYmFsQ29u
dGV4dFJlZiBKU0dsb2JhbENvbnRleHRDcmVhdGVJbkdyb3VwKEpTQ29udGV4dEdyb3VwUmVmIGdy
b3VwLCBKU0NsYXNzUmVmIGdsb2JhbE9iamVjdENsYXNzKQogewotICAgIGluaXRpYWxpemVUaHJl
YWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsKIAogICAgIFJlZjxWTT4gdm0gPSBncm91
cCA/IFJlZjxWTT4oKnRvSlMoZ3JvdXApKSA6IFZNOjpjcmVhdGVDb250ZXh0R3JvdXAoKTsKIApJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAJKHJldmlzaW9u
IDI2MzYzMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKIEpT
Q2xhc3NSZWYgSlNDbGFzc0NyZWF0ZShjb25zdCBKU0NsYXNzRGVmaW5pdGlvbiogZGVmaW5pdGlv
bikKIHsKLSAgICBpbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFsaXplKCk7
CiAgICAgYXV0byBqc0NsYXNzID0gKGRlZmluaXRpb24tPmF0dHJpYnV0ZXMgJiBrSlNDbGFzc0F0
dHJpYnV0ZU5vQXV0b21hdGljUHJvdG90eXBlKQogICAgICAgICA/IE9wYXF1ZUpTQ2xhc3M6OmNy
ZWF0ZU5vQXV0b21hdGljUHJvdG90eXBlKGRlZmluaXRpb24pCiAgICAgICAgIDogT3BhcXVlSlND
bGFzczo6Y3JlYXRlKGRlZmluaXRpb24pOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU1N0cmluZ1JlZi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU1N0cmluZ1JlZi5jcHAJKHJldmlzaW9uIDI2MzYzMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNTdHJpbmdSZWYuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiwxMyArMzYsMTMg
QEAgdXNpbmcgbmFtZXNwYWNlIFdURjo6VW5pY29kZTsKIAogSlNTdHJpbmdSZWYgSlNTdHJpbmdD
cmVhdGVXaXRoQ2hhcmFjdGVycyhjb25zdCBKU0NoYXIqIGNoYXJzLCBzaXplX3QgbnVtQ2hhcnMp
CiB7Ci0gICAgaW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgIEpTQzo6aW5pdGlhbGl6ZSgpOwog
ICAgIHJldHVybiAmT3BhcXVlSlNTdHJpbmc6OmNyZWF0ZShyZWludGVycHJldF9jYXN0PGNvbnN0
IFVDaGFyKj4oY2hhcnMpLCBudW1DaGFycykubGVha1JlZigpOwogfQogCiBKU1N0cmluZ1JlZiBK
U1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZyhjb25zdCBjaGFyKiBzdHJpbmcpCiB7Ci0gICAg
aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgIEpTQzo6aW5pdGlhbGl6ZSgpOwogICAgIGlmIChz
dHJpbmcpIHsKICAgICAgICAgc2l6ZV90IGxlbmd0aCA9IHN0cmxlbihzdHJpbmcpOwogICAgICAg
ICBWZWN0b3I8VUNoYXIsIDEwMjQ+IGJ1ZmZlcihsZW5ndGgpOwpAQCAtNjEsNyArNjEsNyBAQCBK
U1N0cmluZ1JlZiBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluCiAKIEpTU3RyaW5nUmVmIEpT
U3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnNOb0NvcHkoY29uc3QgSlNDaGFyKiBjaGFycywgc2l6
ZV90IG51bUNoYXJzKQogewotICAgIGluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6Omlu
aXRpYWxpemUoKTsKICAgICByZXR1cm4gT3BhcXVlSlNTdHJpbmc6OnRyeUNyZWF0ZShTdHJpbmdJ
bXBsOjpjcmVhdGVXaXRob3V0Q29weWluZyhyZWludGVycHJldF9jYXN0PGNvbnN0IFVDaGFyKj4o
Y2hhcnMpLCBudW1DaGFycykpLmxlYWtSZWYoKTsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU1N0cmluZ1JlZkNGLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL0pTU3RyaW5nUmVmQ0YuY3BwCShyZXZpc2lvbiAyNjM2MzApCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTU3RyaW5nUmVmQ0YuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zNSw3ICszNSw3IEBACiAKIEpTU3RyaW5nUmVmIEpTU3RyaW5nQ3JlYXRlV2l0aENGU3RyaW5n
KENGU3RyaW5nUmVmIHN0cmluZykKIHsKLSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsK
KyAgICBKU0M6OmluaXRpYWxpemUoKTsKIAogICAgIC8vIFdlIGNhbm5vdCB1c2UgQ0ZJbmRleCBo
ZXJlIHNpbmNlIENGU3RyaW5nR2V0TGVuZ3RoIGNhbiByZXR1cm4gdmFsdWVzIGxhcmdlciB0aGFu
CiAgICAgLy8gaXQgY2FuIGhvbGQuICAoPHJkYXI6Ly9wcm9ibGVtLzY4MDY0Nzg+KQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9Db21wYXJlQW5kU3dhcFRlc3QuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvQ29tcGFyZUFuZFN3
YXBUZXN0LmNwcAkocmV2aXNpb24gMjYzNjMwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS90ZXN0cy9Db21wYXJlQW5kU3dhcFRlc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDAsNyAr
MTAwLDcgQEAgdm9pZCB0ZXN0Q29tcGFyZUFuZFN3YXAoKQogICAgIFJlZlB0cjxUaHJlYWQ+IHRo
cmVhZHNbbnVtVGhyZWFkc107CiAgICAgRGF0YSBkYXRhW251bVRocmVhZHNdOwogCi0gICAgV1RG
Ojppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgV1RGOjppbml0aWFsaXplKCk7CiAgICAgCiAg
ICAgcHJpbnRmKCJTdGFydGluZyAlZCB0aHJlYWRzIGZvciBDb21wYXJlQW5kU3dhcCB0ZXN0LiAg
VGVzdCBzaG91bGQgY29tcGxldGUgd2l0aG91dCBoYW5naW5nLlxuIiwgbnVtVGhyZWFkcyk7CiAg
ICAgZm9yIChpbnQgaSA9IDA7IGkgPCBudW1UaHJlYWRzOyBpKyspIHsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvRXhlY3V0aW9uVGltZUxpbWl0VGVzdC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9FeGVjdXRpb25UaW1lTGlt
aXRUZXN0LmNwcAkocmV2aXNpb24gMjYzNjMwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS90ZXN0cy9FeGVjdXRpb25UaW1lTGltaXRUZXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI3
LDcgKzEyNyw3IEBAIGludCB0ZXN0RXhlY3V0aW9uVGltZUxpbWl0KCkKICAgICAKICAgICBib29s
IGZhaWxlZCA9IGZhbHNlOwogCi0gICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAg
SlNDOjppbml0aWFsaXplKCk7CiAKICAgICBmb3IgKGF1dG8gdGllck9wdGlvbnMgOiB0aWVyT3B0
aW9uc0xpc3QpIHsKICAgICAgICAgU3RyaW5nQnVpbGRlciBzYXZlZE9wdGlvbnNCdWlsZGVyOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9GdW5jdGlvbk92ZXJyaWRlc1Rl
c3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvRnVu
Y3Rpb25PdmVycmlkZXNUZXN0LmNwcAkocmV2aXNpb24gMjYzNjMwKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS90ZXN0cy9GdW5jdGlvbk92ZXJyaWRlc1Rlc3QuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zNyw3ICszNyw3IEBAIGludCB0ZXN0RnVuY3Rpb25PdmVycmlkZXMoKQogewogICAg
IGJvb2wgZmFpbGVkID0gZmFsc2U7CiAKLSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsK
KyAgICBKU0M6OmluaXRpYWxpemUoKTsKIAogICAgIGNvbnN0IGNoYXIqIG9sZEZ1bmN0aW9uT3Zl
cnJpZGVzID0gT3B0aW9uczo6ZnVuY3Rpb25PdmVycmlkZXMoKTsKICAgICAKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvTXVsdGl0aHJlYWRlZE11bHRpVk1FeGVjdXRpb25U
ZXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL011
bHRpdGhyZWFkZWRNdWx0aVZNRXhlY3V0aW9uVGVzdC5jcHAJKHJldmlzaW9uIDI2MzYzMCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvTXVsdGl0aHJlYWRlZE11bHRpVk1FeGVj
dXRpb25UZXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksNyArNDksNyBAQCBzdGF0aWMgc3Rk
Ojp2ZWN0b3I8c3RkOjp0aHJlYWQ+JiB0aHJlYWRzCiB2b2lkIHN0YXJ0TXVsdGl0aHJlYWRlZE11
bHRpVk1FeGVjdXRpb25UZXN0KCkKIHsKICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7
Ci0gICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFsaXplKCk7
CiAKICNkZWZpbmUgQ0hFQ0soY29uZGl0aW9uLCBtZXNzYWdlKSBkbyB7IFwKICAgICAgICAgaWYg
KCFjb25kaXRpb24pIHsgXApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9Q
aW5nUG9uZ1N0YWNrT3ZlcmZsb3dUZXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL3Rlc3RzL1BpbmdQb25nU3RhY2tPdmVyZmxvd1Rlc3QuY3BwCShyZXZpc2lv
biAyNjM2MzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL1BpbmdQb25nU3Rh
Y2tPdmVyZmxvd1Rlc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsNyArMTE2LDcgQEAgaW50
IHRlc3RQaW5nUG9uZ1N0YWNrT3ZlcmZsb3coKQogewogICAgIGJvb2wgZmFpbGVkID0gZmFsc2U7
CiAKLSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUo
KTsKIAogICAgIGF1dG8gb3JpZ1NvZnRSZXNlcnZlZFpvbmVTaXplID0gT3B0aW9uczo6c29mdFJl
c2VydmVkWm9uZVNpemUoKTsKICAgICBhdXRvIG9yaWdSZXNlcnZlZFpvbmVTaXplID0gT3B0aW9u
czo6cmVzZXJ2ZWRab25lU2l6ZSgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci90ZXN0bWFzbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci90ZXN0bWFzbS5jcHAJKHJldmlzaW9uIDI2MzYzMCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvdGVzdG1hc20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTMwLDcg
KzI1MzAsNyBAQCBzdGF0aWMgdm9pZCB0ZXN0QnJhbmNoSWZOb3RUeXBlKCkKIAogdm9pZCBydW4o
Y29uc3QgY2hhciogZmlsdGVyKQogewotICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwor
ICAgIEpTQzo6aW5pdGlhbGl6ZSgpOwogICAgIHVuc2lnbmVkIG51bWJlck9mVGVzdHMgPSAwOwog
CiAgICAgRGVxdWU8UmVmUHRyPFNoYXJlZFRhc2s8dm9pZCgpPj4+IHRhc2tzOwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3RiM18xLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvdGVzdGIzXzEuY3BwCShyZXZpc2lvbiAyNjM2MzApCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvdGVzdGIzXzEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MDcs
NyArOTA3LDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogICAgIEpTQzo6Q29u
ZmlnOjpjb25maWd1cmVGb3JUZXN0aW5nKCk7CiAKICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhy
ZWFkKCk7Ci0gICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFs
aXplKCk7CiAgICAgCiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8PSAyOyArK2kpIHsKICAg
ICAgICAgSlNDOjpPcHRpb25zOjpkZWZhdWx0QjNPcHRMZXZlbCgpID0gaTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvdGVzdGFpci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL2Fpci90ZXN0YWlyLmNwcAkocmV2aXNpb24gMjYzNjMwKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci90ZXN0YWlyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjUxMSw3ICsyNTExLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogICAg
ICAgICBicmVhazsKICAgICB9CiAgICAgCi0gICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7
CisgICAgSlNDOjppbml0aWFsaXplKCk7CiAKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDw9
IDI7ICsraSkgewogICAgICAgICBKU0M6Ok9wdGlvbnM6OmRlZmF1bHRCM09wdExldmVsKCkgPSBp
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy90ZXN0ZGZnLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL3Rlc3RkZmcuY3BwCShyZXZpc2lvbiAyNjM2
MzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL3Rlc3RkZmcuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMTEsNyArMTExLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQog
ICAgICAgICBicmVhazsKICAgICB9CiAKLSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsK
KyAgICBKU0M6OmluaXRpYWxpemUoKTsKICAgICAKICAgICBydW4oZmlsdGVyKTsKIApJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvY29jb2EvUmVtb3RlSW5zcGVj
dG9yQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9yZW1vdGUvY29jb2EvUmVtb3RlSW5zcGVjdG9yQ29jb2EubW0JKHJldmlzaW9uIDI2MzYzMCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL2NvY29hL1JlbW90ZUlu
c3BlY3RvckNvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC05Nyw3ICs5Nyw3IEBAIFJlbW90ZUlu
c3BlY3RvciYgUmVtb3RlSW5zcGVjdG9yOjpzaW5nbGUKICAgICAgICAgaWYgKGNhbkFjY2Vzc1dl
Ykluc3BlY3Rvck1hY2hQb3J0KCkpIHsKICAgICAgICAgICAgIGRpc3BhdGNoX2Jsb2NrX3QgaW5p
dGlhbGl6ZSA9IF57CiAgICAgICAgICAgICAgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgp
OwotICAgICAgICAgICAgICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgICAgICAg
ICAgICAgIEpTQzo6aW5pdGlhbGl6ZSgpOwogICAgICAgICAgICAgICAgIGlmIChSZW1vdGVJbnNw
ZWN0b3I6OnN0YXJ0RW5hYmxlZCkKICAgICAgICAgICAgICAgICAgICAgc2hhcmVkLmdldCgpLnN0
YXJ0KCk7CiAgICAgICAgICAgICB9OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSW5pdGlhbGl6ZVRocmVhZGluZy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSW5pdGlhbGl6ZVRocmVhZGluZy5jcHAJKHJldmlzaW9uIDI2MzYzMCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0luaXRpYWxpemVUaHJlYWRpbmcuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC01MCwxMiArNTAsMTIgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIHN0
YXRpY19hc3NlcnQoc2l6ZW9mKGJvb2wpID09IDEsICJMTEludCBhbmQgSklUIGFzc3VtZSBzaXpl
b2YoYm9vbCkgaXMgYWx3YXlzIDEgd2hlbiB0b3VjaGluZyBpdCBkaXJlY3RseSBmcm9tIGFzc2Vt
Ymx5IGNvZGUuIik7CiAKLXZvaWQgaW5pdGlhbGl6ZVRocmVhZGluZygpCit2b2lkIGluaXRpYWxp
emUoKQogewotICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBpbml0aWFsaXplVGhyZWFkaW5nT25j
ZUZsYWc7CisgICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIG9uY2VGbGFnOwogCi0gICAgc3RkOjpj
YWxsX29uY2UoaW5pdGlhbGl6ZVRocmVhZGluZ09uY2VGbGFnLCBbXXsKLSAgICAgICAgV1RGOjpp
bml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgc3RkOjpjYWxsX29uY2Uob25jZUZsYWcsIFtdIHsK
KyAgICAgICAgV1RGOjppbml0aWFsaXplKCk7CiAgICAgICAgIE9wdGlvbnM6OmluaXRpYWxpemUo
KTsKIAogICAgICAgICBpbml0aWFsaXplUHRyVGFnTG9va3VwKCk7CkBAIC0xMDYsOCArMTA2LDgg
QEAgdm9pZCBpbml0aWFsaXplVGhyZWFkaW5nKCkKICNlbmRpZgogCiAgICAgICAgIFdURjo6Y29t
cGlsZXJGZW5jZSgpOwotICAgICAgICBSRUxFQVNFX0FTU0VSVCghZ19qc2NDb25maWcuaW5pdGlh
bGl6ZVRocmVhZGluZ0hhc0JlZW5DYWxsZWQpOwotICAgICAgICBnX2pzY0NvbmZpZy5pbml0aWFs
aXplVGhyZWFkaW5nSGFzQmVlbkNhbGxlZCA9IHRydWU7CisgICAgICAgIFJFTEVBU0VfQVNTRVJU
KCFnX2pzY0NvbmZpZy5pbml0aWFsaXplSGFzQmVlbkNhbGxlZCk7CisgICAgICAgIGdfanNjQ29u
ZmlnLmluaXRpYWxpemVIYXNCZWVuQ2FsbGVkID0gdHJ1ZTsKICAgICB9KTsKIH0KIApJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW5pdGlhbGl6ZVRocmVhZGluZy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0luaXRpYWxpemVUaHJlYWRp
bmcuaAkocmV2aXNpb24gMjYzNjMwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SW5pdGlhbGl6ZVRocmVhZGluZy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw4ICszMCw2IEBACiAK
IG5hbWVzcGFjZSBKU0MgewogCi0vLyBUaGlzIGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIGZyb20g
dGhlIG1haW4gdGhyZWFkLiBJdCBpcyBzYWZlIHRvIGNhbGwgaXQgcmVwZWF0ZWRseS4KLS8vIERh
cndpbiBpcyBhbiBleGNlcHRpb24gdG8gdGhpcyBydWxlOiBpdCBpcyBPSyB0byBjYWxsIHRoaXMg
ZnVuY3Rpb24gZnJvbSBhbnkgdGhyZWFkLCBldmVuIHJlZW50cmFudGx5LgotSlNfRVhQT1JUX1BS
SVZBVEUgdm9pZCBpbml0aWFsaXplVGhyZWFkaW5nKCk7CitKU19FWFBPUlRfUFJJVkFURSB2b2lk
IGluaXRpYWxpemUoKTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0NDb25maWcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0NDb25maWcuaAkocmV2aXNpb24gMjYzNjMwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDQ29uZmlnLmgJKHdvcmtpbmcgY29weSkKQEAgLTYy
LDcgKzYyLDcgQEAgc3RydWN0IENvbmZpZyB7CiAgICAgYm9vbCBqaXREaXNhYmxlZDsKIAogICAg
IC8vIFRoZSBmb2xsb3dpbmcgSGFzQmVlbkNhbGxlZCBmbGFncyBhcmUgZm9yIGF1ZGl0aW5nIGNh
bGxfb25jZSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCi0gICAgYm9vbCBpbml0aWFsaXplVGhy
ZWFkaW5nSGFzQmVlbkNhbGxlZDsKKyAgICBib29sIGluaXRpYWxpemVIYXNCZWVuQ2FsbGVkOwog
CiAgICAgc3RydWN0IHsKICNpZiBBU1NFUlRfRU5BQkxFRApJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3NoZWxsL3BsYXlzdGF0aW9uL1Rlc3RTaGVsbC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3NoZWxsL3BsYXlzdGF0aW9uL1Rlc3RTaGVsbC5jcHAJKHJldmlz
aW9uIDI2MzYzMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9zaGVsbC9wbGF5c3RhdGlvbi9U
ZXN0U2hlbGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCwxNSArNDAsMTUgQEAgZXh0ZXJuICJD
IiB2b2lkIHNldHVwVGVzdFJ1bigpCiAgICAgRk9SX0VBQ0hfSlNDX09QVElPTihTVEFUSUNfT1BU
SU9OKQogI3VuZGVmIFNUQVRJQ19PUFRJT04KIAotICAgIC8vIE5lZWQgdG8gaW5pdGlhbGl6ZSBX
VEYgdGhyZWFkaW5nIGJlZm9yZSB3ZSBzdGFydCBhbnkgdGhyZWFkcy4gQ2Fubm90IGluaXRpYWxp
emUgSlNDCi0gICAgLy8gdGhyZWFkaW5nIHlldCwgc2luY2UgdGhhdCB3b3VsZCBkbyBzb21ldGhp
bmdzIHRoYXQgd2UnZCBsaWtlIHRvIGRlZmVyIHVudGlsIGFmdGVyIHdlCisgICAgLy8gTmVlZCB0
byBpbml0aWFsaXplIFdURiBiZWZvcmUgd2Ugc3RhcnQgYW55IHRocmVhZHMuIENhbm5vdCBpbml0
aWFsaXplIEpTQworICAgIC8vIHlldCwgc2luY2UgdGhhdCB3b3VsZCBkbyBzb21ldGhpbmdzIHRo
YXQgd2UnZCBsaWtlIHRvIGRlZmVyIHVudGlsIGFmdGVyIHdlCiAgICAgLy8gaGF2ZSBhIGNoYW5j
ZSB0byBwYXJzZSBvcHRpb25zLgogICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKIAog
ICAgIC8vIE5lZWQgdG8gb3ZlcnJpZGUgYW5kIGVuYWJsZSByZXN0cmljdGVkIG9wdGlvbnMgYmVm
b3JlIHdlIHN0YXJ0IHBhcnNpbmcgb3B0aW9ucyBiZWxvdy4KICAgICBDb25maWc6OmVuYWJsZVJl
c3RyaWN0ZWRPcHRpb25zKCk7CiAKLSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAg
ICBKU0M6OmluaXRpYWxpemUoKTsKIAogI2lmIEVOQUJMRShXRUJBU1NFTUJMWSkKICAgICBKU0M6
Oldhc206OmVuYWJsZUZhc3RNZW1vcnkoKTsKSW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjM2MzApCisrKyBT
b3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQwIEBACisyMDIw
LTA2LTI3ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVu
YW1lIGluaXRpYWxpemVUaHJlYWRpbmcgdG8gaW5pdGlhbGl6ZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzNjc0CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVhc29uczoKKworICAgICAgICAoMSkgWW91
IG5lZWQgdG8gY2FsbCBpdCBldmVuIGlmIHlvdSBkb24ndCB1c2UgdGhyZWFkcy4KKworICAgICAg
ICAoMikgSXQgaW5pdGlhbGl6ZXMgdGhpbmdzIHVucmVsYXRlZCB0byB0aHJlYWRzIChsaWtlIHRo
ZSBQUk5HKS4KKworICAgICAgICAoMykgUGVvcGxlIHNlZW0gdG8gZ2V0IGNvbmZ1c2VkIGFib3V0
IHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbgorICAgICAgICBpbml0aWFsaXplVGhyZWFkaW5nKCkg
YW5kIGluaXRpYWxpemVNYWluVGhyZWFkKCksIGFuZCBzb21ldGltZXMgdGhpbmsKKyAgICAgICAg
aW5pdGlhbGl6ZVRocmVhZGluZygpIGlzIGEgc3VwZXJzZXQuIFRoZSBvcHBvc2l0ZSBpcyB0cnVl
ISBJIHRoaW5rIHRoZQorICAgICAgICBjb25mdXNpb24gbWF5IGNvbWUgZnJvbSAidGhyZWFkaW5n
IiBiZWluZyByZWFkIGFzICJhbGwgdGhyZWFkaW5nIi4KKworICAgICAgICBTb21lIGZpbGVuYW1l
cyBzdGlsbCB1c2UgdGhlIGxlZ2FjeSBuYW1lLiBXZSBjYW4gZml4IHRoYXQgaW4gcG9zdC4KKwor
ICAgICAgICAqIGJlbmNobWFya3MvQ29uZGl0aW9uU3BlZWRUZXN0LmNwcDoKKyAgICAgICAgKG1h
aW4pOgorICAgICAgICAqIGJlbmNobWFya3MvSGFzaFNldERGR1JlcGxheS5jcHA6CisgICAgICAg
IChtYWluKToKKyAgICAgICAgKiBiZW5jaG1hcmtzL0xvY2tGYWlybmVzc1Rlc3QuY3BwOgorICAg
ICAgICAobWFpbik6CisgICAgICAgICogYmVuY2htYXJrcy9Mb2NrU3BlZWRUZXN0LmNwcDoKKyAg
ICAgICAgKG1haW4pOgorICAgICAgICAqIHd0Zi9NYWluVGhyZWFkLmNwcDoKKyAgICAgICAgKFdU
Rjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQpOgorICAgICAgICAqIHd0Zi9UaHJlYWRpbmcuY3BwOgor
ICAgICAgICAoV1RGOjpUaHJlYWQ6OmNyZWF0ZSk6CisgICAgICAgIChXVEY6OmluaXRpYWxpemUp
OgorICAgICAgICAoV1RGOjppbml0aWFsaXplVGhyZWFkaW5nKTogRGVsZXRlZC4KKyAgICAgICAg
KiB3dGYvVGhyZWFkaW5nLmg6CisgICAgICAgIChXVEY6OlRocmVhZDo6Y3VycmVudCk6CisKIDIw
MjAtMDYtMjcgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIEltcHJv
dmUgYXNzZXJ0aW9ucyBpbiBTdHJpbmdQYXJzaW5nQnVmZmVyIApJbmRleDogU291cmNlL1dURi9i
ZW5jaG1hcmtzL0NvbmRpdGlvblNwZWVkVGVzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dU
Ri9iZW5jaG1hcmtzL0NvbmRpdGlvblNwZWVkVGVzdC5jcHAJKHJldmlzaW9uIDI2MzYzMCkKKysr
IFNvdXJjZS9XVEYvYmVuY2htYXJrcy9Db25kaXRpb25TcGVlZFRlc3QuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xOTMsNyArMTkzLDcgQEAgdm9pZCBydW5CZW5jaG1hcmsoCiAKIGludCBtYWluKGlu
dCBhcmdjLCBjaGFyKiogYXJndikKIHsKLSAgICBXVEY6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsK
KyAgICBXVEY6OmluaXRpYWxpemUoKTsKIAogICAgIGlmIChhcmdjICE9IDYKICAgICAgICAgfHwg
c3NjYW5mKGFyZ3ZbMl0sICIldSIsICZudW1Qcm9kdWNlcnMpICE9IDEKSW5kZXg6IFNvdXJjZS9X
VEYvYmVuY2htYXJrcy9IYXNoU2V0REZHUmVwbGF5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V1RGL2JlbmNobWFya3MvSGFzaFNldERGR1JlcGxheS5jcHAJKHJldmlzaW9uIDI2MzYzMCkKKysr
IFNvdXJjZS9XVEYvYmVuY2htYXJrcy9IYXNoU2V0REZHUmVwbGF5LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTA5ODQsNyArMTA5ODQsNyBAQCB2b2lkIGJlbmNobWFyaygpCiAKIGludCBtYWluKGlu
dCwgY2hhcioqKQogewotICAgIFdURjo6aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgIFdURjo6
aW5pdGlhbGl6ZSgpOwogICAgIAogICAgIFdhbGxUaW1lIGJlZm9yZSA9IFdhbGxUaW1lOjpub3co
KTsKICAgICAKSW5kZXg6IFNvdXJjZS9XVEYvYmVuY2htYXJrcy9Mb2NrRmFpcm5lc3NUZXN0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL2JlbmNobWFya3MvTG9ja0ZhaXJuZXNzVGVzdC5j
cHAJKHJldmlzaW9uIDI2MzYzMCkKKysrIFNvdXJjZS9XVEYvYmVuY2htYXJrcy9Mb2NrRmFpcm5l
c3NUZXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE1LDcgKzExNSw3IEBAIHN0cnVjdCBCZW5j
aG1hcmsgewogCiBpbnQgbWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCiB7Ci0gICAgV1RGOjpp
bml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgV1RGOjppbml0aWFsaXplKCk7CiAgICAgCiAgICAg
aWYgKGFyZ2MgIT0gNQogICAgICAgICB8fCBzc2NhbmYoYXJndlsyXSwgIiV1IiwgJm51bVRocmVh
ZHMpICE9IDEKSW5kZXg6IFNvdXJjZS9XVEYvYmVuY2htYXJrcy9Mb2NrU3BlZWRUZXN0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL2JlbmNobWFya3MvTG9ja1NwZWVkVGVzdC5jcHAJKHJl
dmlzaW9uIDI2MzYzMCkKKysrIFNvdXJjZS9XVEYvYmVuY2htYXJrcy9Mb2NrU3BlZWRUZXN0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTU5LDcgKzE1OSw3IEBAIGJvb2wgcGFyc2VWYWx1ZShjb25z
dCBjaGFyKiBzdHJpbmcsIHVuc2kKIAogaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQog
ewotICAgIFdURjo6aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgIFdURjo6aW5pdGlhbGl6ZSgp
OwogICAgIAogICAgIGlmIChhcmdjICE9IDgKICAgICAgICAgfHwgIXBhcnNlVmFsdWUoYXJndlsy
XSwgJm51bVRocmVhZEdyb3VwcykKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL01haW5UaHJlYWQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL01haW5UaHJlYWQuY3BwCShyZXZpc2lvbiAy
NjM2MzApCisrKyBTb3VyY2UvV1RGL3d0Zi9NYWluVGhyZWFkLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNTMsNyArNTMsNyBAQCB2b2lkIGluaXRpYWxpemVNYWluVGhyZWFkKCkKIHsKICAgICBzdGF0
aWMgc3RkOjpvbmNlX2ZsYWcgaW5pdGlhbGl6ZUtleTsKICAgICBzdGQ6OmNhbGxfb25jZShpbml0
aWFsaXplS2V5LCBbXSB7Ci0gICAgICAgIGluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICAgICAg
aW5pdGlhbGl6ZSgpOwogICAgICAgICBpbml0aWFsaXplTWFpblRocmVhZFBsYXRmb3JtKCk7CiAg
ICAgICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CiAgICAgfSk7CkluZGV4OiBTb3VyY2Uv
V1RGL3d0Zi9UaHJlYWRpbmcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1RocmVh
ZGluZy5jcHAJKHJldmlzaW9uIDI2MzYzMCkKKysrIFNvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTE2OSw3ICsxNjksNyBAQCB2b2lkIFRocmVhZDo6ZW50cnlQ
b2ludChOZXdUaHJlYWRDb250ZXh0CiAKIFJlZjxUaHJlYWQ+IFRocmVhZDo6Y3JlYXRlKGNvbnN0
IGNoYXIqIG5hbWUsIEZ1bmN0aW9uPHZvaWQoKT4mJiBlbnRyeVBvaW50LCBUaHJlYWRUeXBlIHRo
cmVhZFR5cGUpCiB7Ci0gICAgV1RGOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgV1RGOjpp
bml0aWFsaXplKCk7CiAgICAgUmVmPFRocmVhZD4gdGhyZWFkID0gYWRvcHRSZWYoKm5ldyBUaHJl
YWQoKSk7CiAgICAgUmVmPE5ld1RocmVhZENvbnRleHQ+IGNvbnRleHQgPSBhZG9wdFJlZigqbmV3
IE5ld1RocmVhZENvbnRleHQgeyBuYW1lLCBXVEZNb3ZlKGVudHJ5UG9pbnQpLCB0aHJlYWQuY29w
eVJlZigpIH0pOwogICAgIC8vIEluY3JlbWVudCB0aGUgY29udGV4dCByZWYgb24gYmVoYWxmIG9m
IHRoZSBjcmVhdGVkIHRocmVhZC4gV2UgZG8gbm90IGp1c3QgdXNlIGEgdW5pcXVlX3B0ciBhbmQg
bGVhayBpdCB0byB0aGUgY3JlYXRlZCB0aHJlYWQgYmVjYXVzZSBib3RoIHRoZSBjcmVhdG9yIGFu
ZCBjcmVhdGVkIHRocmVhZCBoYXMgYSBuZWVkIHRvIGtlZXAgdGhlIGNvbnRleHQgYWxpdmU6CkBA
IC0zNTIsNyArMzUyLDcgQEAgdm9pZCBUaHJlYWQ6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29u
cwogVGhyZWFkU3BlY2lmaWNLZXkgVGhyZWFkOjpzX2tleSA9IEludmFsaWRUaHJlYWRTcGVjaWZp
Y0tleTsKICNlbmRpZgogCi12b2lkIGluaXRpYWxpemVUaHJlYWRpbmcoKQordm9pZCBpbml0aWFs
aXplKCkKIHsKICAgICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcgb25jZUtleTsKICAgICBzdGQ6OmNh
bGxfb25jZShvbmNlS2V5LCBbXSB7CkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuaAkocmV2aXNpb24gMjYzNjMw
KQorKysgU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmgJKHdvcmtpbmcgY29weSkKQEAgLTY2LDgg
KzY2LDcgQEAgZW51bSBjbGFzcyBUaHJlYWRHcm91cEFkZFJlc3VsdDsKIGNsYXNzIFRocmVhZEdy
b3VwOwogY2xhc3MgUHJpbnRTdHJlYW07CiAKLS8vIFRoaXMgZnVuY3Rpb24gY2FuIGJlIGNhbGxl
ZCBmcm9tIGFueSB0aHJlYWRzLgotV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgaW5pdGlhbGl6ZVRo
cmVhZGluZygpOworV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgaW5pdGlhbGl6ZSgpOwogCiAjaWYg
VVNFKFBUSFJFQURTKQogCkBAIC05NSw3ICs5NCw3IEBAIGVudW0gY2xhc3MgVGhyZWFkVHlwZSA6
IHVpbnQ4X3QgewogY2xhc3MgVGhyZWFkIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFRo
cmVhZD4gewogcHVibGljOgogICAgIGZyaWVuZCBjbGFzcyBUaHJlYWRHcm91cDsKLSAgICBmcmll
bmQgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgaW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgIGZy
aWVuZCBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBpbml0aWFsaXplKCk7CiAKICAgICBXVEZfRVhQ
T1JUX1BSSVZBVEUgflRocmVhZCgpOwogCkBAIC0zNzcsMTEgKzM3NiwxMSBAQCBpbmxpbmUgVGhy
ZWFkJiBUaHJlYWQ6OmN1cnJlbnQoKQogICAgIC8vICAgIFRocmVhZDo6Y3VycmVudCgpIGlzIHVz
ZWQgb24gbWFpbiB0aHJlYWQgYmVmb3JlIGl0IGNvdWxkIHBvc3NpYmx5IGJlIHVzZWQKICAgICAv
LyAgICBvbiBzZWNvbmRhcnkgb25lcywgc28gdGhlcmUgaXMgbm8gbmVlZCBmb3Igc3luY2hyb25p
emF0aW9uIGhlcmUuCiAgICAgLy8gV1JUIEphdmFTY3JpcHRDb3JlOgotICAgIC8vICAgIFRocmVh
ZDo6aW5pdGlhbGl6ZVRMU0tleSgpIGlzIGluaXRpYWxseSBjYWxsZWQgZnJvbSBpbml0aWFsaXpl
VGhyZWFkaW5nKCksIGVuc3VyaW5nCisgICAgLy8gICAgVGhyZWFkOjppbml0aWFsaXplVExTS2V5
KCkgaXMgaW5pdGlhbGx5IGNhbGxlZCBmcm9tIGluaXRpYWxpemUoKSwgZW5zdXJpbmcKICAgICAv
LyAgICB0aGlzIGlzIGluaXRpYWxseSBjYWxsZWQgaW4gYSBzdGQ6OmNhbGxfb25jZSBsb2NrZWQg
Y29udGV4dC4KICNpZiAhSEFWRShGQVNUX1RMUykgJiYgIU9TKFdJTkRPV1MpCiAgICAgaWYgKFVO
TElLRUxZKFRocmVhZDo6c19rZXkgPT0gSW52YWxpZFRocmVhZFNwZWNpZmljS2V5KSkKLSAgICAg
ICAgV1RGOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgICAgIFdURjo6aW5pdGlhbGl6ZSgp
OwogI2VuZGlmCiAgICAgaWYgKGF1dG8qIHRocmVhZCA9IGN1cnJlbnRNYXlCZU51bGwoKSkKICAg
ICAgICAgcmV0dXJuICp0aHJlYWQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjM2MzApCisr
KyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNiBA
QAorMjAyMC0wNi0yNyAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgorCisgICAg
ICAgIFJlbmFtZSBpbml0aWFsaXplVGhyZWFkaW5nIHRvIGluaXRpYWxpemUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzY3NAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFz
ZS9EYXRhYmFzZU1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2VNYW5hZ2Vy
OjpvcGVuRGF0YWJhc2UpOgorICAgICAgICAqIFdlYkNvcmUub3JkZXI6CisgICAgICAgICogYmlu
ZGluZ3MvanMvQ29tbW9uVk0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29tbW9uVk1TbG93KToK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmluaXRpYWxpemVNYWluVGhyZWFkKToKKyAgICAgICAg
KFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmluaXRpYWxpemVUaHJlYWRpbmcpOiBEZWxldGVk
LgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBi
cmlkZ2Uvb2JqYy9XZWJTY3JpcHRPYmplY3QubW06CisgICAgICAgICgrW1dlYlNjcmlwdE9iamVj
dCBpbml0aWFsaXplXSk6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvU2hhcmVkQnVmZmVyQ29j
b2EubW06CisgICAgICAgICgrW1dlYkNvcmVTaGFyZWRCdWZmZXJEYXRhIGluaXRpYWxpemVdKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQubW06CisgICAgICAgIChS
dW5XZWJUaHJlYWQpOgorCiAyMDIwLTA2LTI3ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNv
bT4KIAogICAgICAgICBGaXggbWlzc2luZyBleGNlcHRpb24gY2hlY2sgaW4gY3JlYXRlSURCS2V5
RnJvbVZhbHVlKCkuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIJKHJldmlzaW9uIDI2MzYzMCkKKysr
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIJKHdvcmtpbmcgY29weSkKQEAgLTI1NDUsNyAr
MjU0NSw2IEBAIF9fWk43V2ViQ29yZTExTWVtb3J5Q2FjaGUzMnJlbW92ZUZyYWdtZW4KIF9fWk43
V2ViQ29yZTIwQ2FjaGVkUmVzb3VyY2VMb2FkZXIxMGNhblJlcXVlc3RFTlNfMTRDYWNoZWRSZXNv
dXJjZTRUeXBlRVJLTlNfNEtVUkxFYgogX19aTjdXZWJDb3JlMTZTY3JpcHRDb250cm9sbGVyNDJz
aG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3lFdgogX19aTjdXZWJDb3Jl
MTVKU0RPTVdpbmRvd0Jhc2U4Y29tbW9uVk1FdgotX19aTjdXZWJDb3JlMTZTY3JpcHRDb250cm9s
bGVyMTlpbml0aWFsaXplVGhyZWFkaW5nRXYKIF9fWk43V2ViQ29yZTE1RE9NV3JhcHBlcldvcmxk
QzFFUE4zSlNDMlZNRWIKIF9fWk4zV1RGOUhhc2hUYWJsZUlQTjdXZWJDb3JlMTVET01XcmFwcGVy
V29ybGRFUzNfTlNfMTdJZGVudGl0eUV4dHJhY3RvckVOU183UHRySGFzaElTM19FRU5TXzEwSGFz
aFRyYWl0c0lTM19FRVM4X0UzYWRkSU5TXzIySWRlbnRpdHlIYXNoVHJhbnNsYXRvcklTNl9FRVMz
X1MzX0VFTlNfMThIYXNoVGFibGVBZGRSZXN1bHRJTlNfMTdIYXNoVGFibGVJdGVyYXRvcklTM19T
M19TNF9TNl9TOF9TOF9FRUVFUktUMF9SS1QxXwogX19aTjNXVEY5SGFzaFRhYmxlSVBON1dlYkNv
cmUxNURPTVdyYXBwZXJXb3JsZEVTM19OU18xN0lkZW50aXR5RXh0cmFjdG9yRU5TXzdQdHJIYXNo
SVMzX0VFTlNfMTBIYXNoVHJhaXRzSVMzX0VFUzhfRTZyZWhhc2hFaQpJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZU1hbmFnZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VNYW5hZ2VyLmNw
cAkocmV2aXNpb24gMjYzNjMwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFz
ZS9EYXRhYmFzZU1hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTQsNyArMTk0LDExIEBA
IHZvaWQgRGF0YWJhc2VNYW5hZ2VyOjpyZW1vdmVQcm9wb3NlZERhdGEKIEV4Y2VwdGlvbk9yPFJl
ZjxEYXRhYmFzZT4+IERhdGFiYXNlTWFuYWdlcjo6b3BlbkRhdGFiYXNlKERvY3VtZW50JiBkb2N1
bWVudCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGV4cGVjdGVkVmVyc2lvbiwg
Y29uc3QgU3RyaW5nJiBkaXNwbGF5TmFtZSwgdW5zaWduZWQgZXN0aW1hdGVkU2l6ZSwgUmVmUHRy
PERhdGFiYXNlQ2FsbGJhY2s+JiYgY3JlYXRpb25DYWxsYmFjaykKIHsKICAgICBBU1NFUlQoaXNN
YWluVGhyZWFkKCkpOwotICAgIFNjcmlwdENvbnRyb2xsZXI6OmluaXRpYWxpemVUaHJlYWRpbmco
KTsKKworICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyBjYWxsIHRvIFNjcmlwdENvbnRyb2xsZXI6
OmluaXRpYWxpemVNYWluVGhyZWFkKCkuIFRoZQorICAgIC8vIG1haW4gdGhyZWFkIHNob3VsZCBo
YXZlIGJlZW4gaW5pdGlhbGl6ZWQgYnkgYSBXZWJLaXQgZW50cnlwb2ludCBhbHJlYWR5LgorICAg
IC8vIEFsc28sIGluaXRpYWxpemVNYWluVGhyZWFkKCkgZG9lcyBub3RoaW5nIG9uIGlPUy4KKyAg
ICBTY3JpcHRDb250cm9sbGVyOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogCiAgICAgYm9vbCBz
ZXRWZXJzaW9uSW5OZXdEYXRhYmFzZSA9ICFjcmVhdGlvbkNhbGxiYWNrOwogICAgIGF1dG8gb3Bl
blJlc3VsdCA9IG9wZW5EYXRhYmFzZUJhY2tlbmQoZG9jdW1lbnQsIG5hbWUsIGV4cGVjdGVkVmVy
c2lvbiwgZGlzcGxheU5hbWUsIGVzdGltYXRlZFNpemUsIHNldFZlcnNpb25Jbk5ld0RhdGFiYXNl
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NvbW1vblZNLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Db21tb25WTS5jcHAJKHJldmlzaW9u
IDI2MzYzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NvbW1vblZNLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNTAsNyArNTAsMTAgQEAgSlNDOjpWTSYgY29tbW9uVk1TbG93KCkKICAg
ICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogICAgIEFTU0VSVCghZ19jb21tb25WTU9yTnVsbCk7
CiAKLSAgICBTY3JpcHRDb250cm9sbGVyOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgLy8g
RklYTUU6IFJlbW92ZSB0aGlzIGNhbGwgdG8gU2NyaXB0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZU1h
aW5UaHJlYWQoKS4gVGhlCisgICAgLy8gbWFpbiB0aHJlYWQgc2hvdWxkIGhhdmUgYmVlbiBpbml0
aWFsaXplZCBieSBhIFdlYktpdCBlbnRyeXBvaW50IGFscmVhZHkuCisgICAgLy8gQWxzbywgaW5p
dGlhbGl6ZU1haW5UaHJlYWQoKSBkb2VzIG5vdGhpbmcgb24gaU9TLgorICAgIFNjcmlwdENvbnRy
b2xsZXI6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAKICAgICBhdXRvJiB2bSA9IEpTQzo6Vk06
OmNyZWF0ZShKU0M6OkxhcmdlSGVhcCkubGVha1JlZigpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcAkocmV2aXNpb24gMjYzNjMw
KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTgyLDEwICs4MiwxMCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogdXNp
bmcgbmFtZXNwYWNlIEpTQzsKIAotdm9pZCBTY3JpcHRDb250cm9sbGVyOjppbml0aWFsaXplVGhy
ZWFkaW5nKCkKK3ZvaWQgU2NyaXB0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKQog
ewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQotICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGlu
ZygpOworICAgIEpTQzo6aW5pdGlhbGl6ZSgpOwogICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJl
YWQoKTsKICNlbmRpZgogfQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
Q29udHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdENvbnRyb2xsZXIuaAkocmV2aXNpb24gMjYzNjMwKQorKysgU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTIsOSArMTEy
LDcgQEAgcHVibGljOgogICAgIC8vIFRoaXMgYXNzZXJ0cyB0aGF0IFVSTCBhcmd1bWVudCBpcyBh
IEphdmFTY3JpcHQgVVJMLgogICAgIHZvaWQgZXhlY3V0ZUphdmFTY3JpcHRVUkwoY29uc3QgVVJM
JiwgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiA9IG51bGxwdHIsIFNob3VsZFJlcGxhY2VEb2N1bWVu
dElmSmF2YVNjcmlwdFVSTCA9IFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCk7CiAKLSAg
ICAvLyBUaGlzIGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIGZyb20gdGhlIG1haW4gdGhyZWFkLiBJ
dCBpcyBzYWZlIHRvIGNhbGwgaXQgcmVwZWF0ZWRseS4KLSAgICAvLyBEYXJ3aW4gaXMgYW4gZXhj
ZXB0aW9uIHRvIHRoaXMgcnVsZTogaXQgaXMgT0sgdG8gY2FsbCB0aGlzIGZ1bmN0aW9uIGZyb20g
YW55IHRocmVhZCwgZXZlbiByZWVudHJhbnRseS4KLSAgICBzdGF0aWMgdm9pZCBpbml0aWFsaXpl
VGhyZWFkaW5nKCk7CisgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKIAog
ICAgIHZvaWQgbG9hZE1vZHVsZVNjcmlwdEluV29ybGQoTG9hZGFibGVNb2R1bGVTY3JpcHQmLCBj
b25zdCBTdHJpbmcmIG1vZHVsZU5hbWUsIFJlZjxNb2R1bGVGZXRjaFBhcmFtZXRlcnM+JiYsIERP
TVdyYXBwZXJXb3JsZCYpOwogICAgIHZvaWQgbG9hZE1vZHVsZVNjcmlwdChMb2FkYWJsZU1vZHVs
ZVNjcmlwdCYsIGNvbnN0IFN0cmluZyYgbW9kdWxlTmFtZSwgUmVmPE1vZHVsZUZldGNoUGFyYW1l
dGVycz4mJik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9XZWJTY3JpcHRPYmpl
Y3QubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYnJpZGdlL29iamMvV2ViU2NyaXB0
T2JqZWN0Lm1tCShyZXZpc2lvbiAyNjM2MzApCisrKyBTb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2Jq
Yy9XZWJTY3JpcHRPYmplY3QubW0JKHdvcmtpbmcgY29weSkKQEAgLTE2NCw3ICsxNjQsNyBAQCB2
b2lkIGRpc2Nvbm5lY3RXaW5kb3dXcmFwcGVyKFdlYlNjcmlwdE9iCiArICh2b2lkKWluaXRpYWxp
emUKIHsKICNpZiAhVVNFKFdFQl9USFJFQUQpCi0gICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5n
KCk7CisgICAgSlNDOjppbml0aWFsaXplKCk7CiAgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVh
ZCgpOwogI2VuZGlmCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TaGFy
ZWRCdWZmZXJDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9j
b2NvYS9TaGFyZWRCdWZmZXJDb2NvYS5tbQkocmV2aXNpb24gMjYzNjMwKQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY29jb2EvU2hhcmVkQnVmZmVyQ29jb2EubW0JKHdvcmtpbmcgY29weSkK
QEAgLTQ0LDcgKzQ0LDcgQEAgLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoRGF0YVNlZ21lbnQ6KGNv
bgogKyAodm9pZClpbml0aWFsaXplCiB7CiAjaWYgIVVTRShXRUJfVEhSRUFEKQotICAgIEpTQzo6
aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgIEpTQzo6aW5pdGlhbGl6ZSgpOwogICAgIFdURjo6
aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICNlbmRpZiAvLyAhVVNFKFdFQl9USFJFQUQpCiB9Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XZWJDb3JlVGhyZWFk
Lm1tCShyZXZpc2lvbiAyNjM2MzApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2Fr
L1dlYkNvcmVUaHJlYWQubW0JKHdvcmtpbmcgY29weSkKQEAgLTU4NCwxMSArNTg0LDExIEBAIHN0
YXRpYyB2b2lkKiBSdW5XZWJUaHJlYWQodm9pZCopCiB7CiAgICAgRmxvYXRpbmdQb2ludEVudmly
b25tZW50OjpzaW5nbGV0b24oKS5wcm9wYWdhdGVNYWluVGhyZWFkRW52aXJvbm1lbnQoKTsKIAot
ICAgIC8vIFdURjo6aW5pdGlhbGl6ZVdlYlRocmVhZCgpIG5lZWRzIHRvIGJlIGNhbGxlZCBiZWZv
cmUgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCkgc2luY2UgdGhlCisgICAgLy8gV1RGOjppbml0
aWFsaXplV2ViVGhyZWFkKCkgbmVlZHMgdG8gYmUgY2FsbGVkIGJlZm9yZSBKU0M6OmluaXRpYWxp
emUoKSBzaW5jZSB0aGUKICAgICAvLyBjb2RlIGludm9rZWQgYnkgdGhlIGxhdHRlciBuZWVkcyB0
byBrbm93IGlmIGl0J3MgcnVubmluZyBvbiB0aGUgV2ViVGhyZWFkLiBTZWUKICAgICAvLyA8cmRh
cjovL3Byb2JsZW0vODUwMjQ4Nz4uCiAgICAgV1RGOjppbml0aWFsaXplV2ViVGhyZWFkKCk7Ci0g
ICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFsaXplKCk7CiAg
ICAgCiAgICAgLy8gTWFrZSBzdXJlIHRoYXQgdGhlIFdlYlRocmVhZCBhbmQgdGhlIG1haW4gdGhy
ZWFkIHNoYXJlIHRoZSBzYW1lIFRocmVhZEdsb2JhbERhdGEgb2JqZWN0cy4KICAgICBXZWJDb3Jl
Ojp0aHJlYWRHbG9iYWxEYXRhKCkuc2V0V2ViQ29yZVRocmVhZERhdGEoKTsKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNjM2MzApCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA2LTI3ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJl
bkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVuYW1lIGluaXRpYWxpemVUaHJlYWRpbmcgdG8gaW5p
dGlhbGl6ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjEzNjc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBTaGFyZWQvQVBJL2MvV0tTdHJpbmcuY3BwOgorICAgICAgICAoV0tTdHJpbmdDb3B5SlNTdHJp
bmcpOgorICAgICAgICAqIFNoYXJlZC9Db2NvYS9XZWJLaXQySW5pdGlhbGl6ZUNvY29hLm1tOgor
ICAgICAgICAoV2ViS2l0OjpydW5Jbml0aWFsaXphdGlvbkNvZGUpOgorICAgICAgICAqIFNoYXJl
ZC9XZWJLaXQySW5pdGlhbGl6ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkluaXRpYWxpemVXZWJL
aXQyKToKKwogMjAyMC0wNi0yNyAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAK
ICAgICAgICAgUmV2ZXJ0IHIyNjI2NTQgYmVjYXVzZSBpdCBjYXVzZWQgPHJkYXI6Ly9wcm9ibGVt
LzY0NjY0MTU2Pi4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYktpdDJJbml0aWFsaXpl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJLaXQySW5pdGlhbGl6
ZS5jcHAJKHJldmlzaW9uIDI2MzYzMCkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYktpdDJJ
bml0aWFsaXplLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAogdm9pZCBJbml0aWFsaXplV2ViS2l0MigpCiB7Ci0gICAgSlNDOjppbml0aWFs
aXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFsaXplKCk7CiAgICAgV1RGOjppbml0aWFs
aXplTWFpblRocmVhZCgpOwogICAgIEF0b21TdHJpbmc6OmluaXQoKTsKIApJbmRleDogU291cmNl
L1dlYktpdC9TaGFyZWQvQVBJL2MvV0tTdHJpbmcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvU2hhcmVkL0FQSS9jL1dLU3RyaW5nLmNwcAkocmV2aXNpb24gMjYzNjMwKQorKysgU291
cmNlL1dlYktpdC9TaGFyZWQvQVBJL2MvV0tTdHJpbmcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
MzMsNiArMTMzLDYgQEAgV0tTdHJpbmdSZWYgV0tTdHJpbmdDcmVhdGVXaXRoSlNTdHJpbmcoSgog
CiBKU1N0cmluZ1JlZiBXS1N0cmluZ0NvcHlKU1N0cmluZyhXS1N0cmluZ1JlZiBzdHJpbmdSZWYp
CiB7Ci0gICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFsaXpl
KCk7CiAgICAgcmV0dXJuIE9wYXF1ZUpTU3RyaW5nOjp0cnlDcmVhdGUoV2ViS2l0Ojp0b0ltcGwo
c3RyaW5nUmVmKS0+c3RyaW5nKCkpLmxlYWtSZWYoKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQv
U2hhcmVkL0NvY29hL1dlYktpdDJJbml0aWFsaXplQ29jb2EubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvV2ViS2l0MkluaXRpYWxpemVDb2NvYS5tbQkocmV2aXNp
b24gMjYzNjMwKQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvV2ViS2l0MkluaXRpYWxp
emVDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtNTIsNyArNTIsNyBAQCBzdGF0aWMgdm9pZCBy
dW5Jbml0aWFsaXphdGlvbkNvZGUodm9pZCogCiAgICAgSW5pdFdlYkNvcmVUaHJlYWRTeXN0ZW1J
bnRlcmZhY2UoKTsKICNlbmRpZgogCi0gICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Cisg
ICAgSlNDOjppbml0aWFsaXplKCk7CiAgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwog
CiAgICAgV1RGOjpSZWZDb3VudGVkQmFzZTo6ZW5hYmxlVGhyZWFkaW5nQ2hlY2tzR2xvYmFsbHko
KTsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MzYzMCkKKysr
IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDUwIEBACisyMDIwLTA2LTI3ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+
CisKKyAgICAgICAgUmVuYW1lIGluaXRpYWxpemVUaHJlYWRpbmcgdG8gaW5pdGlhbGl6ZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzNjc0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBIaXN0b3J5L1dl
YkJhY2tGb3J3YXJkTGlzdC5tbToKKyAgICAgICAgKCtbV2ViQmFja0ZvcndhcmRMaXN0IGluaXRp
YWxpemVdKToKKyAgICAgICAgKiBIaXN0b3J5L1dlYkhpc3RvcnlJdGVtLm1tOgorICAgICAgICAo
K1tXZWJIaXN0b3J5SXRlbSBpbml0aWFsaXplXSk6CisgICAgICAgICogTWlzYy9XZWJDYWNoZS5t
bToKKyAgICAgICAgKCtbV2ViQ2FjaGUgaW5pdGlhbGl6ZV0pOgorICAgICAgICAqIE1pc2MvV2Vi
RWxlbWVudERpY3Rpb25hcnkubW06CisgICAgICAgICgrW1dlYkVsZW1lbnREaWN0aW9uYXJ5IGlu
aXRpYWxpemVdKToKKyAgICAgICAgKiBNaXNjL1dlYkljb25EYXRhYmFzZS5tbToKKyAgICAgICAg
KiBNaXNjL1dlYlN0cmluZ1RydW5jYXRvci5tbToKKyAgICAgICAgKCtbV2ViU3RyaW5nVHJ1bmNh
dG9yIGluaXRpYWxpemVdKToKKyAgICAgICAgKiBQbHVnaW5zL0hvc3RlZC9XZWJIb3N0ZWROZXRz
Y2FwZVBsdWdpblZpZXcubW06CisgICAgICAgICgrW1dlYkhvc3RlZE5ldHNjYXBlUGx1Z2luVmll
dyBpbml0aWFsaXplXSk6CisgICAgICAgICogUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5W
aWV3Lm1tOgorICAgICAgICAqIFBsdWdpbnMvV2ViQmFzZVBsdWdpblBhY2thZ2UubW06CisgICAg
ICAgICgrW1dlYkJhc2VQbHVnaW5QYWNrYWdlIGluaXRpYWxpemVdKToKKyAgICAgICAgKiBQbHVn
aW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbToKKyAgICAgICAgKCtbV2ViTmV0c2NhcGVQbHVn
aW5WaWV3IGluaXRpYWxpemVdKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JD
bGllbnQubW06CisgICAgICAgICgrW1dlYlVuZG9TdGVwIGluaXRpYWxpemVdKToKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbToKKyAgICAgICAgKCtbV2Vi
RnJhbWVQb2xpY3lMaXN0ZW5lciBpbml0aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9XZWJB
cmNoaXZlLm1tOgorICAgICAgICAoK1tXZWJBcmNoaXZlUHJpdmF0ZSBpbml0aWFsaXplXSk6Cisg
ICAgICAgICogV2ViVmlldy9XZWJEYXRhU291cmNlLm1tOgorICAgICAgICAoK1tXZWJEYXRhU291
cmNlIGluaXRpYWxpemVdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYkhUTUxWaWV3Lm1tOgorICAg
ICAgICAoK1tXZWJIVE1MVmlld1ByaXZhdGUgaW5pdGlhbGl6ZV0pOgorICAgICAgICAoK1tXZWJI
VE1MVmlldyBpbml0aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5t
bToKKyAgICAgICAgKCtbV2ViUHJlZmVyZW5jZXMgaW5pdGlhbGl6ZV0pOgorICAgICAgICAqIFdl
YlZpZXcvV2ViUmVzb3VyY2UubW06CisgICAgICAgICgrW1dlYlJlc291cmNlUHJpdmF0ZSBpbml0
aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9XZWJUZXh0SXRlcmF0b3IubW06CisgICAgICAg
ICgrW1dlYlRleHRJdGVyYXRvclByaXZhdGUgaW5pdGlhbGl6ZV0pOgorICAgICAgICAqIFdlYlZp
ZXcvV2ViVmlldy5tbToKKyAgICAgICAgKCtbV2ViVmlldyBpbml0aWFsaXplXSk6CisgICAgICAg
ICogV2ViVmlldy9XZWJWaWV3RGF0YS5tbToKKyAgICAgICAgKCtbV2ViVmlld1ByaXZhdGUgaW5p
dGlhbGl6ZV0pOgorCiAyMDIwLTA2LTI2ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5j
b20+CiAKICAgICAgICAgV2ViU2VjdXJpdHlPcmlnaW4gbmVlZHMgdG8gaW5pdGlhbGl6ZSB0aGUg
bWFpbiB0aHJlYWQKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0hpc3RvcnkvV2ViQmFj
a0ZvcndhcmRMaXN0Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0hp
c3RvcnkvV2ViQmFja0ZvcndhcmRMaXN0Lm1tCShyZXZpc2lvbiAyNjM2MzApCisrKyBTb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9IaXN0b3J5L1dlYkJhY2tGb3J3YXJkTGlzdC5tbQkod29ya2luZyBj
b3B5KQpAQCAtOTgsNyArOTgsNyBAQCAtIChpZClpbml0V2l0aEJhY2tGb3J3YXJkTGlzdDooUmVm
PEJhY2tGCiArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkK
LSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsK
ICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAjZW5kaWYKIH0KSW5kZXg6IFNvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL0hpc3RvcnkvV2ViSGlzdG9yeUl0ZW0ubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvSGlzdG9yeS9XZWJIaXN0b3J5SXRlbS5tbQkocmV2
aXNpb24gMjYzNjMwKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvSGlzdG9yeS9XZWJIaXN0
b3J5SXRlbS5tbQkod29ya2luZyBjb3B5KQpAQCAtMTI1LDcgKzEyNSw3IEBAIHZvaWQgV0tOb3Rp
ZnlIaXN0b3J5SXRlbUNoYW5nZWQoSGlzdG9yeUkKICsgKHZvaWQpaW5pdGlhbGl6ZQogewogI2lm
ICFQTEFURk9STShJT1NfRkFNSUxZKQotICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwor
ICAgIEpTQzo6aW5pdGlhbGl6ZSgpOwogICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsK
ICNlbmRpZgogfQpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJDYWNoZS5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYkNhY2hlLm1t
CShyZXZpc2lvbiAyNjM2MzApCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYkNh
Y2hlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02Myw3ICs2Myw3IEBAIGNsYXNzIERlZmF1bHRTdG9y
YWdlU2Vzc2lvblByb3ZpZGVyIDogcHUKICsgKHZvaWQpaW5pdGlhbGl6ZQogewogI2lmICFQTEFU
Rk9STShJT1NfRkFNSUxZKQotICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgIEpT
Qzo6aW5pdGlhbGl6ZSgpOwogICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICNlbmRp
ZgogfQpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJFbGVtZW50RGljdGlv
bmFyeS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYkVs
ZW1lbnREaWN0aW9uYXJ5Lm1tCShyZXZpc2lvbiAyNjM2MzApCisrKyBTb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9NaXNjL1dlYkVsZW1lbnREaWN0aW9uYXJ5Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC02
Nyw3ICs2Nyw3IEBAIHN0YXRpYyB2b2lkIGNhY2hlVmFsdWVGb3JLZXkoY29uc3Qgdm9pZCAKICsg
KHZvaWQpaW5pdGlhbGl6ZQogewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQotICAgIEpTQzo6
aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgIEpTQzo6aW5pdGlhbGl6ZSgpOwogICAgIFdURjo6
aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICNlbmRpZgogfQpJbmRleDogU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvTWlzYy9XZWJJY29uRGF0YWJhc2UubW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvTWlzYy9XZWJJY29uRGF0YWJhc2UubW0JKHJldmlzaW9uIDI2MzYzMCkK
KysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViSWNvbkRhdGFiYXNlLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC05Nyw3ICs5Nyw3IEBAIEFMTE9XX0RFUFJFQ0FURURfSU1QTEVNRU5UQVRJ
T05TX0VORAogCiArICh2b2lkKWluaXRpYWxpemUKIHsKLSAgICBKU0M6OmluaXRpYWxpemVUaHJl
YWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsKICAgICBXVEY6OmluaXRpYWxpemVNYWlu
VGhyZWFkKCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViU3Ry
aW5nVHJ1bmNhdG9yLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01p
c2MvV2ViU3RyaW5nVHJ1bmNhdG9yLm1tCShyZXZpc2lvbiAyNjM2MzApCisrKyBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9NaXNjL1dlYlN0cmluZ1RydW5jYXRvci5tbQkod29ya2luZyBjb3B5KQpA
QCAtNTAsNyArNTAsNyBAQCBzdGF0aWMgV2ViQ29yZTo6Rm9udENhc2NhZGUmIGZvbnRGcm9tTlNG
CiAKICsgKHZvaWQpaW5pdGlhbGl6ZQogewotICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygp
OworICAgIEpTQzo6aW5pdGlhbGl6ZSgpOwogICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQo
KTsKIH0KIApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1Z2lucy9XZWJCYXNlTmV0
c2NhcGVQbHVnaW5WaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1BsdWdpbnMvV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldy5tbQkocmV2aXNpb24gMjYzNjMwKQor
KysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5W
aWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC03MCw3ICs3MCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCiArICh2b2lkKWluaXRpYWxpemUKIHsKLSAgICBKU0M6OmluaXRpYWxpemVUaHJl
YWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsKICAgICBXVEY6OmluaXRpYWxpemVNYWlu
VGhyZWFkKCk7CiAgICAgV2ViS2l0OjpzZW5kVXNlckNoYW5nZU5vdGlmaWNhdGlvbnMoKTsKIH0K
SW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvV2ViQmFzZVBsdWdpblBhY2th
Z2UubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1Z2lucy9XZWJC
YXNlUGx1Z2luUGFja2FnZS5tbQkocmV2aXNpb24gMjYzNjMwKQorKysgU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvUGx1Z2lucy9XZWJCYXNlUGx1Z2luUGFja2FnZS5tbQkod29ya2luZyBjb3B5KQpA
QCAtNTksNyArNTksNyBAQCAtIChOU0FycmF5ICopX3dlYl9sb3dlcmNhc2VTdHJpbmdzOwogKyAo
dm9pZClpbml0aWFsaXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgSlNDOjpp
bml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFsaXplKCk7CiAgICAgV1RGOjpp
bml0aWFsaXplTWFpblRocmVhZCgpOwogI2VuZGlmCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQko
cmV2aXNpb24gMjYzNjMwKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1Z2lucy9XZWJO
ZXRzY2FwZVBsdWdpblZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTE2Miw3ICsxNjIsNyBAQCAt
IChOUEVycm9yKWxvYWRSZXF1ZXN0OihOU011dGFibGVVUkxSZXF1CiAKICsgKHZvaWQpaW5pdGlh
bGl6ZQogewotICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgIEpTQzo6aW5pdGlh
bGl6ZSgpOwogICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICAgICBzZW5kVXNlckNo
YW5nZU5vdGlmaWNhdGlvbnMoKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1Bs
dWdpbnMvSG9zdGVkL1dlYkhvc3RlZE5ldHNjYXBlUGx1Z2luVmlldy5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL0hvc3RlZC9XZWJIb3N0ZWROZXRzY2Fw
ZVBsdWdpblZpZXcubW0JKHJldmlzaW9uIDI2MzYzMCkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1BsdWdpbnMvSG9zdGVkL1dlYkhvc3RlZE5ldHNjYXBlUGx1Z2luVmlldy5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtMTA1LDcgKzEwNSw3IEBAIC0gKEJPT0wpX2hvc3RzTGF5ZXJzSW5XaW5kb3dT
ZXJ2ZXI7CiArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkK
LSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsK
ICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAjZW5kaWYKICAgICBzZW5kVXNlckNo
YW5nZU5vdGlmaWNhdGlvbnMoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW0JKHJldmlzaW9uIDI2
MzYzMCkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRv
ckNsaWVudC5tbQkod29ya2luZyBjb3B5KQpAQCAtMTM4LDcgKzEzOCw3IEBAIC0gKFVuZG9TdGVw
JilzdGVwOwogKyAodm9pZClpbml0aWFsaXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkp
Ci0gICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFsaXplKCk7
CiAgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogI2VuZGlmCiB9CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJGcmFtZUxvYWRlckNsaWVudC5tbQkocmV2aXNpb24gMjYzNjMwKQorKysgU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW0JKHdvcmtp
bmcgY29weSkKQEAgLTIzNDIsNyArMjM0Miw3IEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6
OmZpbmlzaGVkTG9hZGkKICsgKHZvaWQpaW5pdGlhbGl6ZQogewogI2lmICFQTEFURk9STShJT1Nf
RkFNSUxZKQotICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgIEpTQzo6aW5pdGlh
bGl6ZSgpOwogICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICNlbmRpZgogfQpJbmRl
eDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJBcmNoaXZlLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViQXJjaGl2ZS5tbQkocmV2
aXNpb24gMjYzNjMwKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJBcmNo
aXZlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02OSw3ICs2OSw3IEBAIC0gKHZvaWQpc2V0Q29yZUFy
Y2hpdmU6KFJlZjxMZWdhY3lXZWJBcmMKICsgKHZvaWQpaW5pdGlhbGl6ZQogewogI2lmICFQTEFU
Rk9STShJT1NfRkFNSUxZKQotICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgIEpT
Qzo6aW5pdGlhbGl6ZSgpOwogICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICNlbmRp
ZgogfQpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJEYXRhU291cmNl
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViRGF0
YVNvdXJjZS5tbQkocmV2aXNpb24gMjYzNjMwKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJEYXRhU291cmNlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xNTMsNyArMTUzLDcg
QEAgKyAodm9pZClpbml0aWFsaXplCiB7CiAgICAgaWYgKHNlbGYgPT0gW1dlYkRhdGFTb3VyY2Ug
Y2xhc3NdKSB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgICAgIEpTQzo6aW5pdGlh
bGl6ZVRocmVhZGluZygpOworICAgICAgICBKU0M6OmluaXRpYWxpemUoKTsKICAgICAgICAgV1RG
Ojppbml0aWFsaXplTWFpblRocmVhZCgpOwogI2VuZGlmCiAgICAgfQpJbmRleDogU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCShyZXZpc2lvbiAyNjM2
MzApCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0xMDMxLDcgKzEwMzEsNyBAQCArICh2b2lkKWluaXRpYWxpemUKICAg
ICAvLyBGSVhNRTogU2hvdWxkbid0IGFsbCBvZiB0aGlzIG1vdmUgaW50byArW1dlYkhUTUxWaWV3
IGluaXRpYWxpemVdPwogICAgIC8vIEFuZCBzb21lIG9mIHRoaXMgd29yayBpcyBsaWtlbHkgcmVk
dW5kYW50IHNpbmNlICtbV2ViSFRNTFZpZXcgaW5pdGlhbGl6ZV0gaXMgZ3VhcmFudGVlZCB0byBy
dW4gZmlyc3QuCiAKLSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6Omlu
aXRpYWxpemUoKTsKICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAKICAgICBpZiAo
IW9sZFNldEN1cnNvckZvck1vdXNlTG9jYXRpb25JTVApIHsKQEAgLTI1NjUsNyArMjU2NSw3IEBA
ICsgKHZvaWQpaW5pdGlhbGl6ZQogewogICAgIFtOU0FwcCByZWdpc3RlclNlcnZpY2VzTWVudVNl
bmRUeXBlczpbW3NlbGYgY2xhc3NdIF9zZWxlY3Rpb25QYXN0ZWJvYXJkVHlwZXNdIHJldHVyblR5
cGVzOltbc2VsZiBjbGFzc10gX2luc2VydGFibGVQYXN0ZWJvYXJkVHlwZXNdXTsKIAotICAgIEpT
Qzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgIEpTQzo6aW5pdGlhbGl6ZSgpOwogICAgIFdU
Rjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKIH0KIApJbmRleDogU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCShyZXZpc2lvbiAyNjM2MzAp
CisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0zODcsNyArMzg3LDcgQEAgKyAoV2ViUHJlZmVyZW5jZXMgKilzdGFu
ZGFyZFByZWZlcmVuY2VzCiArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9T
X0ZBTUlMWSkKLSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRp
YWxpemUoKTsKICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAgICAgYm9vbCBhdHRh
Y2htZW50RWxlbWVudEVuYWJsZWQgPSBNYWNBcHBsaWNhdGlvbjo6aXNBcHBsZU1haWwoKTsKICAg
ICBib29sIHdlYlNRTEVuYWJsZWQgPSBmYWxzZTsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViUmVzb3VyY2UubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJSZXNvdXJjZS5tbQkocmV2aXNpb24gMjYzNjMwKQorKysgU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJSZXNvdXJjZS5tbQkod29ya2luZyBjb3B5
KQpAQCAtNjcsNyArNjcsNyBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhDb3JlUmVzb3VyY2U6
KFJlCiArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAg
ICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsKICAg
ICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAjZW5kaWYKIH0KSW5kZXg6IFNvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVGV4dEl0ZXJhdG9yLm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVGV4dEl0ZXJhdG9yLm1tCShyZXZp
c2lvbiAyNjM2MzApCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlRleHRJ
dGVyYXRvci5tbQkod29ya2luZyBjb3B5KQpAQCAtNDcsNyArNDcsNyBAQCBAaW50ZXJmYWNlIFdl
YlRleHRJdGVyYXRvclByaXZhdGUgOiBOU09iCiArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAh
UExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAg
ICBKU0M6OmluaXRpYWxpemUoKTsKICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAj
ZW5kaWYKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0JKHJldmlzaW9uIDI2MzYzMCkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtNTU1Nyw3ICs1NTU3LDcgQEAgKyAodm9pZClp
bml0aWFsaXplCiAgICAgaW5pdGlhbGl6ZWQgPSBZRVM7CiAKICNpZiAhUExBVEZPUk0oSU9TX0ZB
TUlMWSkKLSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxp
emUoKTsKICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAjZW5kaWYKIApJbmRleDog
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3RGF0YS5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdEYXRhLm1tCShyZXZp
c2lvbiAyNjM2MzApCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdE
YXRhLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xNjcsNyArMTY3LDcgQEAgLSAodm9pZClfd2luZG93
VmlzaWJpbGl0eUNoYW5nZWQ6KE5TTm90aQogKyAodm9pZClpbml0aWFsaXplCiB7CiAjaWYgIVBM
QVRGT1JNKElPU19GQU1JTFkpCi0gICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAg
SlNDOjppbml0aWFsaXplKCk7CiAgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogI2Vu
ZGlmCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjM2MzAp
CisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwxNSBAQAorMjAyMC0wNi0yNyAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUu
Y29tPgorCisgICAgICAgIFJlbmFtZSBpbml0aWFsaXplVGhyZWFkaW5nIHRvIGluaXRpYWxpemUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzY3NAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViS2l0
Q2xhc3NGYWN0b3J5LmNwcDoKKyAgICAgICAgKFdlYktpdENsYXNzRmFjdG9yeTo6V2ViS2l0Q2xh
c3NGYWN0b3J5KToKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6Oldl
YlZpZXcpOgorCiAyMDIwLTA2LTI2ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+
CiAKICAgICAgICAgSW5pdGlhbGl6aW5nIHRoZSBtYWluIHRocmVhZCBzaG91bGQgaW5pdGlhbGl6
ZSB0aGUgbWFpbiBydW4gbG9vcApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViS2l0
Q2xhc3NGYWN0b3J5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9X
ZWJLaXRDbGFzc0ZhY3RvcnkuY3BwCShyZXZpc2lvbiAyNjM2MzApCisrKyBTb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9XZWJLaXRDbGFzc0ZhY3RvcnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Myw3
ICs2Myw3IEBACiBXZWJLaXRDbGFzc0ZhY3Rvcnk6OldlYktpdENsYXNzRmFjdG9yeShDTFNJRCB0
YXJnZXRDbGFzcykKICAgICA6IG1fdGFyZ2V0Q2xhc3ModGFyZ2V0Q2xhc3MpCiB7Ci0gICAgSlND
Ojppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFsaXplKCk7CiAgICAgV1RG
Ojppbml0aWFsaXplTWFpblRocmVhZCgpOwogCiAgICAgZ0NsYXNzQ291bnQrKzsKSW5kZXg6IFNv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCShyZXZpc2lvbiAyNjM2MzApCisrKyBTb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIwLDcgKzQy
MCw3IEBAIGJvb2wgV2ViVmlldzo6c19hbGxvd1NpdGVTcGVjaWZpY0hhY2tzID0KIAogV2ViVmll
dzo6V2ViVmlldygpCiB7Ci0gICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlND
Ojppbml0aWFsaXplKCk7CiAgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogICAgIFdU
Rjo6c2V0UHJvY2Vzc1ByaXZpbGVnZXMoYWxsUHJpdmlsZWdlcygpKTsKICAgICBXZWJDb3JlOjpO
ZXR3b3JrU3RvcmFnZVNlc3Npb246OnBlcm1pdFByb2Nlc3NUb1VzZUNvb2tpZUFQSSh0cnVlKTsK
SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI2MzYzMCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDI1IEBACisyMDIwLTA2LTI3ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+
CisKKyAgICAgICAgUmVuYW1lIGluaXRpYWxpemVUaHJlYWRpbmcgdG8gaW5pdGlhbGl6ZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzNjc0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYkNvcmUvQXBwbGljYXRpb25NYW5pZmVzdFBhcnNlci5jcHA6CisgICAgICAg
IChBcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyVGVzdDo6U2V0VXApOgorICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwOgorICAgICAg
ICAoVGVzdFdlYktpdEFQSTo6Q29tcGxleFRleHRDb250cm9sbGVyVGVzdDo6U2V0VXApOgorICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9Db250ZW50RXh0ZW5zaW9ucy5jcHA6
CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpDb250ZW50RXh0ZW5zaW9uVGVzdDo6U2V0VXApOgor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9TdHJpbmdVdGlsaXRpZXMubW06
CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYkNvcmUvY29jb2EvV2ViQ29yZU5TVVJMU2Vzc2lvbi5tbToKKyAgICAgICAgKFRl
c3RXZWJLaXRBUEk6OldlYkNvcmVOU1VSTFNlc3Npb25UZXN0OjpTZXRVcCk6CisgICAgICAgICog
VGVzdFdlYktpdEFQSS9nbGliL1dlYktpdEdMaWIvV2ViS2l0VGVzdFNlcnZlci5jcHA6CisgICAg
ICAgIChXZWJLaXRUZXN0U2VydmVyOjpXZWJLaXRUZXN0U2VydmVyKToKKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRy
b2xsZXI6OmluaXRpYWxpemUpOgorCiAyMDIwLTA2LTI3ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVz
QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZlcnQgcjI2MjY1NCBiZWNhdXNlIGl0IGNhdXNlZCA8
cmRhcjovL3Byb2JsZW0vNjQ2NjQxNTY+LgpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJDb3JlL0FwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9BcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2Vy
LmNwcAkocmV2aXNpb24gMjYzNjMwKQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJD
b3JlL0FwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3
ICs1Niw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBTZXRVcCgpCiAgICAgewotICAg
ICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICAgICAgSlNDOjppbml0aWFsaXpl
KCk7CiAgICAgICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKIAogICAgICAgICBtX21h
bmlmZXN0VVJMID0geyB7IH0sICJodHRwczovL2V4YW1wbGUuY29tL21hbmlmZXN0Lmpzb24iIH07
CkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ29tcGxleFRleHRDb250
cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNv
cmUvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcAkocmV2aXNpb24gMjYzNjMwKQorKysgVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcgQEAgY2xhc3MgQ29tcGxleFRleHRDb250cm9sbGVy
VGVzdCA6IHB1YmxpYwogcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBTZXRVcCgpCiAgICAgewot
ICAgICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICAgICAgSlNDOjppbml0aWFs
aXplKCk7CiAgICAgICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICAgICB9CiB9OwpJ
bmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0NvbnRlbnRFeHRlbnNpb25z
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ29u
dGVudEV4dGVuc2lvbnMuY3BwCShyZXZpc2lvbiAyNjM2MzApCisrKyBUb29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYkNvcmUvQ29udGVudEV4dGVuc2lvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC03NSw3ICs3NSw3IEBAIGNsYXNzIENvbnRlbnRFeHRlbnNpb25UZXN0IDogcHVibGljIHRlc3QK
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgU2V0VXAoKQogICAgIHsKLSAgICAgICAgSlNDOjpp
bml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgICAgIEpTQzo6aW5pdGlhbGl6ZSgpOwogICAgICAg
ICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAgICAgfQogfTsKSW5kZXg6IFRvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9TdHJpbmdVdGlsaXRpZXMubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL1N0cmluZ1V0aWxpdGllcy5tbQko
cmV2aXNpb24gMjYzNjMwKQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL1N0
cmluZ1V0aWxpdGllcy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzUsNyArMzUsNyBAQCBuYW1lc3Bh
Y2UgVGVzdFdlYktpdEFQSSB7CiAKIFRFU1QoV2ViQ29yZSwgV2lsZGNhcmRTdHJpbmdNYXRjaGlu
ZykKIHsKLSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxp
emUoKTsKIAogICAgIFN0cmluZyB3aWxkY2FyZFN0cmluZyA9ICJhKmIiOwogICAgIEVYUEVDVF9U
UlVFKHN0cmluZ01hdGNoZXNXaWxkY2FyZFN0cmluZygiYWFhYWJiIiwgImEqYiIpKTsKSW5kZXg6
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9XZWJDb3JlTlNVUkxTZXNz
aW9uLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9j
b2NvYS9XZWJDb3JlTlNVUkxTZXNzaW9uLm1tCShyZXZpc2lvbiAyNjM2MzApCisrKyBUb29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29jb2EvV2ViQ29yZU5TVVJMU2Vzc2lvbi5tbQko
d29ya2luZyBjb3B5KQpAQCAtMTE0LDcgKzExNCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgU2V0VXAoKQogICAgIHsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgICAgICBKU0M6
OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICAgICAgSlNDOjppbml0aWFsaXplKCk7CiAjZW5k
aWYKICAgICAgICAgdmlldyA9IFtbV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU1plcm9S
ZWN0XTsKICAgICAgICAgdmlldy5mcmFtZUxvYWREZWxlZ2F0ZSA9IFtbW1Rlc3ROU1VSTFNlc3Np
b25Mb2FkZXJEZWxlZ2F0ZSBhbGxvY10gaW5pdF0gYXV0b3JlbGVhc2VdOwpJbmRleDogVG9vbHMv
VGVzdFdlYktpdEFQSS9nbGliL1dlYktpdEdMaWIvV2ViS2l0VGVzdFNlcnZlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9nbGliL1dlYktpdEdMaWIvV2ViS2l0VGVzdFNl
cnZlci5jcHAJKHJldmlzaW9uIDI2MzYzMCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvZ2xpYi9X
ZWJLaXRHTGliL1dlYktpdFRlc3RTZXJ2ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsy
Nyw3IEBACiBXZWJLaXRUZXN0U2VydmVyOjpXZWJLaXRUZXN0U2VydmVyKFNlcnZlck9wdGlvbnMg
b3B0aW9ucykKIHsKICAgICBpZiAob3B0aW9ucyAmIFNlcnZlclJ1bkluVGhyZWFkKSB7Ci0gICAg
ICAgIFdURjo6aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgICAgICBXVEY6OmluaXRpYWxpemUo
KTsKICAgICAgICAgbV9xdWV1ZSA9IFdvcmtRdWV1ZTo6Y3JlYXRlKCJXZWJLaXRUZXN0U2VydmVy
Iik7CiAgICAgfQogCkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVy
LmNwcAkocmV2aXNpb24gMjYzNjMwKQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29u
dHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0NCw3ICs0NDQsNyBAQCB2b2lkIFRlc3RD
b250cm9sbGVyOjppbml0aWFsaXplKGludCBhcmdjCiB7CiAgICAgQXV0b2RyYWluZWRQb29sIHBv
b2w7CiAKLSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxp
emUoKTsKICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAgICAgV1RGOjpzZXRQcm9j
ZXNzUHJpdmlsZWdlcyhhbGxQcml2aWxlZ2VzKCkpOwogCg==
</data>
<flag name="commit-queue"
          id="418374"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403006</attachid>
            <date>2020-06-28 12:16:01 -0700</date>
            <delta_ts>2020-06-28 13:55:14 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-213674-20200628121601.patch</filename>
            <type>text/plain</type>
            <size>53131</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjYzNjMzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU5IEBA
CisyMDIwLTA2LTI4ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmVuYW1lIGluaXRpYWxpemVUaHJlYWRpbmcgdG8gaW5pdGlhbGl6ZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzNjc0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTWFyayBMYW0uCisKKyAgICAgICAgKiBBUEkvSlNDbGFzc1JlZi5jcHA6CisgICAg
ICAgICogQVBJL0pTQ29udGV4dFJlZi5jcHA6CisgICAgICAgIChKU0NvbnRleHRHcm91cENyZWF0
ZSk6CisgICAgICAgIChKU0dsb2JhbENvbnRleHRDcmVhdGUpOgorICAgICAgICAoSlNHbG9iYWxD
b250ZXh0Q3JlYXRlSW5Hcm91cCk6CisgICAgICAgICogQVBJL0pTT2JqZWN0UmVmLmNwcDoKKyAg
ICAgICAgKEpTQ2xhc3NDcmVhdGUpOgorICAgICAgICAqIEFQSS9KU1N0cmluZ1JlZi5jcHA6Cisg
ICAgICAgIChKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKToKKyAgICAgICAgKEpTU3RyaW5n
Q3JlYXRlV2l0aFVURjhDU3RyaW5nKToKKyAgICAgICAgKEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJh
Y3RlcnNOb0NvcHkpOgorICAgICAgICAqIEFQSS9KU1N0cmluZ1JlZkNGLmNwcDoKKyAgICAgICAg
KEpTU3RyaW5nQ3JlYXRlV2l0aENGU3RyaW5nKToKKyAgICAgICAgKiBBUEkvdGVzdHMvQ29tcGFy
ZUFuZFN3YXBUZXN0LmNwcDoKKyAgICAgICAgKHRlc3RDb21wYXJlQW5kU3dhcCk6CisgICAgICAg
ICogQVBJL3Rlc3RzL0V4ZWN1dGlvblRpbWVMaW1pdFRlc3QuY3BwOgorICAgICAgICAodGVzdEV4
ZWN1dGlvblRpbWVMaW1pdCk6CisgICAgICAgICogQVBJL3Rlc3RzL0Z1bmN0aW9uT3ZlcnJpZGVz
VGVzdC5jcHA6CisgICAgICAgICh0ZXN0RnVuY3Rpb25PdmVycmlkZXMpOgorICAgICAgICAqIEFQ
SS90ZXN0cy9NdWx0aXRocmVhZGVkTXVsdGlWTUV4ZWN1dGlvblRlc3QuY3BwOgorICAgICAgICAo
c3RhcnRNdWx0aXRocmVhZGVkTXVsdGlWTUV4ZWN1dGlvblRlc3QpOgorICAgICAgICAqIEFQSS90
ZXN0cy9QaW5nUG9uZ1N0YWNrT3ZlcmZsb3dUZXN0LmNwcDoKKyAgICAgICAgKHRlc3RQaW5nUG9u
Z1N0YWNrT3ZlcmZsb3cpOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLm9yZGVyOgorICAgICAg
ICAqIGFzc2VtYmxlci90ZXN0bWFzbS5jcHA6CisgICAgICAgIChKU0M6OnJ1bik6CisgICAgICAg
ICogYjMvYWlyL3Rlc3RhaXIuY3BwOgorICAgICAgICAobWFpbik6CisgICAgICAgICogYjMvdGVz
dGIzXzEuY3BwOgorICAgICAgICAobWFpbik6CisgICAgICAgICogZGZnL3Rlc3RkZmcuY3BwOgor
ICAgICAgICAobWFpbik6CisgICAgICAgICogZHluYmVuY2guY3BwOgorICAgICAgICAobWFpbik6
CisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9jb2NvYS9SZW1vdGVJbnNwZWN0b3JDb2NvYS5t
bToKKyAgICAgICAgKEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yOjpzaW5nbGV0b24pOgorICAg
ICAgICAqIGpzYy5jcHA6CisgICAgICAgIChtYWluKToKKyAgICAgICAgKGpzY21haW4pOgorICAg
ICAgICAqIHJ1bnRpbWUvSW5pdGlhbGl6ZVRocmVhZGluZy5jcHA6CisgICAgICAgIChKU0M6Omlu
aXRpYWxpemUpOgorICAgICAgICAoSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKTogRGVsZXRlZC4K
KyAgICAgICAgKiBydW50aW1lL0luaXRpYWxpemVUaHJlYWRpbmcuaDoKKyAgICAgICAgKiBydW50
aW1lL0pTQ0NvbmZpZy5oOgorICAgICAgICAqIHNoZWxsL3BsYXlzdGF0aW9uL1Rlc3RTaGVsbC5j
cHA6CisgICAgICAgIChzZXR1cFRlc3RSdW4pOgorICAgICAgICAqIHRlc3RSZWdFeHAuY3BwOgor
ICAgICAgICAobWFpbik6CisKIDIwMjAtMDYtMjcgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBs
ZS5jb20+CiAKICAgICAgICAgQnl0ZWNvZGVCYXNpY0Jsb2NrOjphZGRTdWNjZXNzb3Igc2hvdWxk
IGNoZWNrIGlmIHRoZSAgc3VjY2Vzc29yIGFscmVhZHkgZXhpc3RzCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUub3JkZXIKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLm9yZGVyCShyZXZpc2lvbiAyNjM2MzMpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUub3JkZXIJKHdvcmtpbmcgY29weSkK
QEAgLTEsNyArMSw0IEBACi1fX1pOM0pTQzE5aW5pdGlhbGl6ZVRocmVhZGluZ0V2Ci1fX1pOM0pT
Q0wyM2luaXRpYWxpemVUaHJlYWRpbmdPbmNlRXYKIF9fWk4zV1RGMTdkb3VibGVfY29udmVyc2lv
bjEwaW5pdGlhbGl6ZUV2Ci1fX1pOM1dURjE5aW5pdGlhbGl6ZVRocmVhZGluZ0V2CiBfX1pOM1dU
RjEwU3RyaW5nSW1wbDVlbXB0eUV2CiBfX1pOM1dURjEwZmFzdE1hbGxvY0VtCiBfX1pOM1dURjIw
VENNYWxsb2NfVGhyZWFkQ2FjaGUxMEluaXRNb2R1bGVFdgpAQCAtNDcsNyArNDQsNiBAQCBfX1pO
M1dURjlIYXNoVGFibGVJUHZOU18xMktleVZhbHVlUGFpcklTCiBfX1pOM1dURjlIYXNoVGFibGVJ
UHZOU18xMktleVZhbHVlUGFpcklTMV9QTlNfMTNNZXRhQWxsb2NhdG9yMTNGcmVlU3BhY2VOb2Rl
RUVFTlNfMjRLZXlWYWx1ZVBhaXJLZXlFeHRyYWN0b3JJUzZfRUVOU183UHRySGFzaElTMV9FRU5T
XzE4SGFzaE1hcFZhbHVlVHJhaXRzSU5TXzEwSGFzaFRyYWl0c0lTMV9FRU5TQ19JUzVfRUVFRVNE
X0UzYWRkSU5TXzE3SGFzaE1hcFRyYW5zbGF0b3JJU0ZfU0FfRUVTMV9TNV9FRU5TXzE4SGFzaFRh
YmxlQWRkUmVzdWx0SU5TXzE3SGFzaFRhYmxlSXRlcmF0b3JJUzFfUzZfUzhfU0FfU0ZfU0RfRUVF
RVJLVDBfUktUMV8KIF9fWk4zV1RGOGZhc3RGcmVlRVB2CiBfX1pOM0pTQzEzQ29kZVByb2ZpbGlu
ZzE1bm90aWZ5QWxsb2NhdG9yRVBOM1dURjEzTWV0YUFsbG9jYXRvckUKLV9fWk4zSlNDN0pTU3Rh
Y2sxOWluaXRpYWxpemVUaHJlYWRpbmdFdgogX19aTjNKU0M1TExJbnQxMGluaXRpYWxpemVFdgog
X19aTjNXVEYxOWluaXRpYWxpemVHQ1RocmVhZHNFdgogX19aTjNXVEYxOEZ1bmN0aW9uRGlzcGF0
Y2hlckMyRXYKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9keW5iZW5jaC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2R5bmJlbmNoLmNwcAkocmV2aXNpb24gMjYz
NjMzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2R5bmJlbmNoLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtODgsNyArODgsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCiAgICAg
fQogICAgIAogICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKLSAgICBKU0M6OmluaXRp
YWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsKIAogICAgIFZNJiB2bSA9
IFZNOjpjcmVhdGUoTGFyZ2VIZWFwKS5sZWFrUmVmKCk7CiAgICAgewpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2pzYy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2pzYy5jcHAJKHJldmlzaW9uIDI2MzYzMykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2Mu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjM0LDEwICsyNjM0LDEwIEBAIGludCBtYWluKGludCBh
cmdjLCBjaGFyKiogYXJndikKICAgICAgICAgV1RGTG9nQWx3YXlzKCJMb2NhbGUgbm90IHN1cHBv
cnRlZCBieSBDIGxpYnJhcnkuXG5cdFVzaW5nIHRoZSBmYWxsYmFjayAnQycgbG9jYWxlLiIpOwog
I2VuZGlmCiAKLSAgICAvLyBOZWVkIHRvIGluaXRpYWxpemUgV1RGIHRocmVhZGluZyBiZWZvcmUg
d2Ugc3RhcnQgYW55IHRocmVhZHMuIENhbm5vdCBpbml0aWFsaXplIEpTQwotICAgIC8vIHRocmVh
ZGluZyB5ZXQsIHNpbmNlIHRoYXQgd291bGQgZG8gc29tZXRoaW5ncyB0aGF0IHdlJ2QgbGlrZSB0
byBkZWZlciB1bnRpbCBhZnRlciB3ZQorICAgIC8vIE5lZWQgdG8gaW5pdGlhbGl6ZSBXVEYgYmVm
b3JlIHdlIHN0YXJ0IGFueSB0aHJlYWRzLiBDYW5ub3QgaW5pdGlhbGl6ZSBKU0MKKyAgICAvLyB5
ZXQsIHNpbmNlIHRoYXQgd291bGQgZG8gc29tZXRoaW5ncyB0aGF0IHdlJ2QgbGlrZSB0byBkZWZl
ciB1bnRpbCBhZnRlciB3ZQogICAgIC8vIGhhdmUgYSBjaGFuY2UgdG8gcGFyc2Ugb3B0aW9ucy4K
LSAgICBXVEY6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBXVEY6OmluaXRpYWxpemUoKTsK
IAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgT3B0aW9uczo6Y3Jhc2hJZkNhbnRBbGxv
Y2F0ZUpJVE1lbW9yeSgpID0gdHJ1ZTsKQEAgLTMyOTcsOCArMzI5Nyw3IEBAIGludCBqc2NtYWlu
KGludCBhcmdjLCBjaGFyKiogYXJndikKICAgICAgICAgICAgIE9wdGlvbnM6OmR1bXBHZW5lcmF0
ZWRCeXRlY29kZXMoKSA9IHRydWU7CiAgICAgfQogCi0gICAgLy8gSW5pdGlhbGl6ZSBKU0MgYmVm
b3JlIGdldHRpbmcgVk0uCi0gICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlND
Ojppbml0aWFsaXplKCk7CiAgICAgaW5pdGlhbGl6ZVRpbWVvdXRJZk5lZWRlZCgpOwogCiAjaWYg
T1MoREFSV0lOKSB8fCBPUyhMSU5VWCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
UmVnRXhwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdFJlZ0V4
cC5jcHAJKHJldmlzaW9uIDI2MzYzMykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0UmVn
RXhwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY1LDggKzE2NSw3IEBAIGludCBtYWluKGludCBh
cmdjLCBjaGFyKiogYXJndikKICAgICB0aW1lQmVnaW5QZXJpb2QoMSk7CiAjZW5kaWYKIAotICAg
IC8vIEluaXRpYWxpemUgSlNDIGJlZm9yZSBnZXR0aW5nIFZNLgotICAgIEpTQzo6aW5pdGlhbGl6
ZVRocmVhZGluZygpOworICAgIEpTQzo6aW5pdGlhbGl6ZSgpOwogCiAgICAgLy8gV2UgY2FuJ3Qg
dXNlIGRlc3RydWN0b3JzIGluIHRoZSBmb2xsb3dpbmcgY29kZSBiZWNhdXNlIGl0IHVzZXMgV2lu
ZG93cwogICAgIC8vIFN0cnVjdHVyZWQgRXhjZXB0aW9uIEhhbmRsaW5nCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQVBJL0pTQ2xhc3NSZWYuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9BUEkvSlNDbGFzc1JlZi5jcHAJKHJldmlzaW9uIDI2MzYzMykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDbGFzc1JlZi5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTUxLDcgKzUxLDcgQEAgT3BhcXVlSlNDbGFzczo6T3BhcXVlSlNDbGFzcyhjb25zdCBKU0NsYQog
ICAgICwgY29udmVydFRvVHlwZShkZWZpbml0aW9uLT5jb252ZXJ0VG9UeXBlKQogICAgICwgbV9j
bGFzc05hbWUoU3RyaW5nOjpmcm9tVVRGOChkZWZpbml0aW9uLT5jbGFzc05hbWUpKQogewotICAg
IGluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsKIAogICAgIGlm
IChjb25zdCBKU1N0YXRpY1ZhbHVlKiBzdGF0aWNWYWx1ZSA9IGRlZmluaXRpb24tPnN0YXRpY1Zh
bHVlcykgewogICAgICAgICBtX3N0YXRpY1ZhbHVlcyA9IG1ha2VVbmlxdWU8T3BhcXVlSlNDbGFz
c1N0YXRpY1ZhbHVlc1RhYmxlPigpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9K
U0NvbnRleHRSZWYuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkv
SlNDb250ZXh0UmVmLmNwcAkocmV2aXNpb24gMjYzNjMzKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9KU0NvbnRleHRSZWYuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Niw3ICs2Niw3IEBA
IHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKIEpTQ29udGV4dEdyb3VwUmVmIEpTQ29udGV4dEdyb3Vw
Q3JlYXRlKCkKIHsKLSAgICBpbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFs
aXplKCk7CiAgICAgcmV0dXJuIHRvUmVmKCZWTTo6Y3JlYXRlQ29udGV4dEdyb3VwKCkubGVha1Jl
ZigpKTsKIH0KIApAQCAtMTE2LDcgKzExNiw3IEBAIHZvaWQgSlNDb250ZXh0R3JvdXBDbGVhckV4
ZWN1dGlvblRpbWVMaW0KIAogSlNHbG9iYWxDb250ZXh0UmVmIEpTR2xvYmFsQ29udGV4dENyZWF0
ZShKU0NsYXNzUmVmIGdsb2JhbE9iamVjdENsYXNzKQogewotICAgIGluaXRpYWxpemVUaHJlYWRp
bmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsKIAogI2lmIE9TKERBUldJTikKICAgICAvLyBJ
ZiB0aGUgYXBwbGljYXRpb24gd2FzIGxpbmtlZCBiZWZvcmUgSlNHbG9iYWxDb250ZXh0Q3JlYXRl
IHdhcyBjaGFuZ2VkIHRvIHVzZSBhIHVuaXF1ZSBWTSwKQEAgLTEzMSw3ICsxMzEsNyBAQCBKU0ds
b2JhbENvbnRleHRSZWYgSlNHbG9iYWxDb250ZXh0Q3JlYXRlCiAKIEpTR2xvYmFsQ29udGV4dFJl
ZiBKU0dsb2JhbENvbnRleHRDcmVhdGVJbkdyb3VwKEpTQ29udGV4dEdyb3VwUmVmIGdyb3VwLCBK
U0NsYXNzUmVmIGdsb2JhbE9iamVjdENsYXNzKQogewotICAgIGluaXRpYWxpemVUaHJlYWRpbmco
KTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsKIAogICAgIFJlZjxWTT4gdm0gPSBncm91cCA/IFJl
ZjxWTT4oKnRvSlMoZ3JvdXApKSA6IFZNOjpjcmVhdGVDb250ZXh0R3JvdXAoKTsKIApJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAJKHJldmlzaW9uIDI2MzYz
MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC01Niw3ICs1Niw3IEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKIEpTQ2xhc3NS
ZWYgSlNDbGFzc0NyZWF0ZShjb25zdCBKU0NsYXNzRGVmaW5pdGlvbiogZGVmaW5pdGlvbikKIHsK
LSAgICBpbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFsaXplKCk7CiAgICAg
YXV0byBqc0NsYXNzID0gKGRlZmluaXRpb24tPmF0dHJpYnV0ZXMgJiBrSlNDbGFzc0F0dHJpYnV0
ZU5vQXV0b21hdGljUHJvdG90eXBlKQogICAgICAgICA/IE9wYXF1ZUpTQ2xhc3M6OmNyZWF0ZU5v
QXV0b21hdGljUHJvdG90eXBlKGRlZmluaXRpb24pCiAgICAgICAgIDogT3BhcXVlSlNDbGFzczo6
Y3JlYXRlKGRlZmluaXRpb24pOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1N0
cmluZ1JlZi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1N0
cmluZ1JlZi5jcHAJKHJldmlzaW9uIDI2MzYzMykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9B
UEkvSlNTdHJpbmdSZWYuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiwxMyArMzYsMTMgQEAgdXNp
bmcgbmFtZXNwYWNlIFdURjo6VW5pY29kZTsKIAogSlNTdHJpbmdSZWYgSlNTdHJpbmdDcmVhdGVX
aXRoQ2hhcmFjdGVycyhjb25zdCBKU0NoYXIqIGNoYXJzLCBzaXplX3QgbnVtQ2hhcnMpCiB7Ci0g
ICAgaW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgIEpTQzo6aW5pdGlhbGl6ZSgpOwogICAgIHJl
dHVybiAmT3BhcXVlSlNTdHJpbmc6OmNyZWF0ZShyZWludGVycHJldF9jYXN0PGNvbnN0IFVDaGFy
Kj4oY2hhcnMpLCBudW1DaGFycykubGVha1JlZigpOwogfQogCiBKU1N0cmluZ1JlZiBKU1N0cmlu
Z0NyZWF0ZVdpdGhVVEY4Q1N0cmluZyhjb25zdCBjaGFyKiBzdHJpbmcpCiB7Ci0gICAgaW5pdGlh
bGl6ZVRocmVhZGluZygpOworICAgIEpTQzo6aW5pdGlhbGl6ZSgpOwogICAgIGlmIChzdHJpbmcp
IHsKICAgICAgICAgc2l6ZV90IGxlbmd0aCA9IHN0cmxlbihzdHJpbmcpOwogICAgICAgICBWZWN0
b3I8VUNoYXIsIDEwMjQ+IGJ1ZmZlcihsZW5ndGgpOwpAQCAtNjEsNyArNjEsNyBAQCBKU1N0cmlu
Z1JlZiBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluCiAKIEpTU3RyaW5nUmVmIEpTU3RyaW5n
Q3JlYXRlV2l0aENoYXJhY3RlcnNOb0NvcHkoY29uc3QgSlNDaGFyKiBjaGFycywgc2l6ZV90IG51
bUNoYXJzKQogewotICAgIGluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxp
emUoKTsKICAgICByZXR1cm4gT3BhcXVlSlNTdHJpbmc6OnRyeUNyZWF0ZShTdHJpbmdJbXBsOjpj
cmVhdGVXaXRob3V0Q29weWluZyhyZWludGVycHJldF9jYXN0PGNvbnN0IFVDaGFyKj4oY2hhcnMp
LCBudW1DaGFycykpLmxlYWtSZWYoKTsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU1N0cmluZ1JlZkNGLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvQVBJL0pTU3RyaW5nUmVmQ0YuY3BwCShyZXZpc2lvbiAyNjM2MzMpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTU3RyaW5nUmVmQ0YuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3
ICszNSw3IEBACiAKIEpTU3RyaW5nUmVmIEpTU3RyaW5nQ3JlYXRlV2l0aENGU3RyaW5nKENGU3Ry
aW5nUmVmIHN0cmluZykKIHsKLSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBK
U0M6OmluaXRpYWxpemUoKTsKIAogICAgIC8vIFdlIGNhbm5vdCB1c2UgQ0ZJbmRleCBoZXJlIHNp
bmNlIENGU3RyaW5nR2V0TGVuZ3RoIGNhbiByZXR1cm4gdmFsdWVzIGxhcmdlciB0aGFuCiAgICAg
Ly8gaXQgY2FuIGhvbGQuICAoPHJkYXI6Ly9wcm9ibGVtLzY4MDY0Nzg+KQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9Db21wYXJlQW5kU3dhcFRlc3QuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvQ29tcGFyZUFuZFN3YXBUZXN0
LmNwcAkocmV2aXNpb24gMjYzNjMzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0
cy9Db21wYXJlQW5kU3dhcFRlc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDAsNyArMTAwLDcg
QEAgdm9pZCB0ZXN0Q29tcGFyZUFuZFN3YXAoKQogICAgIFJlZlB0cjxUaHJlYWQ+IHRocmVhZHNb
bnVtVGhyZWFkc107CiAgICAgRGF0YSBkYXRhW251bVRocmVhZHNdOwogCi0gICAgV1RGOjppbml0
aWFsaXplVGhyZWFkaW5nKCk7CisgICAgV1RGOjppbml0aWFsaXplKCk7CiAgICAgCiAgICAgcHJp
bnRmKCJTdGFydGluZyAlZCB0aHJlYWRzIGZvciBDb21wYXJlQW5kU3dhcCB0ZXN0LiAgVGVzdCBz
aG91bGQgY29tcGxldGUgd2l0aG91dCBoYW5naW5nLlxuIiwgbnVtVGhyZWFkcyk7CiAgICAgZm9y
IChpbnQgaSA9IDA7IGkgPCBudW1UaHJlYWRzOyBpKyspIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9BUEkvdGVzdHMvRXhlY3V0aW9uVGltZUxpbWl0VGVzdC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9FeGVjdXRpb25UaW1lTGltaXRUZXN0
LmNwcAkocmV2aXNpb24gMjYzNjMzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0
cy9FeGVjdXRpb25UaW1lTGltaXRUZXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI3LDcgKzEy
Nyw3IEBAIGludCB0ZXN0RXhlY3V0aW9uVGltZUxpbWl0KCkKICAgICAKICAgICBib29sIGZhaWxl
ZCA9IGZhbHNlOwogCi0gICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjpp
bml0aWFsaXplKCk7CiAKICAgICBmb3IgKGF1dG8gdGllck9wdGlvbnMgOiB0aWVyT3B0aW9uc0xp
c3QpIHsKICAgICAgICAgU3RyaW5nQnVpbGRlciBzYXZlZE9wdGlvbnNCdWlsZGVyOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9GdW5jdGlvbk92ZXJyaWRlc1Rlc3QuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvRnVuY3Rpb25P
dmVycmlkZXNUZXN0LmNwcAkocmV2aXNpb24gMjYzNjMzKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS90ZXN0cy9GdW5jdGlvbk92ZXJyaWRlc1Rlc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zNyw3ICszNyw3IEBAIGludCB0ZXN0RnVuY3Rpb25PdmVycmlkZXMoKQogewogICAgIGJvb2wg
ZmFpbGVkID0gZmFsc2U7CiAKLSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBK
U0M6OmluaXRpYWxpemUoKTsKIAogICAgIGNvbnN0IGNoYXIqIG9sZEZ1bmN0aW9uT3ZlcnJpZGVz
ID0gT3B0aW9uczo6ZnVuY3Rpb25PdmVycmlkZXMoKTsKICAgICAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvdGVzdHMvTXVsdGl0aHJlYWRlZE11bHRpVk1FeGVjdXRpb25UZXN0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL011bHRpdGhy
ZWFkZWRNdWx0aVZNRXhlY3V0aW9uVGVzdC5jcHAJKHJldmlzaW9uIDI2MzYzMykKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvTXVsdGl0aHJlYWRlZE11bHRpVk1FeGVjdXRpb25U
ZXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksNyArNDksNyBAQCBzdGF0aWMgc3RkOjp2ZWN0
b3I8c3RkOjp0aHJlYWQ+JiB0aHJlYWRzCiB2b2lkIHN0YXJ0TXVsdGl0aHJlYWRlZE11bHRpVk1F
eGVjdXRpb25UZXN0KCkKIHsKICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7Ci0gICAg
SlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFsaXplKCk7CiAKICNk
ZWZpbmUgQ0hFQ0soY29uZGl0aW9uLCBtZXNzYWdlKSBkbyB7IFwKICAgICAgICAgaWYgKCFjb25k
aXRpb24pIHsgXApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9QaW5nUG9u
Z1N0YWNrT3ZlcmZsb3dUZXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvQVBJL3Rlc3RzL1BpbmdQb25nU3RhY2tPdmVyZmxvd1Rlc3QuY3BwCShyZXZpc2lvbiAyNjM2
MzMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL1BpbmdQb25nU3RhY2tPdmVy
Zmxvd1Rlc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsNyArMTE2LDcgQEAgaW50IHRlc3RQ
aW5nUG9uZ1N0YWNrT3ZlcmZsb3coKQogewogICAgIGJvb2wgZmFpbGVkID0gZmFsc2U7CiAKLSAg
ICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsKIAog
ICAgIGF1dG8gb3JpZ1NvZnRSZXNlcnZlZFpvbmVTaXplID0gT3B0aW9uczo6c29mdFJlc2VydmVk
Wm9uZVNpemUoKTsKICAgICBhdXRvIG9yaWdSZXNlcnZlZFpvbmVTaXplID0gT3B0aW9uczo6cmVz
ZXJ2ZWRab25lU2l6ZSgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci90
ZXN0bWFzbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci90ZXN0bWFzbS5jcHAJKHJldmlzaW9uIDI2MzYzMykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9hc3NlbWJsZXIvdGVzdG1hc20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTMwLDcgKzI1MzAs
NyBAQCBzdGF0aWMgdm9pZCB0ZXN0QnJhbmNoSWZOb3RUeXBlKCkKIAogdm9pZCBydW4oY29uc3Qg
Y2hhciogZmlsdGVyKQogewotICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgIEpT
Qzo6aW5pdGlhbGl6ZSgpOwogICAgIHVuc2lnbmVkIG51bWJlck9mVGVzdHMgPSAwOwogCiAgICAg
RGVxdWU8UmVmUHRyPFNoYXJlZFRhc2s8dm9pZCgpPj4+IHRhc2tzOwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2IzL3Rlc3RiM18xLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYjMvdGVzdGIzXzEuY3BwCShyZXZpc2lvbiAyNjM2MzMpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvdGVzdGIzXzEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MDcsNyArOTA3
LDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogICAgIEpTQzo6Q29uZmlnOjpj
b25maWd1cmVGb3JUZXN0aW5nKCk7CiAKICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7
Ci0gICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFsaXplKCk7
CiAgICAgCiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8PSAyOyArK2kpIHsKICAgICAgICAg
SlNDOjpPcHRpb25zOjpkZWZhdWx0QjNPcHRMZXZlbCgpID0gaTsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9haXIvdGVzdGFpci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL2Fpci90ZXN0YWlyLmNwcAkocmV2aXNpb24gMjYzNjMzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL2Fpci90ZXN0YWlyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUx
MSw3ICsyNTExLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogICAgICAgICBi
cmVhazsKICAgICB9CiAgICAgCi0gICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAg
SlNDOjppbml0aWFsaXplKCk7CiAKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDw9IDI7ICsr
aSkgewogICAgICAgICBKU0M6Ok9wdGlvbnM6OmRlZmF1bHRCM09wdExldmVsKCkgPSBpOwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy90ZXN0ZGZnLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL3Rlc3RkZmcuY3BwCShyZXZpc2lvbiAyNjM2MzMpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL3Rlc3RkZmcuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMTEsNyArMTExLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogICAgICAg
ICBicmVhazsKICAgICB9CiAKLSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBK
U0M6OmluaXRpYWxpemUoKTsKICAgICAKICAgICBydW4oZmlsdGVyKTsKIApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvY29jb2EvUmVtb3RlSW5zcGVjdG9yQ29j
b2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1v
dGUvY29jb2EvUmVtb3RlSW5zcGVjdG9yQ29jb2EubW0JKHJldmlzaW9uIDI2MzYzMykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL2NvY29hL1JlbW90ZUluc3BlY3Rv
ckNvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC05Nyw3ICs5Nyw3IEBAIFJlbW90ZUluc3BlY3Rv
ciYgUmVtb3RlSW5zcGVjdG9yOjpzaW5nbGUKICAgICAgICAgaWYgKGNhbkFjY2Vzc1dlYkluc3Bl
Y3Rvck1hY2hQb3J0KCkpIHsKICAgICAgICAgICAgIGRpc3BhdGNoX2Jsb2NrX3QgaW5pdGlhbGl6
ZSA9IF57CiAgICAgICAgICAgICAgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwotICAg
ICAgICAgICAgICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgICAgICAgICAgICAg
IEpTQzo6aW5pdGlhbGl6ZSgpOwogICAgICAgICAgICAgICAgIGlmIChSZW1vdGVJbnNwZWN0b3I6
OnN0YXJ0RW5hYmxlZCkKICAgICAgICAgICAgICAgICAgICAgc2hhcmVkLmdldCgpLnN0YXJ0KCk7
CiAgICAgICAgICAgICB9OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW5p
dGlhbGl6ZVRocmVhZGluZy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSW5pdGlhbGl6ZVRocmVhZGluZy5jcHAJKHJldmlzaW9uIDI2MzYzMykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0luaXRpYWxpemVUaHJlYWRpbmcuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MCwxMiArNTAsMTIgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIHN0YXRpY19h
c3NlcnQoc2l6ZW9mKGJvb2wpID09IDEsICJMTEludCBhbmQgSklUIGFzc3VtZSBzaXplb2YoYm9v
bCkgaXMgYWx3YXlzIDEgd2hlbiB0b3VjaGluZyBpdCBkaXJlY3RseSBmcm9tIGFzc2VtYmx5IGNv
ZGUuIik7CiAKLXZvaWQgaW5pdGlhbGl6ZVRocmVhZGluZygpCit2b2lkIGluaXRpYWxpemUoKQog
ewotICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBpbml0aWFsaXplVGhyZWFkaW5nT25jZUZsYWc7
CisgICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIG9uY2VGbGFnOwogCi0gICAgc3RkOjpjYWxsX29u
Y2UoaW5pdGlhbGl6ZVRocmVhZGluZ09uY2VGbGFnLCBbXXsKLSAgICAgICAgV1RGOjppbml0aWFs
aXplVGhyZWFkaW5nKCk7CisgICAgc3RkOjpjYWxsX29uY2Uob25jZUZsYWcsIFtdIHsKKyAgICAg
ICAgV1RGOjppbml0aWFsaXplKCk7CiAgICAgICAgIE9wdGlvbnM6OmluaXRpYWxpemUoKTsKIAog
ICAgICAgICBpbml0aWFsaXplUHRyVGFnTG9va3VwKCk7CkBAIC0xMDYsOCArMTA2LDggQEAgdm9p
ZCBpbml0aWFsaXplVGhyZWFkaW5nKCkKICNlbmRpZgogCiAgICAgICAgIFdURjo6Y29tcGlsZXJG
ZW5jZSgpOwotICAgICAgICBSRUxFQVNFX0FTU0VSVCghZ19qc2NDb25maWcuaW5pdGlhbGl6ZVRo
cmVhZGluZ0hhc0JlZW5DYWxsZWQpOwotICAgICAgICBnX2pzY0NvbmZpZy5pbml0aWFsaXplVGhy
ZWFkaW5nSGFzQmVlbkNhbGxlZCA9IHRydWU7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFnX2pz
Y0NvbmZpZy5pbml0aWFsaXplSGFzQmVlbkNhbGxlZCk7CisgICAgICAgIGdfanNjQ29uZmlnLmlu
aXRpYWxpemVIYXNCZWVuQ2FsbGVkID0gdHJ1ZTsKICAgICB9KTsKIH0KIApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW5pdGlhbGl6ZVRocmVhZGluZy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0luaXRpYWxpemVUaHJlYWRpbmcuaAko
cmV2aXNpb24gMjYzNjMzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW5pdGlh
bGl6ZVRocmVhZGluZy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw4ICszMCw2IEBACiAKIG5hbWVz
cGFjZSBKU0MgewogCi0vLyBUaGlzIGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIGZyb20gdGhlIG1h
aW4gdGhyZWFkLiBJdCBpcyBzYWZlIHRvIGNhbGwgaXQgcmVwZWF0ZWRseS4KLS8vIERhcndpbiBp
cyBhbiBleGNlcHRpb24gdG8gdGhpcyBydWxlOiBpdCBpcyBPSyB0byBjYWxsIHRoaXMgZnVuY3Rp
b24gZnJvbSBhbnkgdGhyZWFkLCBldmVuIHJlZW50cmFudGx5LgotSlNfRVhQT1JUX1BSSVZBVEUg
dm9pZCBpbml0aWFsaXplVGhyZWFkaW5nKCk7CitKU19FWFBPUlRfUFJJVkFURSB2b2lkIGluaXRp
YWxpemUoKTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0NDb25maWcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0NDb25maWcuaAkocmV2aXNpb24gMjYzNjMzKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNDQ29uZmlnLmgJKHdvcmtpbmcgY29weSkKQEAgLTYyLDcgKzYy
LDcgQEAgc3RydWN0IENvbmZpZyB7CiAgICAgYm9vbCBqaXREaXNhYmxlZDsKIAogICAgIC8vIFRo
ZSBmb2xsb3dpbmcgSGFzQmVlbkNhbGxlZCBmbGFncyBhcmUgZm9yIGF1ZGl0aW5nIGNhbGxfb25j
ZSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMuCi0gICAgYm9vbCBpbml0aWFsaXplVGhyZWFkaW5n
SGFzQmVlbkNhbGxlZDsKKyAgICBib29sIGluaXRpYWxpemVIYXNCZWVuQ2FsbGVkOwogCiAgICAg
c3RydWN0IHsKICNpZiBBU1NFUlRfRU5BQkxFRApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3NoZWxsL3BsYXlzdGF0aW9uL1Rlc3RTaGVsbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3NoZWxsL3BsYXlzdGF0aW9uL1Rlc3RTaGVsbC5jcHAJKHJldmlzaW9uIDI2
MzYzMykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9zaGVsbC9wbGF5c3RhdGlvbi9UZXN0U2hl
bGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCwxNSArNDAsMTUgQEAgZXh0ZXJuICJDIiB2b2lk
IHNldHVwVGVzdFJ1bigpCiAgICAgRk9SX0VBQ0hfSlNDX09QVElPTihTVEFUSUNfT1BUSU9OKQog
I3VuZGVmIFNUQVRJQ19PUFRJT04KIAotICAgIC8vIE5lZWQgdG8gaW5pdGlhbGl6ZSBXVEYgdGhy
ZWFkaW5nIGJlZm9yZSB3ZSBzdGFydCBhbnkgdGhyZWFkcy4gQ2Fubm90IGluaXRpYWxpemUgSlND
Ci0gICAgLy8gdGhyZWFkaW5nIHlldCwgc2luY2UgdGhhdCB3b3VsZCBkbyBzb21ldGhpbmdzIHRo
YXQgd2UnZCBsaWtlIHRvIGRlZmVyIHVudGlsIGFmdGVyIHdlCisgICAgLy8gTmVlZCB0byBpbml0
aWFsaXplIFdURiBiZWZvcmUgd2Ugc3RhcnQgYW55IHRocmVhZHMuIENhbm5vdCBpbml0aWFsaXpl
IEpTQworICAgIC8vIHlldCwgc2luY2UgdGhhdCB3b3VsZCBkbyBzb21ldGhpbmdzIHRoYXQgd2Un
ZCBsaWtlIHRvIGRlZmVyIHVudGlsIGFmdGVyIHdlCiAgICAgLy8gaGF2ZSBhIGNoYW5jZSB0byBw
YXJzZSBvcHRpb25zLgogICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKIAogICAgIC8v
IE5lZWQgdG8gb3ZlcnJpZGUgYW5kIGVuYWJsZSByZXN0cmljdGVkIG9wdGlvbnMgYmVmb3JlIHdl
IHN0YXJ0IHBhcnNpbmcgb3B0aW9ucyBiZWxvdy4KICAgICBDb25maWc6OmVuYWJsZVJlc3RyaWN0
ZWRPcHRpb25zKCk7CiAKLSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6
OmluaXRpYWxpemUoKTsKIAogI2lmIEVOQUJMRShXRUJBU1NFTUJMWSkKICAgICBKU0M6Oldhc206
OmVuYWJsZUZhc3RNZW1vcnkoKTsKSW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XVEYvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjM2MzMpCisrKyBTb3VyY2Uv
V1RGL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQwIEBACisyMDIwLTA2LTI4
ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVuYW1lIGlu
aXRpYWxpemVUaHJlYWRpbmcgdG8gaW5pdGlhbGl6ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzNjc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWFy
ayBMYW0uCisKKyAgICAgICAgUmVhc29uczoKKworICAgICAgICAoMSkgWW91IG5lZWQgdG8gY2Fs
bCBpdCBldmVuIGlmIHlvdSBkb24ndCB1c2UgdGhyZWFkcy4KKworICAgICAgICAoMikgSXQgaW5p
dGlhbGl6ZXMgdGhpbmdzIHVucmVsYXRlZCB0byB0aHJlYWRzIChsaWtlIHRoZSBQUk5HKS4KKwor
ICAgICAgICAoMykgUGVvcGxlIHNlZW0gdG8gZ2V0IGNvbmZ1c2VkIGFib3V0IHRoZSByZWxhdGlv
bnNoaXAgYmV0d2VlbgorICAgICAgICBpbml0aWFsaXplVGhyZWFkaW5nKCkgYW5kIGluaXRpYWxp
emVNYWluVGhyZWFkKCksIGFuZCBzb21ldGltZXMgdGhpbmsKKyAgICAgICAgaW5pdGlhbGl6ZVRo
cmVhZGluZygpIGlzIGEgc3VwZXJzZXQuIFRoZSBvcHBvc2l0ZSBpcyB0cnVlISBJIHRoaW5rIHRo
ZQorICAgICAgICBjb25mdXNpb24gbWF5IGNvbWUgZnJvbSAidGhyZWFkaW5nIiBiZWluZyByZWFk
IGFzICJhbGwgdGhyZWFkaW5nIi4KKworICAgICAgICBTb21lIGZpbGVuYW1lcyBzdGlsbCB1c2Ug
dGhlIGxlZ2FjeSBuYW1lLiBXZSBjYW4gZml4IHRoYXQgaW4gcG9zdC4KKworICAgICAgICAqIGJl
bmNobWFya3MvQ29uZGl0aW9uU3BlZWRUZXN0LmNwcDoKKyAgICAgICAgKG1haW4pOgorICAgICAg
ICAqIGJlbmNobWFya3MvSGFzaFNldERGR1JlcGxheS5jcHA6CisgICAgICAgIChtYWluKToKKyAg
ICAgICAgKiBiZW5jaG1hcmtzL0xvY2tGYWlybmVzc1Rlc3QuY3BwOgorICAgICAgICAobWFpbik6
CisgICAgICAgICogYmVuY2htYXJrcy9Mb2NrU3BlZWRUZXN0LmNwcDoKKyAgICAgICAgKG1haW4p
OgorICAgICAgICAqIHd0Zi9NYWluVGhyZWFkLmNwcDoKKyAgICAgICAgKFdURjo6aW5pdGlhbGl6
ZU1haW5UaHJlYWQpOgorICAgICAgICAqIHd0Zi9UaHJlYWRpbmcuY3BwOgorICAgICAgICAoV1RG
OjpUaHJlYWQ6OmNyZWF0ZSk6CisgICAgICAgIChXVEY6OmluaXRpYWxpemUpOgorICAgICAgICAo
V1RGOjppbml0aWFsaXplVGhyZWFkaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKiB3dGYvVGhyZWFk
aW5nLmg6CisgICAgICAgIChXVEY6OlRocmVhZDo6Y3VycmVudCk6CisKIDIwMjAtMDYtMjcgIFNh
bSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIEltcHJvdmUgYXNzZXJ0aW9u
cyBpbiBTdHJpbmdQYXJzaW5nQnVmZmVyIApJbmRleDogU291cmNlL1dURi9iZW5jaG1hcmtzL0Nv
bmRpdGlvblNwZWVkVGVzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi9iZW5jaG1hcmtz
L0NvbmRpdGlvblNwZWVkVGVzdC5jcHAJKHJldmlzaW9uIDI2MzYzMykKKysrIFNvdXJjZS9XVEYv
YmVuY2htYXJrcy9Db25kaXRpb25TcGVlZFRlc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTMs
NyArMTkzLDcgQEAgdm9pZCBydW5CZW5jaG1hcmsoCiAKIGludCBtYWluKGludCBhcmdjLCBjaGFy
KiogYXJndikKIHsKLSAgICBXVEY6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBXVEY6Omlu
aXRpYWxpemUoKTsKIAogICAgIGlmIChhcmdjICE9IDYKICAgICAgICAgfHwgc3NjYW5mKGFyZ3Zb
Ml0sICIldSIsICZudW1Qcm9kdWNlcnMpICE9IDEKSW5kZXg6IFNvdXJjZS9XVEYvYmVuY2htYXJr
cy9IYXNoU2V0REZHUmVwbGF5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL2JlbmNobWFy
a3MvSGFzaFNldERGR1JlcGxheS5jcHAJKHJldmlzaW9uIDI2MzYzMykKKysrIFNvdXJjZS9XVEYv
YmVuY2htYXJrcy9IYXNoU2V0REZHUmVwbGF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA5ODQs
NyArMTA5ODQsNyBAQCB2b2lkIGJlbmNobWFyaygpCiAKIGludCBtYWluKGludCwgY2hhcioqKQog
ewotICAgIFdURjo6aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgIFdURjo6aW5pdGlhbGl6ZSgp
OwogICAgIAogICAgIFdhbGxUaW1lIGJlZm9yZSA9IFdhbGxUaW1lOjpub3coKTsKICAgICAKSW5k
ZXg6IFNvdXJjZS9XVEYvYmVuY2htYXJrcy9Mb2NrRmFpcm5lc3NUZXN0LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV1RGL2JlbmNobWFya3MvTG9ja0ZhaXJuZXNzVGVzdC5jcHAJKHJldmlzaW9u
IDI2MzYzMykKKysrIFNvdXJjZS9XVEYvYmVuY2htYXJrcy9Mb2NrRmFpcm5lc3NUZXN0LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTE1LDcgKzExNSw3IEBAIHN0cnVjdCBCZW5jaG1hcmsgewogCiBp
bnQgbWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCiB7Ci0gICAgV1RGOjppbml0aWFsaXplVGhy
ZWFkaW5nKCk7CisgICAgV1RGOjppbml0aWFsaXplKCk7CiAgICAgCiAgICAgaWYgKGFyZ2MgIT0g
NQogICAgICAgICB8fCBzc2NhbmYoYXJndlsyXSwgIiV1IiwgJm51bVRocmVhZHMpICE9IDEKSW5k
ZXg6IFNvdXJjZS9XVEYvYmVuY2htYXJrcy9Mb2NrU3BlZWRUZXN0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV1RGL2JlbmNobWFya3MvTG9ja1NwZWVkVGVzdC5jcHAJKHJldmlzaW9uIDI2MzYz
MykKKysrIFNvdXJjZS9XVEYvYmVuY2htYXJrcy9Mb2NrU3BlZWRUZXN0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTU5LDcgKzE1OSw3IEBAIGJvb2wgcGFyc2VWYWx1ZShjb25zdCBjaGFyKiBzdHJp
bmcsIHVuc2kKIAogaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogewotICAgIFdURjo6
aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgIFdURjo6aW5pdGlhbGl6ZSgpOwogICAgIAogICAg
IGlmIChhcmdjICE9IDgKICAgICAgICAgfHwgIXBhcnNlVmFsdWUoYXJndlsyXSwgJm51bVRocmVh
ZEdyb3VwcykKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL01haW5UaHJlYWQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XVEYvd3RmL01haW5UaHJlYWQuY3BwCShyZXZpc2lvbiAyNjM2MzMpCisrKyBT
b3VyY2UvV1RGL3d0Zi9NYWluVGhyZWFkLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTMsNyArNTMs
NyBAQCB2b2lkIGluaXRpYWxpemVNYWluVGhyZWFkKCkKIHsKICAgICBzdGF0aWMgc3RkOjpvbmNl
X2ZsYWcgaW5pdGlhbGl6ZUtleTsKICAgICBzdGQ6OmNhbGxfb25jZShpbml0aWFsaXplS2V5LCBb
XSB7Ci0gICAgICAgIGluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICAgICAgaW5pdGlhbGl6ZSgp
OwogICAgICAgICBpbml0aWFsaXplTWFpblRocmVhZFBsYXRmb3JtKCk7CiAgICAgICAgIFJ1bkxv
b3A6OmluaXRpYWxpemVNYWluKCk7CiAgICAgfSk7CkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9UaHJl
YWRpbmcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHAJKHJl
dmlzaW9uIDI2MzYzMykKKysrIFNvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTE2OSw3ICsxNjksNyBAQCB2b2lkIFRocmVhZDo6ZW50cnlQb2ludChOZXdUaHJl
YWRDb250ZXh0CiAKIFJlZjxUaHJlYWQ+IFRocmVhZDo6Y3JlYXRlKGNvbnN0IGNoYXIqIG5hbWUs
IEZ1bmN0aW9uPHZvaWQoKT4mJiBlbnRyeVBvaW50LCBUaHJlYWRUeXBlIHRocmVhZFR5cGUpCiB7
Ci0gICAgV1RGOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgV1RGOjppbml0aWFsaXplKCk7
CiAgICAgUmVmPFRocmVhZD4gdGhyZWFkID0gYWRvcHRSZWYoKm5ldyBUaHJlYWQoKSk7CiAgICAg
UmVmPE5ld1RocmVhZENvbnRleHQ+IGNvbnRleHQgPSBhZG9wdFJlZigqbmV3IE5ld1RocmVhZENv
bnRleHQgeyBuYW1lLCBXVEZNb3ZlKGVudHJ5UG9pbnQpLCB0aHJlYWQuY29weVJlZigpIH0pOwog
ICAgIC8vIEluY3JlbWVudCB0aGUgY29udGV4dCByZWYgb24gYmVoYWxmIG9mIHRoZSBjcmVhdGVk
IHRocmVhZC4gV2UgZG8gbm90IGp1c3QgdXNlIGEgdW5pcXVlX3B0ciBhbmQgbGVhayBpdCB0byB0
aGUgY3JlYXRlZCB0aHJlYWQgYmVjYXVzZSBib3RoIHRoZSBjcmVhdG9yIGFuZCBjcmVhdGVkIHRo
cmVhZCBoYXMgYSBuZWVkIHRvIGtlZXAgdGhlIGNvbnRleHQgYWxpdmU6CkBAIC0zNTIsNyArMzUy
LDcgQEAgdm9pZCBUaHJlYWQ6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29ucwogVGhyZWFkU3Bl
Y2lmaWNLZXkgVGhyZWFkOjpzX2tleSA9IEludmFsaWRUaHJlYWRTcGVjaWZpY0tleTsKICNlbmRp
ZgogCi12b2lkIGluaXRpYWxpemVUaHJlYWRpbmcoKQordm9pZCBpbml0aWFsaXplKCkKIHsKICAg
ICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcgb25jZUtleTsKICAgICBzdGQ6OmNhbGxfb25jZShvbmNl
S2V5LCBbXSB7CkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuaAkocmV2aXNpb24gMjYzNjMzKQorKysgU291cmNl
L1dURi93dGYvVGhyZWFkaW5nLmgJKHdvcmtpbmcgY29weSkKQEAgLTY2LDggKzY2LDcgQEAgZW51
bSBjbGFzcyBUaHJlYWRHcm91cEFkZFJlc3VsdDsKIGNsYXNzIFRocmVhZEdyb3VwOwogY2xhc3Mg
UHJpbnRTdHJlYW07CiAKLS8vIFRoaXMgZnVuY3Rpb24gY2FuIGJlIGNhbGxlZCBmcm9tIGFueSB0
aHJlYWRzLgotV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgaW5pdGlhbGl6ZVRocmVhZGluZygpOwor
V1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgaW5pdGlhbGl6ZSgpOwogCiAjaWYgVVNFKFBUSFJFQURT
KQogCkBAIC05NSw3ICs5NCw3IEBAIGVudW0gY2xhc3MgVGhyZWFkVHlwZSA6IHVpbnQ4X3Qgewog
Y2xhc3MgVGhyZWFkIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFRocmVhZD4gewogcHVi
bGljOgogICAgIGZyaWVuZCBjbGFzcyBUaHJlYWRHcm91cDsKLSAgICBmcmllbmQgV1RGX0VYUE9S
VF9QUklWQVRFIHZvaWQgaW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgIGZyaWVuZCBXVEZfRVhQ
T1JUX1BSSVZBVEUgdm9pZCBpbml0aWFsaXplKCk7CiAKICAgICBXVEZfRVhQT1JUX1BSSVZBVEUg
flRocmVhZCgpOwogCkBAIC0zNzcsMTEgKzM3NiwxMSBAQCBpbmxpbmUgVGhyZWFkJiBUaHJlYWQ6
OmN1cnJlbnQoKQogICAgIC8vICAgIFRocmVhZDo6Y3VycmVudCgpIGlzIHVzZWQgb24gbWFpbiB0
aHJlYWQgYmVmb3JlIGl0IGNvdWxkIHBvc3NpYmx5IGJlIHVzZWQKICAgICAvLyAgICBvbiBzZWNv
bmRhcnkgb25lcywgc28gdGhlcmUgaXMgbm8gbmVlZCBmb3Igc3luY2hyb25pemF0aW9uIGhlcmUu
CiAgICAgLy8gV1JUIEphdmFTY3JpcHRDb3JlOgotICAgIC8vICAgIFRocmVhZDo6aW5pdGlhbGl6
ZVRMU0tleSgpIGlzIGluaXRpYWxseSBjYWxsZWQgZnJvbSBpbml0aWFsaXplVGhyZWFkaW5nKCks
IGVuc3VyaW5nCisgICAgLy8gICAgVGhyZWFkOjppbml0aWFsaXplVExTS2V5KCkgaXMgaW5pdGlh
bGx5IGNhbGxlZCBmcm9tIGluaXRpYWxpemUoKSwgZW5zdXJpbmcKICAgICAvLyAgICB0aGlzIGlz
IGluaXRpYWxseSBjYWxsZWQgaW4gYSBzdGQ6OmNhbGxfb25jZSBsb2NrZWQgY29udGV4dC4KICNp
ZiAhSEFWRShGQVNUX1RMUykgJiYgIU9TKFdJTkRPV1MpCiAgICAgaWYgKFVOTElLRUxZKFRocmVh
ZDo6c19rZXkgPT0gSW52YWxpZFRocmVhZFNwZWNpZmljS2V5KSkKLSAgICAgICAgV1RGOjppbml0
aWFsaXplVGhyZWFkaW5nKCk7CisgICAgICAgIFdURjo6aW5pdGlhbGl6ZSgpOwogI2VuZGlmCiAg
ICAgaWYgKGF1dG8qIHRocmVhZCA9IGN1cnJlbnRNYXlCZU51bGwoKSkKICAgICAgICAgcmV0dXJu
ICp0aHJlYWQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjM2MzMpCisrKyBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNiBAQAorMjAyMC0wNi0y
OCAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgorCisgICAgICAgIFJlbmFtZSBp
bml0aWFsaXplVGhyZWFkaW5nIHRvIGluaXRpYWxpemUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzY3NAorCisgICAgICAgIFJldmlld2VkIGJ5IE1h
cmsgTGFtLgorCisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZU1hbmFnZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2VNYW5hZ2VyOjpvcGVuRGF0YWJhc2UpOgor
ICAgICAgICAqIFdlYkNvcmUub3JkZXI6CisgICAgICAgICogYmluZGluZ3MvanMvQ29tbW9uVk0u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29tbW9uVk1TbG93KToKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENvbnRy
b2xsZXI6OmluaXRpYWxpemVNYWluVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENv
bnRyb2xsZXI6OmluaXRpYWxpemVUaHJlYWRpbmcpOiBEZWxldGVkLgorICAgICAgICAqIGJpbmRp
bmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBicmlkZ2Uvb2JqYy9XZWJTY3Jp
cHRPYmplY3QubW06CisgICAgICAgICgrW1dlYlNjcmlwdE9iamVjdCBpbml0aWFsaXplXSk6Cisg
ICAgICAgICogcGxhdGZvcm0vY29jb2EvU2hhcmVkQnVmZmVyQ29jb2EubW06CisgICAgICAgICgr
W1dlYkNvcmVTaGFyZWRCdWZmZXJEYXRhIGluaXRpYWxpemVdKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQubW06CisgICAgICAgIChSdW5XZWJUaHJlYWQpOgorCiAy
MDIwLTA2LTI4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBN
ZWRpYVJlY29yZGVyIHN0b3BSZWNvcmRlcigpIHJldHVybnMgZW1wdHkgQmxvYiBhZnRlciBmaXJz
dCB1c2UKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRlcgkocmV2aXNpb24gMjYzNjMzKQorKysgU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5vcmRlcgkod29ya2luZyBjb3B5KQpAQCAtMjU0NSw3ICsyNTQ1LDYg
QEAgX19aTjdXZWJDb3JlMTFNZW1vcnlDYWNoZTMycmVtb3ZlRnJhZ21lbgogX19aTjdXZWJDb3Jl
MjBDYWNoZWRSZXNvdXJjZUxvYWRlcjEwY2FuUmVxdWVzdEVOU18xNENhY2hlZFJlc291cmNlNFR5
cGVFUktOU180S1VSTEViCiBfX1pON1dlYkNvcmUxNlNjcmlwdENvbnRyb2xsZXI0MnNob3VsZEJ5
cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeUV2CiBfX1pON1dlYkNvcmUxNUpTRE9N
V2luZG93QmFzZThjb21tb25WTUV2Ci1fX1pON1dlYkNvcmUxNlNjcmlwdENvbnRyb2xsZXIxOWlu
aXRpYWxpemVUaHJlYWRpbmdFdgogX19aTjdXZWJDb3JlMTVET01XcmFwcGVyV29ybGRDMUVQTjNK
U0MyVk1FYgogX19aTjNXVEY5SGFzaFRhYmxlSVBON1dlYkNvcmUxNURPTVdyYXBwZXJXb3JsZEVT
M19OU18xN0lkZW50aXR5RXh0cmFjdG9yRU5TXzdQdHJIYXNoSVMzX0VFTlNfMTBIYXNoVHJhaXRz
SVMzX0VFUzhfRTNhZGRJTlNfMjJJZGVudGl0eUhhc2hUcmFuc2xhdG9ySVM2X0VFUzNfUzNfRUVO
U18xOEhhc2hUYWJsZUFkZFJlc3VsdElOU18xN0hhc2hUYWJsZUl0ZXJhdG9ySVMzX1MzX1M0X1M2
X1M4X1M4X0VFRUVSS1QwX1JLVDFfCiBfX1pOM1dURjlIYXNoVGFibGVJUE43V2ViQ29yZTE1RE9N
V3JhcHBlcldvcmxkRVMzX05TXzE3SWRlbnRpdHlFeHRyYWN0b3JFTlNfN1B0ckhhc2hJUzNfRUVO
U18xMEhhc2hUcmFpdHNJUzNfRUVTOF9FNnJlaGFzaEVpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlTWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZU1hbmFnZXIuY3BwCShyZXZp
c2lvbiAyNjM2MzMpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFi
YXNlTWFuYWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5NCw3ICsxOTQsMTEgQEAgdm9pZCBE
YXRhYmFzZU1hbmFnZXI6OnJlbW92ZVByb3Bvc2VkRGF0YQogRXhjZXB0aW9uT3I8UmVmPERhdGFi
YXNlPj4gRGF0YWJhc2VNYW5hZ2VyOjpvcGVuRGF0YWJhc2UoRG9jdW1lbnQmIGRvY3VtZW50LCBj
b25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZXhwZWN0ZWRWZXJzaW9uLCBjb25zdCBT
dHJpbmcmIGRpc3BsYXlOYW1lLCB1bnNpZ25lZCBlc3RpbWF0ZWRTaXplLCBSZWZQdHI8RGF0YWJh
c2VDYWxsYmFjaz4mJiBjcmVhdGlvbkNhbGxiYWNrKQogewogICAgIEFTU0VSVChpc01haW5UaHJl
YWQoKSk7Ci0gICAgU2NyaXB0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZVRocmVhZGluZygpOworCisg
ICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIGNhbGwgdG8gU2NyaXB0Q29udHJvbGxlcjo6aW5pdGlh
bGl6ZU1haW5UaHJlYWQoKS4gVGhlCisgICAgLy8gbWFpbiB0aHJlYWQgc2hvdWxkIGhhdmUgYmVl
biBpbml0aWFsaXplZCBieSBhIFdlYktpdCBlbnRyeXBvaW50IGFscmVhZHkuCisgICAgLy8gQWxz
bywgaW5pdGlhbGl6ZU1haW5UaHJlYWQoKSBkb2VzIG5vdGhpbmcgb24gaU9TLgorICAgIFNjcmlw
dENvbnRyb2xsZXI6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAKICAgICBib29sIHNldFZlcnNp
b25Jbk5ld0RhdGFiYXNlID0gIWNyZWF0aW9uQ2FsbGJhY2s7CiAgICAgYXV0byBvcGVuUmVzdWx0
ID0gb3BlbkRhdGFiYXNlQmFja2VuZChkb2N1bWVudCwgbmFtZSwgZXhwZWN0ZWRWZXJzaW9uLCBk
aXNwbGF5TmFtZSwgZXN0aW1hdGVkU2l6ZSwgc2V0VmVyc2lvbkluTmV3RGF0YWJhc2UpOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ29tbW9uVk0uY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NvbW1vblZNLmNwcAkocmV2aXNpb24gMjYzNjMz
KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ29tbW9uVk0uY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01MCw3ICs1MCwxMCBAQCBKU0M6OlZNJiBjb21tb25WTVNsb3coKQogICAgIEFTU0VS
VChpc01haW5UaHJlYWQoKSk7CiAgICAgQVNTRVJUKCFnX2NvbW1vblZNT3JOdWxsKTsKIAotICAg
IFNjcmlwdENvbnRyb2xsZXI6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICAvLyBGSVhNRTog
UmVtb3ZlIHRoaXMgY2FsbCB0byBTY3JpcHRDb250cm9sbGVyOjppbml0aWFsaXplTWFpblRocmVh
ZCgpLiBUaGUKKyAgICAvLyBtYWluIHRocmVhZCBzaG91bGQgaGF2ZSBiZWVuIGluaXRpYWxpemVk
IGJ5IGEgV2ViS2l0IGVudHJ5cG9pbnQgYWxyZWFkeS4KKyAgICAvLyBBbHNvLCBpbml0aWFsaXpl
TWFpblRocmVhZCgpIGRvZXMgbm90aGluZyBvbiBpT1MuCisgICAgU2NyaXB0Q29udHJvbGxlcjo6
aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKIAogICAgIGF1dG8mIHZtID0gSlNDOjpWTTo6Y3JlYXRl
KEpTQzo6TGFyZ2VIZWFwKS5sZWFrUmVmKCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAyNjM2MzMpCisrKyBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtODIsMTAgKzgyLDEwIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1l
c3BhY2UgSlNDOwogCi12b2lkIFNjcmlwdENvbnRyb2xsZXI6OmluaXRpYWxpemVUaHJlYWRpbmco
KQordm9pZCBTY3JpcHRDb250cm9sbGVyOjppbml0aWFsaXplTWFpblRocmVhZCgpCiB7CiAjaWYg
IVBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Cisg
ICAgSlNDOjppbml0aWFsaXplKCk7CiAgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwog
I2VuZGlmCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9s
bGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29u
dHJvbGxlci5oCShyZXZpc2lvbiAyNjM2MzMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHRDb250cm9sbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTExMiw5ICsxMTIsNyBAQCBw
dWJsaWM6CiAgICAgLy8gVGhpcyBhc3NlcnRzIHRoYXQgVVJMIGFyZ3VtZW50IGlzIGEgSmF2YVNj
cmlwdCBVUkwuCiAgICAgdm9pZCBleGVjdXRlSmF2YVNjcmlwdFVSTChjb25zdCBVUkwmLCBSZWZQ
dHI8U2VjdXJpdHlPcmlnaW4+ID0gbnVsbHB0ciwgU2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZh
U2NyaXB0VVJMID0gUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMKTsKIAotICAgIC8vIFRo
aXMgZnVuY3Rpb24gbXVzdCBiZSBjYWxsZWQgZnJvbSB0aGUgbWFpbiB0aHJlYWQuIEl0IGlzIHNh
ZmUgdG8gY2FsbCBpdCByZXBlYXRlZGx5LgotICAgIC8vIERhcndpbiBpcyBhbiBleGNlcHRpb24g
dG8gdGhpcyBydWxlOiBpdCBpcyBPSyB0byBjYWxsIHRoaXMgZnVuY3Rpb24gZnJvbSBhbnkgdGhy
ZWFkLCBldmVuIHJlZW50cmFudGx5LgotICAgIHN0YXRpYyB2b2lkIGluaXRpYWxpemVUaHJlYWRp
bmcoKTsKKyAgICBzdGF0aWMgdm9pZCBpbml0aWFsaXplTWFpblRocmVhZCgpOwogCiAgICAgdm9p
ZCBsb2FkTW9kdWxlU2NyaXB0SW5Xb3JsZChMb2FkYWJsZU1vZHVsZVNjcmlwdCYsIGNvbnN0IFN0
cmluZyYgbW9kdWxlTmFtZSwgUmVmPE1vZHVsZUZldGNoUGFyYW1ldGVycz4mJiwgRE9NV3JhcHBl
cldvcmxkJik7CiAgICAgdm9pZCBsb2FkTW9kdWxlU2NyaXB0KExvYWRhYmxlTW9kdWxlU2NyaXB0
JiwgY29uc3QgU3RyaW5nJiBtb2R1bGVOYW1lLCBSZWY8TW9kdWxlRmV0Y2hQYXJhbWV0ZXJzPiYm
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL1dlYlNjcmlwdE9iamVjdC5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9icmlkZ2Uvb2JqYy9XZWJTY3JpcHRPYmplY3Qu
bW0JKHJldmlzaW9uIDI2MzYzMykKKysrIFNvdXJjZS9XZWJDb3JlL2JyaWRnZS9vYmpjL1dlYlNj
cmlwdE9iamVjdC5tbQkod29ya2luZyBjb3B5KQpAQCAtMTY0LDcgKzE2NCw3IEBAIHZvaWQgZGlz
Y29ubmVjdFdpbmRvd1dyYXBwZXIoV2ViU2NyaXB0T2IKICsgKHZvaWQpaW5pdGlhbGl6ZQogewog
I2lmICFVU0UoV0VCX1RIUkVBRCkKLSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAg
ICBKU0M6OmluaXRpYWxpemUoKTsKICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAj
ZW5kaWYKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1NoYXJlZEJ1ZmZl
ckNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1No
YXJlZEJ1ZmZlckNvY29hLm1tCShyZXZpc2lvbiAyNjM2MzMpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9TaGFyZWRCdWZmZXJDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtNDQs
NyArNDQsNyBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhEYXRhU2VnbWVudDooY29uCiArICh2
b2lkKWluaXRpYWxpemUKIHsKICNpZiAhVVNFKFdFQl9USFJFQUQpCi0gICAgSlNDOjppbml0aWFs
aXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFsaXplKCk7CiAgICAgV1RGOjppbml0aWFs
aXplTWFpblRocmVhZCgpOwogI2VuZGlmIC8vICFVU0UoV0VCX1RIUkVBRCkKIH0KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV2ViQ29yZVRocmVhZC5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQubW0JKHJl
dmlzaW9uIDI2MzYzMykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV2ViQ29y
ZVRocmVhZC5tbQkod29ya2luZyBjb3B5KQpAQCAtNTg0LDExICs1ODQsMTEgQEAgc3RhdGljIHZv
aWQqIFJ1bldlYlRocmVhZCh2b2lkKikKIHsKICAgICBGbG9hdGluZ1BvaW50RW52aXJvbm1lbnQ6
OnNpbmdsZXRvbigpLnByb3BhZ2F0ZU1haW5UaHJlYWRFbnZpcm9ubWVudCgpOwogCi0gICAgLy8g
V1RGOjppbml0aWFsaXplV2ViVGhyZWFkKCkgbmVlZHMgdG8gYmUgY2FsbGVkIGJlZm9yZSBKU0M6
OmluaXRpYWxpemVUaHJlYWRpbmcoKSBzaW5jZSB0aGUKKyAgICAvLyBXVEY6OmluaXRpYWxpemVX
ZWJUaHJlYWQoKSBuZWVkcyB0byBiZSBjYWxsZWQgYmVmb3JlIEpTQzo6aW5pdGlhbGl6ZSgpIHNp
bmNlIHRoZQogICAgIC8vIGNvZGUgaW52b2tlZCBieSB0aGUgbGF0dGVyIG5lZWRzIHRvIGtub3cg
aWYgaXQncyBydW5uaW5nIG9uIHRoZSBXZWJUaHJlYWQuIFNlZQogICAgIC8vIDxyZGFyOi8vcHJv
YmxlbS84NTAyNDg3Pi4KICAgICBXVEY6OmluaXRpYWxpemVXZWJUaHJlYWQoKTsKLSAgICBKU0M6
OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsKICAgICAKICAg
ICAvLyBNYWtlIHN1cmUgdGhhdCB0aGUgV2ViVGhyZWFkIGFuZCB0aGUgbWFpbiB0aHJlYWQgc2hh
cmUgdGhlIHNhbWUgVGhyZWFkR2xvYmFsRGF0YSBvYmplY3RzLgogICAgIFdlYkNvcmU6OnRocmVh
ZEdsb2JhbERhdGEoKS5zZXRXZWJDb3JlVGhyZWFkRGF0YSgpOwpJbmRleDogU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlz
aW9uIDI2MzYzMykKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMjAtMDYtMjggIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxl
LmNvbT4KKworICAgICAgICBSZW5hbWUgaW5pdGlhbGl6ZVRocmVhZGluZyB0byBpbml0aWFsaXpl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTM2NzQK
KworICAgICAgICBSZXZpZXdlZCBieSBNYXJrIExhbS4KKworICAgICAgICAqIFNoYXJlZC9BUEkv
Yy9XS1N0cmluZy5jcHA6CisgICAgICAgIChXS1N0cmluZ0NvcHlKU1N0cmluZyk6CisgICAgICAg
ICogU2hhcmVkL0NvY29hL1dlYktpdDJJbml0aWFsaXplQ29jb2EubW06CisgICAgICAgIChXZWJL
aXQ6OnJ1bkluaXRpYWxpemF0aW9uQ29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYktpdDJJbml0
aWFsaXplLmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5pdGlhbGl6ZVdlYktpdDIpOgorCiAyMDIw
LTA2LTI4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBNZWRp
YVJlY29yZGVyIHN0b3BSZWNvcmRlcigpIHJldHVybnMgZW1wdHkgQmxvYiBhZnRlciBmaXJzdCB1
c2UKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYktpdDJJbml0aWFsaXplLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJLaXQySW5pdGlhbGl6ZS5jcHAJKHJl
dmlzaW9uIDI2MzYzMykKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYktpdDJJbml0aWFsaXpl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsK
IAogdm9pZCBJbml0aWFsaXplV2ViS2l0MigpCiB7Ci0gICAgSlNDOjppbml0aWFsaXplVGhyZWFk
aW5nKCk7CisgICAgSlNDOjppbml0aWFsaXplKCk7CiAgICAgV1RGOjppbml0aWFsaXplTWFpblRo
cmVhZCgpOwogICAgIEF0b21TdHJpbmc6OmluaXQoKTsKIApJbmRleDogU291cmNlL1dlYktpdC9T
aGFyZWQvQVBJL2MvV0tTdHJpbmcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hh
cmVkL0FQSS9jL1dLU3RyaW5nLmNwcAkocmV2aXNpb24gMjYzNjMzKQorKysgU291cmNlL1dlYktp
dC9TaGFyZWQvQVBJL2MvV0tTdHJpbmcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzMsNiArMTMz
LDYgQEAgV0tTdHJpbmdSZWYgV0tTdHJpbmdDcmVhdGVXaXRoSlNTdHJpbmcoSgogCiBKU1N0cmlu
Z1JlZiBXS1N0cmluZ0NvcHlKU1N0cmluZyhXS1N0cmluZ1JlZiBzdHJpbmdSZWYpCiB7Ci0gICAg
SlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFsaXplKCk7CiAgICAg
cmV0dXJuIE9wYXF1ZUpTU3RyaW5nOjp0cnlDcmVhdGUoV2ViS2l0Ojp0b0ltcGwoc3RyaW5nUmVm
KS0+c3RyaW5nKCkpLmxlYWtSZWYoKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL0Nv
Y29hL1dlYktpdDJJbml0aWFsaXplQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9TaGFyZWQvQ29jb2EvV2ViS2l0MkluaXRpYWxpemVDb2NvYS5tbQkocmV2aXNpb24gMjYzNjMz
KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvV2ViS2l0MkluaXRpYWxpemVDb2NvYS5t
bQkod29ya2luZyBjb3B5KQpAQCAtNTIsNyArNTIsNyBAQCBzdGF0aWMgdm9pZCBydW5Jbml0aWFs
aXphdGlvbkNvZGUodm9pZCogCiAgICAgSW5pdFdlYkNvcmVUaHJlYWRTeXN0ZW1JbnRlcmZhY2Uo
KTsKICNlbmRpZgogCi0gICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjpp
bml0aWFsaXplKCk7CiAgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogCiAgICAgV1RG
OjpSZWZDb3VudGVkQmFzZTo6ZW5hYmxlVGhyZWFkaW5nQ2hlY2tzR2xvYmFsbHkoKTsKSW5kZXg6
IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MzYzMykKKysrIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUwIEBA
CisyMDIwLTA2LTI4ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmVuYW1lIGluaXRpYWxpemVUaHJlYWRpbmcgdG8gaW5pdGlhbGl6ZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzNjc0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTWFyayBMYW0uCisKKyAgICAgICAgKiBIaXN0b3J5L1dlYkJhY2tGb3J3YXJkTGlz
dC5tbToKKyAgICAgICAgKCtbV2ViQmFja0ZvcndhcmRMaXN0IGluaXRpYWxpemVdKToKKyAgICAg
ICAgKiBIaXN0b3J5L1dlYkhpc3RvcnlJdGVtLm1tOgorICAgICAgICAoK1tXZWJIaXN0b3J5SXRl
bSBpbml0aWFsaXplXSk6CisgICAgICAgICogTWlzYy9XZWJDYWNoZS5tbToKKyAgICAgICAgKCtb
V2ViQ2FjaGUgaW5pdGlhbGl6ZV0pOgorICAgICAgICAqIE1pc2MvV2ViRWxlbWVudERpY3Rpb25h
cnkubW06CisgICAgICAgICgrW1dlYkVsZW1lbnREaWN0aW9uYXJ5IGluaXRpYWxpemVdKToKKyAg
ICAgICAgKiBNaXNjL1dlYkljb25EYXRhYmFzZS5tbToKKyAgICAgICAgKiBNaXNjL1dlYlN0cmlu
Z1RydW5jYXRvci5tbToKKyAgICAgICAgKCtbV2ViU3RyaW5nVHJ1bmNhdG9yIGluaXRpYWxpemVd
KToKKyAgICAgICAgKiBQbHVnaW5zL0hvc3RlZC9XZWJIb3N0ZWROZXRzY2FwZVBsdWdpblZpZXcu
bW06CisgICAgICAgICgrW1dlYkhvc3RlZE5ldHNjYXBlUGx1Z2luVmlldyBpbml0aWFsaXplXSk6
CisgICAgICAgICogUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tOgorICAgICAg
ICAqIFBsdWdpbnMvV2ViQmFzZVBsdWdpblBhY2thZ2UubW06CisgICAgICAgICgrW1dlYkJhc2VQ
bHVnaW5QYWNrYWdlIGluaXRpYWxpemVdKToKKyAgICAgICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBl
UGx1Z2luVmlldy5tbToKKyAgICAgICAgKCtbV2ViTmV0c2NhcGVQbHVnaW5WaWV3IGluaXRpYWxp
emVdKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW06CisgICAg
ICAgICgrW1dlYlVuZG9TdGVwIGluaXRpYWxpemVdKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbToKKyAgICAgICAgKCtbV2ViRnJhbWVQb2xpY3lMaXN0
ZW5lciBpbml0aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9XZWJBcmNoaXZlLm1tOgorICAg
ICAgICAoK1tXZWJBcmNoaXZlUHJpdmF0ZSBpbml0aWFsaXplXSk6CisgICAgICAgICogV2ViVmll
dy9XZWJEYXRhU291cmNlLm1tOgorICAgICAgICAoK1tXZWJEYXRhU291cmNlIGluaXRpYWxpemVd
KToKKyAgICAgICAgKiBXZWJWaWV3L1dlYkhUTUxWaWV3Lm1tOgorICAgICAgICAoK1tXZWJIVE1M
Vmlld1ByaXZhdGUgaW5pdGlhbGl6ZV0pOgorICAgICAgICAoK1tXZWJIVE1MVmlldyBpbml0aWFs
aXplXSk6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbToKKyAgICAgICAgKCtb
V2ViUHJlZmVyZW5jZXMgaW5pdGlhbGl6ZV0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViUmVzb3Vy
Y2UubW06CisgICAgICAgICgrW1dlYlJlc291cmNlUHJpdmF0ZSBpbml0aWFsaXplXSk6CisgICAg
ICAgICogV2ViVmlldy9XZWJUZXh0SXRlcmF0b3IubW06CisgICAgICAgICgrW1dlYlRleHRJdGVy
YXRvclByaXZhdGUgaW5pdGlhbGl6ZV0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToK
KyAgICAgICAgKCtbV2ViVmlldyBpbml0aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9XZWJW
aWV3RGF0YS5tbToKKyAgICAgICAgKCtbV2ViVmlld1ByaXZhdGUgaW5pdGlhbGl6ZV0pOgorCiAy
MDIwLTA2LTI2ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CiAKICAgICAgICAg
V2ViU2VjdXJpdHlPcmlnaW4gbmVlZHMgdG8gaW5pdGlhbGl6ZSB0aGUgbWFpbiB0aHJlYWQKSW5k
ZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0hpc3RvcnkvV2ViQmFja0ZvcndhcmRMaXN0Lm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0hpc3RvcnkvV2ViQmFja0Zv
cndhcmRMaXN0Lm1tCShyZXZpc2lvbiAyNjM2MzMpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9IaXN0b3J5L1dlYkJhY2tGb3J3YXJkTGlzdC5tbQkod29ya2luZyBjb3B5KQpAQCAtOTgsNyAr
OTgsNyBAQCAtIChpZClpbml0V2l0aEJhY2tGb3J3YXJkTGlzdDooUmVmPEJhY2tGCiArICh2b2lk
KWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBKU0M6OmluaXRp
YWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsKICAgICBXVEY6OmluaXRp
YWxpemVNYWluVGhyZWFkKCk7CiAjZW5kaWYKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0hpc3RvcnkvV2ViSGlzdG9yeUl0ZW0ubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvSGlzdG9yeS9XZWJIaXN0b3J5SXRlbS5tbQkocmV2aXNpb24gMjYzNjMzKQor
KysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvSGlzdG9yeS9XZWJIaXN0b3J5SXRlbS5tbQkod29y
a2luZyBjb3B5KQpAQCAtMTI1LDcgKzEyNSw3IEBAIHZvaWQgV0tOb3RpZnlIaXN0b3J5SXRlbUNo
YW5nZWQoSGlzdG9yeUkKICsgKHZvaWQpaW5pdGlhbGl6ZQogewogI2lmICFQTEFURk9STShJT1Nf
RkFNSUxZKQotICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgIEpTQzo6aW5pdGlh
bGl6ZSgpOwogICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICNlbmRpZgogfQpJbmRl
eDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJDYWNoZS5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYkNhY2hlLm1tCShyZXZpc2lvbiAyNjM2
MzMpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYkNhY2hlLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC02Myw3ICs2Myw3IEBAIGNsYXNzIERlZmF1bHRTdG9yYWdlU2Vzc2lvblByb3Zp
ZGVyIDogcHUKICsgKHZvaWQpaW5pdGlhbGl6ZQogewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZ
KQotICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgIEpTQzo6aW5pdGlhbGl6ZSgp
OwogICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICNlbmRpZgogfQpJbmRleDogU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJFbGVtZW50RGljdGlvbmFyeS5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYkVsZW1lbnREaWN0aW9uYXJ5
Lm1tCShyZXZpc2lvbiAyNjM2MzMpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dl
YkVsZW1lbnREaWN0aW9uYXJ5Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC02Nyw3ICs2Nyw3IEBAIHN0
YXRpYyB2b2lkIGNhY2hlVmFsdWVGb3JLZXkoY29uc3Qgdm9pZCAKICsgKHZvaWQpaW5pdGlhbGl6
ZQogewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQotICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVh
ZGluZygpOworICAgIEpTQzo6aW5pdGlhbGl6ZSgpOwogICAgIFdURjo6aW5pdGlhbGl6ZU1haW5U
aHJlYWQoKTsKICNlbmRpZgogfQpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9X
ZWJJY29uRGF0YWJhc2UubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
TWlzYy9XZWJJY29uRGF0YWJhc2UubW0JKHJldmlzaW9uIDI2MzYzMykKKysrIFNvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL01pc2MvV2ViSWNvbkRhdGFiYXNlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC05
Nyw3ICs5Nyw3IEBAIEFMTE9XX0RFUFJFQ0FURURfSU1QTEVNRU5UQVRJT05TX0VORAogCiArICh2
b2lkKWluaXRpYWxpemUKIHsKLSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBK
U0M6OmluaXRpYWxpemUoKTsKICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiB9CiAK
SW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViU3RyaW5nVHJ1bmNhdG9yLm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViU3RyaW5nVHJ1
bmNhdG9yLm1tCShyZXZpc2lvbiAyNjM2MzMpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9N
aXNjL1dlYlN0cmluZ1RydW5jYXRvci5tbQkod29ya2luZyBjb3B5KQpAQCAtNTAsNyArNTAsNyBA
QCBzdGF0aWMgV2ViQ29yZTo6Rm9udENhc2NhZGUmIGZvbnRGcm9tTlNGCiAKICsgKHZvaWQpaW5p
dGlhbGl6ZQogewotICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgIEpTQzo6aW5p
dGlhbGl6ZSgpOwogICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKIH0KIApJbmRleDog
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvV2ViQmFz
ZU5ldHNjYXBlUGx1Z2luVmlldy5tbQkocmV2aXNpb24gMjYzNjMzKQorKysgU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCSh3b3JraW5n
IGNvcHkpCkBAIC03MCw3ICs3MCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiArICh2
b2lkKWluaXRpYWxpemUKIHsKLSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBK
U0M6OmluaXRpYWxpemUoKTsKICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAgICAg
V2ViS2l0OjpzZW5kVXNlckNoYW5nZU5vdGlmaWNhdGlvbnMoKTsKIH0KSW5kZXg6IFNvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvV2ViQmFzZVBsdWdpblBhY2thZ2UubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1Z2lucy9XZWJCYXNlUGx1Z2luUGFja2Fn
ZS5tbQkocmV2aXNpb24gMjYzNjMzKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1Z2lu
cy9XZWJCYXNlUGx1Z2luUGFja2FnZS5tbQkod29ya2luZyBjb3B5KQpAQCAtNTksNyArNTksNyBA
QCAtIChOU0FycmF5ICopX3dlYl9sb3dlcmNhc2VTdHJpbmdzOwogKyAodm9pZClpbml0aWFsaXpl
CiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgSlNDOjppbml0aWFsaXplVGhyZWFk
aW5nKCk7CisgICAgSlNDOjppbml0aWFsaXplKCk7CiAgICAgV1RGOjppbml0aWFsaXplTWFpblRo
cmVhZCgpOwogI2VuZGlmCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5z
L1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQkocmV2aXNpb24gMjYzNjMz
KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZp
ZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTE2Miw3ICsxNjIsNyBAQCAtIChOUEVycm9yKWxvYWRS
ZXF1ZXN0OihOU011dGFibGVVUkxSZXF1CiAKICsgKHZvaWQpaW5pdGlhbGl6ZQogewotICAgIEpT
Qzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgIEpTQzo6aW5pdGlhbGl6ZSgpOwogICAgIFdU
Rjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICAgICBzZW5kVXNlckNoYW5nZU5vdGlmaWNhdGlv
bnMoKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvSG9zdGVkL1dl
Ykhvc3RlZE5ldHNjYXBlUGx1Z2luVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9QbHVnaW5zL0hvc3RlZC9XZWJIb3N0ZWROZXRzY2FwZVBsdWdpblZpZXcubW0J
KHJldmlzaW9uIDI2MzYzMykKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvSG9z
dGVkL1dlYkhvc3RlZE5ldHNjYXBlUGx1Z2luVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTA1
LDcgKzEwNSw3IEBAIC0gKEJPT0wpX2hvc3RzTGF5ZXJzSW5XaW5kb3dTZXJ2ZXI7CiArICh2b2lk
KWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBKU0M6OmluaXRp
YWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsKICAgICBXVEY6OmluaXRp
YWxpemVNYWluVGhyZWFkKCk7CiAjZW5kaWYKICAgICBzZW5kVXNlckNoYW5nZU5vdGlmaWNhdGlv
bnMoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkVk
aXRvckNsaWVudC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW0JKHJldmlzaW9uIDI2MzYzMykKKysrIFNvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbQkod29y
a2luZyBjb3B5KQpAQCAtMTM4LDcgKzEzOCw3IEBAIC0gKFVuZG9TdGVwJilzdGVwOwogKyAodm9p
ZClpbml0aWFsaXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgSlNDOjppbml0
aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFsaXplKCk7CiAgICAgV1RGOjppbml0
aWFsaXplTWFpblRocmVhZCgpOwogI2VuZGlmCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNs
aWVudC5tbQkocmV2aXNpb24gMjYzNjMzKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW0JKHdvcmtpbmcgY29weSkKQEAgLTIz
NDIsNyArMjM0Miw3IEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmZpbmlzaGVkTG9hZGkK
ICsgKHZvaWQpaW5pdGlhbGl6ZQogewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQotICAgIEpT
Qzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgIEpTQzo6aW5pdGlhbGl6ZSgpOwogICAgIFdU
Rjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICNlbmRpZgogfQpJbmRleDogU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJBcmNoaXZlLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViQXJjaGl2ZS5tbQkocmV2aXNpb24gMjYzNjMzKQor
KysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJBcmNoaXZlLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC02OSw3ICs2OSw3IEBAIC0gKHZvaWQpc2V0Q29yZUFyY2hpdmU6KFJlZjxMZWdh
Y3lXZWJBcmMKICsgKHZvaWQpaW5pdGlhbGl6ZQogewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZ
KQotICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgIEpTQzo6aW5pdGlhbGl6ZSgp
OwogICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICNlbmRpZgogfQpJbmRleDogU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJEYXRhU291cmNlLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViRGF0YVNvdXJjZS5tbQkocmV2
aXNpb24gMjYzNjMzKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJEYXRh
U291cmNlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xNTMsNyArMTUzLDcgQEAgKyAodm9pZClpbml0
aWFsaXplCiB7CiAgICAgaWYgKHNlbGYgPT0gW1dlYkRhdGFTb3VyY2UgY2xhc3NdKSB7CiAjaWYg
IVBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygp
OworICAgICAgICBKU0M6OmluaXRpYWxpemUoKTsKICAgICAgICAgV1RGOjppbml0aWFsaXplTWFp
blRocmVhZCgpOwogI2VuZGlmCiAgICAgfQpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJIVE1MVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCShyZXZpc2lvbiAyNjM2MzMpCisrKyBTb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0xMDMxLDcgKzEwMzEsNyBAQCArICh2b2lkKWluaXRpYWxpemUKICAgICAvLyBGSVhNRTogU2hv
dWxkbid0IGFsbCBvZiB0aGlzIG1vdmUgaW50byArW1dlYkhUTUxWaWV3IGluaXRpYWxpemVdPwog
ICAgIC8vIEFuZCBzb21lIG9mIHRoaXMgd29yayBpcyBsaWtlbHkgcmVkdW5kYW50IHNpbmNlICtb
V2ViSFRNTFZpZXcgaW5pdGlhbGl6ZV0gaXMgZ3VhcmFudGVlZCB0byBydW4gZmlyc3QuCiAKLSAg
ICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsKICAg
ICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAKICAgICBpZiAoIW9sZFNldEN1cnNvckZv
ck1vdXNlTG9jYXRpb25JTVApIHsKQEAgLTI1NjUsNyArMjU2NSw3IEBAICsgKHZvaWQpaW5pdGlh
bGl6ZQogewogICAgIFtOU0FwcCByZWdpc3RlclNlcnZpY2VzTWVudVNlbmRUeXBlczpbW3NlbGYg
Y2xhc3NdIF9zZWxlY3Rpb25QYXN0ZWJvYXJkVHlwZXNdIHJldHVyblR5cGVzOltbc2VsZiBjbGFz
c10gX2luc2VydGFibGVQYXN0ZWJvYXJkVHlwZXNdXTsKIAotICAgIEpTQzo6aW5pdGlhbGl6ZVRo
cmVhZGluZygpOworICAgIEpTQzo6aW5pdGlhbGl6ZSgpOwogICAgIFdURjo6aW5pdGlhbGl6ZU1h
aW5UaHJlYWQoKTsKIH0KIApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlcy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCShyZXZpc2lvbiAyNjM2MzMpCisrKyBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0zODcsNyArMzg3LDcgQEAgKyAoV2ViUHJlZmVyZW5jZXMgKilzdGFuZGFyZFByZWZlcmVuY2Vz
CiArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBK
U0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsKICAgICBX
VEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAgICAgYm9vbCBhdHRhY2htZW50RWxlbWVudEVu
YWJsZWQgPSBNYWNBcHBsaWNhdGlvbjo6aXNBcHBsZU1haWwoKTsKICAgICBib29sIHdlYlNRTEVu
YWJsZWQgPSBmYWxzZTsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
UmVzb3VyY2UubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJSZXNvdXJjZS5tbQkocmV2aXNpb24gMjYzNjMzKQorKysgU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJSZXNvdXJjZS5tbQkod29ya2luZyBjb3B5KQpAQCAtNjcsNyArNjcs
NyBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhDb3JlUmVzb3VyY2U6KFJlCiArICh2b2lkKWlu
aXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBKU0M6OmluaXRpYWxp
emVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsKICAgICBXVEY6OmluaXRpYWxp
emVNYWluVGhyZWFkKCk7CiAjZW5kaWYKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYlZpZXcvV2ViVGV4dEl0ZXJhdG9yLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViVGV4dEl0ZXJhdG9yLm1tCShyZXZpc2lvbiAyNjM2MzMpCisr
KyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlRleHRJdGVyYXRvci5tbQkod29y
a2luZyBjb3B5KQpAQCAtNDcsNyArNDcsNyBAQCBAaW50ZXJmYWNlIFdlYlRleHRJdGVyYXRvclBy
aXZhdGUgOiBOU09iCiArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZB
TUlMWSkKLSAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxp
emUoKTsKICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAjZW5kaWYKIH0KSW5kZXg6
IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHJldmlzaW9uIDI2
MzYzMykKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkod29y
a2luZyBjb3B5KQpAQCAtNTU1Nyw3ICs1NTU3LDcgQEAgKyAodm9pZClpbml0aWFsaXplCiAgICAg
aW5pdGlhbGl6ZWQgPSBZRVM7CiAKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBKU0M6
OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsKICAgICBXVEY6
OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3RGF0YS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdEYXRhLm1tCShyZXZpc2lvbiAyNjM2MzMpCisr
KyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdEYXRhLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0xNjcsNyArMTY3LDcgQEAgLSAodm9pZClfd2luZG93VmlzaWJpbGl0eUNoYW5n
ZWQ6KE5TTm90aQogKyAodm9pZClpbml0aWFsaXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1J
TFkpCi0gICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFsaXpl
KCk7CiAgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogI2VuZGlmCiB9CkluZGV4OiBT
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjM2MzMpCisrKyBTb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAor
MjAyMC0wNi0yOCAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgorCisgICAgICAg
IFJlbmFtZSBpbml0aWFsaXplVGhyZWFkaW5nIHRvIGluaXRpYWxpemUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzY3NAorCisgICAgICAgIFJldmll
d2VkIGJ5IE1hcmsgTGFtLgorCisgICAgICAgICogV2ViS2l0Q2xhc3NGYWN0b3J5LmNwcDoKKyAg
ICAgICAgKFdlYktpdENsYXNzRmFjdG9yeTo6V2ViS2l0Q2xhc3NGYWN0b3J5KToKKyAgICAgICAg
KiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OldlYlZpZXcpOgorCiAyMDIwLTA2LTI2
ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CiAKICAgICAgICAgSW5pdGlhbGl6
aW5nIHRoZSBtYWluIHRocmVhZCBzaG91bGQgaW5pdGlhbGl6ZSB0aGUgbWFpbiBydW4gbG9vcApJ
bmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViS2l0Q2xhc3NGYWN0b3J5LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJLaXRDbGFzc0ZhY3RvcnkuY3Bw
CShyZXZpc2lvbiAyNjM2MzMpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJLaXRDbGFz
c0ZhY3RvcnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Myw3ICs2Myw3IEBACiBXZWJLaXRDbGFz
c0ZhY3Rvcnk6OldlYktpdENsYXNzRmFjdG9yeShDTFNJRCB0YXJnZXRDbGFzcykKICAgICA6IG1f
dGFyZ2V0Q2xhc3ModGFyZ2V0Q2xhc3MpCiB7Ci0gICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5n
KCk7CisgICAgSlNDOjppbml0aWFsaXplKCk7CiAgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVh
ZCgpOwogCiAgICAgZ0NsYXNzQ291bnQrKzsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYlZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZp
ZXcuY3BwCShyZXZpc2lvbiAyNjM2MzMpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJW
aWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIwLDcgKzQyMCw3IEBAIGJvb2wgV2ViVmlldzo6
c19hbGxvd1NpdGVTcGVjaWZpY0hhY2tzID0KIAogV2ViVmlldzo6V2ViVmlldygpCiB7Ci0gICAg
SlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgSlNDOjppbml0aWFsaXplKCk7CiAgICAg
V1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogICAgIFdURjo6c2V0UHJvY2Vzc1ByaXZpbGVn
ZXMoYWxsUHJpdmlsZWdlcygpKTsKICAgICBXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb246
OnBlcm1pdFByb2Nlc3NUb1VzZUNvb2tpZUFQSSh0cnVlKTsKSW5kZXg6IFRvb2xzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MzYzMykKKysrIFRv
b2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDIwLTA2LTI4
ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVuYW1lIGlu
aXRpYWxpemVUaHJlYWRpbmcgdG8gaW5pdGlhbGl6ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzNjc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWFy
ayBMYW0uCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQXBwbGljYXRp
b25NYW5pZmVzdFBhcnNlci5jcHA6CisgICAgICAgIChBcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2Vy
VGVzdDo6U2V0VXApOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9Db21w
bGV4VGV4dENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6Q29tcGxleFRl
eHRDb250cm9sbGVyVGVzdDo6U2V0VXApOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViQ29yZS9Db250ZW50RXh0ZW5zaW9ucy5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpD
b250ZW50RXh0ZW5zaW9uVGVzdDo6U2V0VXApOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViQ29yZS9TdHJpbmdVdGlsaXRpZXMubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpU
RVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29jb2EvV2ViQ29y
ZU5TVVJMU2Vzc2lvbi5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OldlYkNvcmVOU1VSTFNl
c3Npb25UZXN0OjpTZXRVcCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9nbGliL1dlYktpdEdM
aWIvV2ViS2l0VGVzdFNlcnZlci5jcHA6CisgICAgICAgIChXZWJLaXRUZXN0U2VydmVyOjpXZWJL
aXRUZXN0U2VydmVyKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVy
LmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OmluaXRpYWxpemUpOgorCiAyMDIw
LTA2LTI3ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZl
cnQgcjI2MjY1NCBiZWNhdXNlIGl0IGNhdXNlZCA8cmRhcjovL3Byb2JsZW0vNjQ2NjQxNTY+LgpJ
bmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0FwcGxpY2F0aW9uTWFuaWZl
c3RQYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
Q29yZS9BcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyLmNwcAkocmV2aXNpb24gMjYzNjMzKQorKysg
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0FwcGxpY2F0aW9uTWFuaWZlc3RQYXJz
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBAIHB1YmxpYzoKIAogICAgIHZp
cnR1YWwgdm9pZCBTZXRVcCgpCiAgICAgewotICAgICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRp
bmcoKTsKKyAgICAgICAgSlNDOjppbml0aWFsaXplKCk7CiAgICAgICAgIFdURjo6aW5pdGlhbGl6
ZU1haW5UaHJlYWQoKTsKIAogICAgICAgICBtX21hbmlmZXN0VVJMID0geyB7IH0sICJodHRwczov
L2V4YW1wbGUuY29tL21hbmlmZXN0Lmpzb24iIH07CkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYkNvcmUvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ29tcGxleFRleHRDb250cm9sbGVyLmNw
cAkocmV2aXNpb24gMjYzNjMzKQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3Jl
L0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcg
QEAgY2xhc3MgQ29tcGxleFRleHRDb250cm9sbGVyVGVzdCA6IHB1YmxpYwogcHVibGljOgogICAg
IHZpcnR1YWwgdm9pZCBTZXRVcCgpCiAgICAgewotICAgICAgICBKU0M6OmluaXRpYWxpemVUaHJl
YWRpbmcoKTsKKyAgICAgICAgSlNDOjppbml0aWFsaXplKCk7CiAgICAgICAgIFdURjo6aW5pdGlh
bGl6ZU1haW5UaHJlYWQoKTsKICAgICB9CiB9OwpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJDb3JlL0NvbnRlbnRFeHRlbnNpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ29udGVudEV4dGVuc2lvbnMuY3BwCShyZXZpc2lv
biAyNjM2MzMpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ29udGVudEV4
dGVuc2lvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NSw3ICs3NSw3IEBAIGNsYXNzIENvbnRl
bnRFeHRlbnNpb25UZXN0IDogcHVibGljIHRlc3QKIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
U2V0VXAoKQogICAgIHsKLSAgICAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAg
ICAgIEpTQzo6aW5pdGlhbGl6ZSgpOwogICAgICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFk
KCk7CiAgICAgfQogfTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9T
dHJpbmdVdGlsaXRpZXMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJDb3JlL1N0cmluZ1V0aWxpdGllcy5tbQkocmV2aXNpb24gMjYzNjMzKQorKysgVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL1N0cmluZ1V0aWxpdGllcy5tbQkod29ya2luZyBj
b3B5KQpAQCAtMzUsNyArMzUsNyBAQCBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CiAKIFRFU1Qo
V2ViQ29yZSwgV2lsZGNhcmRTdHJpbmdNYXRjaGluZykKIHsKLSAgICBKU0M6OmluaXRpYWxpemVU
aHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsKIAogICAgIFN0cmluZyB3aWxkY2Fy
ZFN0cmluZyA9ICJhKmIiOwogICAgIEVYUEVDVF9UUlVFKHN0cmluZ01hdGNoZXNXaWxkY2FyZFN0
cmluZygiYWFhYWJiIiwgImEqYiIpKTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViQ29yZS9jb2NvYS9XZWJDb3JlTlNVUkxTZXNzaW9uLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9XZWJDb3JlTlNVUkxTZXNzaW9uLm1t
CShyZXZpc2lvbiAyNjM2MzMpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUv
Y29jb2EvV2ViQ29yZU5TVVJMU2Vzc2lvbi5tbQkod29ya2luZyBjb3B5KQpAQCAtMTE0LDcgKzEx
NCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgU2V0VXAoKQogICAgIHsKICNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQotICAgICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKKyAg
ICAgICAgSlNDOjppbml0aWFsaXplKCk7CiAjZW5kaWYKICAgICAgICAgdmlldyA9IFtbV2ViVmll
dyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU1plcm9SZWN0XTsKICAgICAgICAgdmlldy5mcmFtZUxv
YWREZWxlZ2F0ZSA9IFtbW1Rlc3ROU1VSTFNlc3Npb25Mb2FkZXJEZWxlZ2F0ZSBhbGxvY10gaW5p
dF0gYXV0b3JlbGVhc2VdOwpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9nbGliL1dlYktpdEdM
aWIvV2ViS2l0VGVzdFNlcnZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQ
SS9nbGliL1dlYktpdEdMaWIvV2ViS2l0VGVzdFNlcnZlci5jcHAJKHJldmlzaW9uIDI2MzYzMykK
KysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvZ2xpYi9XZWJLaXRHTGliL1dlYktpdFRlc3RTZXJ2ZXIu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw3IEBACiBXZWJLaXRUZXN0U2VydmVyOjpX
ZWJLaXRUZXN0U2VydmVyKFNlcnZlck9wdGlvbnMgb3B0aW9ucykKIHsKICAgICBpZiAob3B0aW9u
cyAmIFNlcnZlclJ1bkluVGhyZWFkKSB7Ci0gICAgICAgIFdURjo6aW5pdGlhbGl6ZVRocmVhZGlu
ZygpOworICAgICAgICBXVEY6OmluaXRpYWxpemUoKTsKICAgICAgICAgbV9xdWV1ZSA9IFdvcmtR
dWV1ZTo6Y3JlYXRlKCJXZWJLaXRUZXN0U2VydmVyIik7CiAgICAgfQogCkluZGV4OiBUb29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAkocmV2aXNpb24gMjYzNjMzKQorKysg
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQ0NCw3ICs0NDQsNyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjppbml0aWFsaXplKGludCBh
cmdjCiB7CiAgICAgQXV0b2RyYWluZWRQb29sIHBvb2w7CiAKLSAgICBKU0M6OmluaXRpYWxpemVU
aHJlYWRpbmcoKTsKKyAgICBKU0M6OmluaXRpYWxpemUoKTsKICAgICBXVEY6OmluaXRpYWxpemVN
YWluVGhyZWFkKCk7CiAgICAgV1RGOjpzZXRQcm9jZXNzUHJpdmlsZWdlcyhhbGxQcml2aWxlZ2Vz
KCkpOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>