<?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>220606</bug_id>
          
          <creation_ts>2021-01-13 15:21:36 -0800</creation_ts>
          <short_desc>Add a quirk to disable &quot;return to element fullscreen from picture-in-picture&quot; for some sites</short_desc>
          <delta_ts>2021-05-03 12:09:15 -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>Media</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=225322</see_also>
          <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="Peng Liu">peng.liu6</reporter>
          <assigned_to name="Peng Liu">peng.liu6</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1719458</commentid>
    <comment_count>0</comment_count>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-01-13 15:21:36 -0800</bug_when>
    <thetext>Add a quirk to disable &quot;return to element fullscreen from picture-in-picture&quot; for some sites</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719463</commentid>
    <comment_count>1</comment_count>
      <attachid>417572</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-01-13 15:32:41 -0800</bug_when>
    <thetext>Created attachment 417572
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719464</commentid>
    <comment_count>2</comment_count>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-01-13 15:33:27 -0800</bug_when>
    <thetext>&lt;rdar://problem/70788878&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719470</commentid>
    <comment_count>3</comment_count>
      <attachid>417575</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-01-13 16:00:23 -0800</bug_when>
    <thetext>Created attachment 417575
Rebase the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719520</commentid>
    <comment_count>4</comment_count>
      <attachid>417591</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-01-13 19:15:50 -0800</bug_when>
    <thetext>Created attachment 417591
Fix build failures</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719528</commentid>
    <comment_count>5</comment_count>
      <attachid>417595</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-01-13 20:57:17 -0800</bug_when>
    <thetext>Created attachment 417595
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719642</commentid>
    <comment_count>6</comment_count>
      <attachid>417595</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-01-14 10:47:55 -0800</bug_when>
    <thetext>Comment on attachment 417595
Patch

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

&gt; Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:893
&gt; +    if (!_blocksReturnToFullscreenFromPictureInPicture)
&gt; +        _shouldReturnToFullscreenFromPictureInPicture = YES;

This could be simplified to `_shouldReturnToFullscreenFromPictureInPicture = !_blocksReturnToFullscreenFromPictureInPicture`</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719646</commentid>
    <comment_count>7</comment_count>
      <attachid>417595</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-01-14 11:26:46 -0800</bug_when>
    <thetext>Comment on attachment 417595
Patch

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

&gt;&gt; Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:893
&gt;&gt; +        _shouldReturnToFullscreenFromPictureInPicture = YES;
&gt; 
&gt; This could be simplified to `_shouldReturnToFullscreenFromPictureInPicture = !_blocksReturnToFullscreenFromPictureInPicture`

Right!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719694</commentid>
    <comment_count>8</comment_count>
      <attachid>417652</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-01-14 14:17:54 -0800</bug_when>
    <thetext>Created attachment 417652
Revise the patch based on Eric&apos;s comment</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719721</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-14 15:17:25 -0800</bug_when>
    <thetext>Committed r271503: &lt;https://trac.webkit.org/changeset/271503&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 417652.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417572</attachid>
            <date>2021-01-13 15:32:41 -0800</date>
            <delta_ts>2021-01-13 16:00:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220606-20210113153241.patch</filename>
            <type>text/plain</type>
            <size>28807</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMzg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGI1MGJhNjA1YTY0OTUw
N2JlYWIyOTA0ZDM5ZjAyMzk2OWVhMzkyZS4uZjgyOGJmOTE3YzhmMGExYjg3MDgzOGNiYTgzMDk0
YmIwYjIzNWJmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTAxLTEzICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgcXVpcmsgdG8gZGlz
YWJsZSAicmV0dXJuIHRvIGVsZW1lbnQgZnVsbHNjcmVlbiBmcm9tIHBpY3R1cmUtaW4tcGljdHVy
ZSIgZm9yIHNvbWUgc2l0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMDYwNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEZvciBpUGFkcywgd2UgYWRkIHRoZSBzdXBwb3J0IG9mICJyZXR1cm4gdG8gZWxl
bWVudCBmdWxsc2NyZWVuIGZyb20gcGljdHVyZS1pbi1waWN0dXJlIiBpbiByMjY1NTYyLgorICAg
ICAgICBVbmZvcnR1bmF0ZWx5LCBzb21lIHNpdGVzIGRvIG5vdCBzZXQgZWxlbWVudCdzIHN0eWxl
cyBwcm9wZXJseSB3aGVuIGEgdmlkZW8gcmV0dXJucyB0byBmdWxsc2NyZWVuCisgICAgICAgIGZy
b20gcGljdHVyZS1pbi1waWN0dXJlLiBUaGlzIHBhdGNoIGFkZHMgYSBxdWlyayB0byBkaXNhYmxl
IHRoZSBmZWF0dXJlIGZvciB0aG9zZSBzaXRlcyBmb3Igbm93LgorCisgICAgICAgICogcGFnZS9R
dWlya3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UXVpcmtzOjpibG9ja3NSZXR1cm5Ub0Z1bGxz
Y3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJrIGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1F1
aXJrcy5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdC5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdC5tbToKKyAgICAgICAgKFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpzZXR1cEZ1
bGxzY3JlZW4pOgorICAgICAgICAoVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmRpZFN0
YXJ0UGljdHVyZUluUGljdHVyZSk6CisgICAgICAgICogcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVs
bHNjcmVlbkNvbnRyb2xsZXJBVktpdC5tbToKKyAgICAgICAgKFZpZGVvRnVsbHNjcmVlbkNvbnRy
b2xsZXJDb250ZXh0OjpzZXRVcEZ1bGxzY3JlZW4pOgorCiAyMDIxLTAxLTExICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFNhZmFyaSAxNCBvbiAyeCBk
aXNwbGF5IHJlbmRlcnMgTllTIERNViBwYWdlIGFzIGJsdXJyeQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBiZTE4ZTk4
NWVlNDY3NDcxZTI1OGU5YzE0ZGI0MWViOGY4MWM4YWRlLi4xYWNmYjQwNTBmOTZiMjI3ZGY5NTQy
OWQwMmE3NDI1MjQ2MDExMjMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIxLTAxLTEz
ICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgcXVpcmsg
dG8gZGlzYWJsZSAicmV0dXJuIHRvIGVsZW1lbnQgZnVsbHNjcmVlbiBmcm9tIHBpY3R1cmUtaW4t
cGljdHVyZSIgZm9yIHNvbWUgc2l0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyMDYwNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQ
cm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2Vy
UHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNj
cmVlbk1hbmFnZXJQcm94eS5tbToKKyAgICAgICAgKFdlYktpdDo6VmlkZW9GdWxsc2NyZWVuTWFu
YWdlclByb3h5OjpzZXR1cEZ1bGxzY3JlZW5XaXRoSUQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnVsbFNj
cmVlbk1hbmFnZXJQcm94eTo6ZW50ZXJGdWxsU2NyZWVuKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJGdWxs
U2NyZWVuTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3Mv
UGFnZUNsaWVudEltcGxJT1MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJ
bXBsSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6ZW50ZXJGdWxsU2Ny
ZWVuKToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL2Z1bGxzY3JlZW4vV0tGdWxsU2NyZWVuV2lu
ZG93Q29udHJvbGxlcklPUy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvZnVsbHNjcmVlbi9X
S0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVySU9TLm1tOgorICAgICAgICAoLVtXS0Z1bGxTY3Jl
ZW5XaW5kb3dDb250cm9sbGVyIGVudGVyRnVsbFNjcmVlbjpdKToKKyAgICAgICAgKC1bV0tGdWxs
U2NyZWVuV2luZG93Q29udHJvbGxlciBkaWRFbnRlclBpY3R1cmVJblBpY3R1cmVdKToKKyAgICAg
ICAgKC1bV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlciBlbnRlckZ1bGxTY3JlZW5dKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFn
ZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFuYWdlcjo6ZW50ZXJGdWxs
U2NyZWVuRm9yRWxlbWVudCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9J
bmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
SW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudDo6ZW50ZXJGdWxsU2NyZWVuRm9yRWxl
bWVudCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRs
ZVBhZ2VGdWxsU2NyZWVuQ2xpZW50Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9WaWRl
b0Z1bGxzY3JlZW5NYW5hZ2VyLm1tOgorICAgICAgICAoV2ViS2l0OjpWaWRlb0Z1bGxzY3JlZW5N
YW5hZ2VyOjplbnRlclZpZGVvRnVsbHNjcmVlbkZvclZpZGVvRWxlbWVudCk6CisKIDIwMjEtMDEt
MTEgIFBlbmcgTGl1ICA8cGVuZy5saXU2QGFwcGxlLmNvbT4KIAogICAgICAgICBSZWNlaXZpbmcg
dHdvIGVudGVyL2V4aXQgZnVsbHNjcmVlbiBkZWxlZ2F0ZSBjYWxsYmFja3Mgb24gaVBhZCB3aGVu
IHByZXNlbnRpbmcgZnVsbHNjcmVlbiBlbGVtZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9RdWlya3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9RdWlya3MuY3BwCmluZGV4
IDU1NDQzYTBhYzk2ODFlN2IxMTk0YzhmYzY0MmJkMDdmOWJkMDA0MzQuLjQwYTc5OTJmNzA4Y2Uw
YTY4NjQwZjY1NmRkZDRjZjE1NGIxYTg5MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUXVpcmtzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5jcHAKQEAgLTEy
NTgsNCArMTI1OCwyMyBAQCBib29sIFF1aXJrczo6bmVlZHNCbGFja0Z1bGxzY3JlZW5CYWNrZ3Jv
dW5kUXVpcmsoKSBjb25zdAogICAgIHJldHVybiAqbV9uZWVkc0JsYWNrRnVsbHNjcmVlbkJhY2tn
cm91bmRRdWlyazsKIH0KIAorI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKK2Jvb2wgUXVpcmtz
OjpibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJrKCkgY29u
c3QKK3sKKyAgICAvLyBTb21lIHNpdGVzIChlLmcuLCB3b3doZWFkLmNvbSBhbmQgdmltZW8uY29t
KSBkbyBub3Qgc2V0IGVsZW1lbnQncyBzdHlsZXMgcHJvcGVybHkgd2hlbiBhIHZpZGVvCisgICAg
Ly8gcmV0dXJucyB0byBmdWxsc2NyZWVuIGZyb20gcGljdHVyZS1pbi1waWN0dXJlLiBUaGlzIHF1
aXJrIGRpc2FibGVzIHRoZSAicmV0dXJuIHRvIGZ1bGxzY3JlZW4KKyAgICAvLyBmcm9tIHBpY3R1
cmUtaW4tcGljdHVyZSIgZmVhdHVyZSBmb3IgdGhvc2Ugc2l0ZXMuIFdlIHNob3VsZCByZW1vdmUg
dGhlIHF1aXJrIG9uY2UgcmRhcjovL3Byb2JsZW0vNzMxNjc4NjEKKyAgICAvLyBhbmQgcmRhcjov
L3Byb2JsZW0vNzMxNjc5MzEgaGF2ZSBiZWVuIGZpeGVkLgorICAgIGlmICghbmVlZHNRdWlya3Mo
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFtX2Jsb2Nrc1JldHVyblRvRnVs
bHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlUXVpcmspIHsKKyAgICAgICAgYXV0byBkb21haW4g
PSBSZWdpc3RyYWJsZURvbWFpbiB7IG1fZG9jdW1lbnQtPnRvcERvY3VtZW50KCkudXJsKCkgfTsK
KyAgICAgICAgbV9ibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1
aXJrID0gZG9tYWluID09ICJ2aW1lby5jb20iX3MgfHwgZG9tYWluID09ICJ3b3doZWFkLmNvbSJf
czsKKyAgICB9CisKKyAgICByZXR1cm4gKm1fYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBp
Y3R1cmVJblBpY3R1cmVRdWlyazsKK30KKyNlbmRpZgorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1F1aXJrcy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9RdWlya3MuaAppbmRl
eCBkYzQ5ZDE1ZDMzODBhYjQ1YWY1MjNhNzRhNTI3NTc4ZTZkMzA2MjI5Li45ZjhlMzZlN2E4MGMw
NzZmMGJlY2YxZTI0M2NiY2M3MzBhMWMwNmZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1F1aXJrcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmgKQEAgLTEyMyw2
ICsxMjMsMTAgQEAgcHVibGljOgogCiAgICAgYm9vbCBuZWVkc0JsYWNrRnVsbHNjcmVlbkJhY2tn
cm91bmRRdWlyaygpIGNvbnN0OwogCisjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQorICAgIFdF
QkNPUkVfRVhQT1JUIGJvb2wgYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJblBp
Y3R1cmVRdWlyaygpIGNvbnN0OworI2VuZGlmCisKICNpZiBFTkFCTEUoUkVTT1VSQ0VfTE9BRF9T
VEFUSVNUSUNTKQogICAgIHN0YXRpYyBib29sIGlzTWljcm9zb2Z0VGVhbXNSZWRpcmVjdFVSTChj
b25zdCBVUkwmKTsKICAgICBzdGF0aWMgYm9vbCBoYXNTdG9yYWdlQWNjZXNzRm9yQWxsTG9naW5E
b21haW5zKGNvbnN0IEhhc2hTZXQ8UmVnaXN0cmFibGVEb21haW4+JiwgY29uc3QgUmVnaXN0cmFi
bGVEb21haW4mKTsKQEAgLTE2Myw2ICsxNjcsOSBAQCBwcml2YXRlOgogICAgIG11dGFibGUgT3B0
aW9uYWw8Ym9vbD4gbV9uZWVkc1ZQOUZ1bGxSYW5nZUZsYWdRdWlyazsKICAgICBtdXRhYmxlIE9w
dGlvbmFsPGJvb2w+IG1fbmVlZHNIRFJQaXhlbERlcHRoUXVpcms7CiAgICAgbXV0YWJsZSBPcHRp
b25hbDxib29sPiBtX25lZWRzQmxhY2tGdWxsc2NyZWVuQmFja2dyb3VuZFF1aXJrOworI2lmIEVO
QUJMRShGVUxMU0NSRUVOX0FQSSkKKyAgICBtdXRhYmxlIE9wdGlvbmFsPGJvb2w+IG1fYmxvY2tz
UmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1cmVRdWlyazsKKyNlbmRpZgogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL1ZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQuaAppbmRleCBiOTdl
OTg3NTlmYjIzNTliNzlhZTk5ZmI5NzNjZDA0NzZjMWZmYTRjLi5hYWNkZTU2ZDI2NTk0NDMxNDUw
Y2JhY2ZmNDY5ODNmZWQzMzFhOTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pb3MvVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQuaApAQCAtNzksNyAr
NzksNyBAQCBwdWJsaWM6CiAgICAgLy8gUGxheWJhY2tTZXNzaW9uTW9kZWxDbGllbnQKICAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIGV4dGVybmFsUGxheWJhY2tDaGFuZ2VkKGJvb2wgZW5hYmxlZCwg
UGxheWJhY2tTZXNzaW9uTW9kZWw6OkV4dGVybmFsUGxheWJhY2tUYXJnZXRUeXBlLCBjb25zdCBT
dHJpbmcmIGxvY2FsaXplZERldmljZU5hbWUpIGZpbmFsOwogCi0gICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCBzZXR1cEZ1bGxzY3JlZW4oVUlWaWV3JiB2aWRlb1ZpZXcsIGNvbnN0IEludFJlY3QmIGlu
aXRpYWxSZWN0LCBjb25zdCBGbG9hdFNpemUmIHZpZGVvRGltZW5zaW9ucywgVUlWaWV3KiBwYXJl
bnRWaWV3LCBIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUsIGJvb2wg
YWxsb3dzUGljdHVyZUluUGljdHVyZVBsYXliYWNrLCBib29sIHN0YW5kYnkpOworICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgc2V0dXBGdWxsc2NyZWVuKFVJVmlldyYgdmlkZW9WaWV3LCBjb25zdCBJ
bnRSZWN0JiBpbml0aWFsUmVjdCwgY29uc3QgRmxvYXRTaXplJiB2aWRlb0RpbWVuc2lvbnMsIFVJ
VmlldyogcGFyZW50VmlldywgSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5N
b2RlLCBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmVQbGF5YmFjaywgYm9vbCBzdGFuZGJ5LCBi
b29sIGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlUXVpcmspOwog
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZW50ZXJGdWxsc2NyZWVuKCk7CiAgICAgV0VCQ09SRV9F
WFBPUlQgYm9vbCBleGl0RnVsbHNjcmVlbihjb25zdCBJbnRSZWN0JiBmaW5hbFJlY3QpOwogICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgY2xlYW51cEZ1bGxzY3JlZW4oKTsKQEAgLTE5Miw2ICsxOTIs
NyBAQCBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBtX2FsbG93c1BpY3R1cmVJblBpY3R1cmVQbGF5YmFj
ayB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3dpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkIHsg
dHJ1ZSB9OwogICAgIGJvb2wgbV9zaG91bGRSZXR1cm5Ub0Z1bGxzY3JlZW5XaGVuU3RvcHBpbmdQ
aWN0dXJlSW5QaWN0dXJlIHsgZmFsc2UgfTsKKyAgICBib29sIG1fYmxvY2tzUmV0dXJuVG9GdWxs
c2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1cmVRdWlyayB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3Jl
c3RvcmluZ0Z1bGxzY3JlZW5Gb3JQaWN0dXJlSW5QaWN0dXJlU3RvcCB7IGZhbHNlIH07CiAgICAg
Ym9vbCBtX3JldHVybmluZ1RvU3RhbmRieSB7IGZhbHNlIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dC5tbQppbmRleCAyYmIwYzRmNTJhMjFiY2NiZmNkYmJmZWY4MDc4ZTM1OWRjMzU3Y2QzLi4zZTZh
ODljZTQ4YmE4MjExMDdlYTBmYTdmNzhiYTk0NzJhMGE3ZWVlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFW
S2l0Lm1tCkBAIC05MjYsNyArOTI2LDcgQEAgdm9pZCBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdDo6YXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmUoKQogICAgIExPRyhGdWxsc2NyZWVuLCAi
VmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZl
KCVwKSIsIHRoaXMpOwogfQogCi12b2lkIFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Ojpz
ZXR1cEZ1bGxzY3JlZW4oVUlWaWV3JiB2aWRlb1ZpZXcsIGNvbnN0IEludFJlY3QmIGluaXRpYWxS
ZWN0LCBjb25zdCBGbG9hdFNpemUmIHZpZGVvRGltZW5zaW9ucywgVUlWaWV3KiBwYXJlbnRWaWV3
LCBIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUgbW9kZSwgYm9vbCBh
bGxvd3NQaWN0dXJlSW5QaWN0dXJlUGxheWJhY2ssIGJvb2wgc3RhbmRieSkKK3ZvaWQgVmlkZW9G
dWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNldHVwRnVsbHNjcmVlbihVSVZpZXcmIHZpZGVvVmll
dywgY29uc3QgSW50UmVjdCYgaW5pdGlhbFJlY3QsIGNvbnN0IEZsb2F0U2l6ZSYgdmlkZW9EaW1l
bnNpb25zLCBVSVZpZXcqIHBhcmVudFZpZXcsIEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9G
dWxsc2NyZWVuTW9kZSBtb2RlLCBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmVQbGF5YmFjaywg
Ym9vbCBzdGFuZGJ5LCBib29sIGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5Q
aWN0dXJlUXVpcmspCiB7CiAgICAgQVNTRVJUKHN0YW5kYnkgfHwgbW9kZSAhPSBIVE1MTWVkaWFF
bGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVOb25lKTsKICAgICBMT0coRnVsbHNjcmVl
biwgIlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpzZXR1cEZ1bGxzY3JlZW4oJXApIiwg
dGhpcyk7CkBAIC05NDQsNiArOTQ0LDcgQEAgdm9pZCBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdDo6c2V0dXBGdWxsc2NyZWVuKFVJVmlldyYgdmlkZW9WaWV3LCBjb25zdCBJbnQKIAogICAg
IG1fdGFyZ2V0U3RhbmRieSA9IHN0YW5kYnk7CiAgICAgbV90YXJnZXRNb2RlID0gbW9kZTsKKyAg
ICBtX2Jsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlUXVpcmsgPSBi
bG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJrOwogICAgIHNl
dElubGluZVJlY3QoaW5pdGlhbFJlY3QsIHRydWUpOwogICAgIGRvU2V0dXAoKTsKIH0KQEAgLTEx
MzIsNyArMTEzMyw3IEBAIHZvaWQgVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmRpZFN0
YXJ0UGljdHVyZUluUGljdHVyZSgpCiAgICAgICAgICAgICBleGl0RnVsbHNjcmVlbkhhbmRsZXIo
c3VjY2VzcywgZXJyb3IpOwogICAgICAgICB9XTsKICAgICB9IGVsc2UgewotICAgICAgICBpZiAo
bV9zdGFuZGJ5KQorICAgICAgICBpZiAobV9zdGFuZGJ5ICYmICFtX2Jsb2Nrc1JldHVyblRvRnVs
bHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlUXVpcmspCiAgICAgICAgICAgICBtX3Nob3VsZFJl
dHVyblRvRnVsbHNjcmVlbldoZW5TdG9wcGluZ1BpY3R1cmVJblBpY3R1cmUgPSB0cnVlOwogCiAg
ICAgICAgIFttX3dpbmRvdyBzZXRIaWRkZW46WUVTXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZLaXQubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckFW
S2l0Lm1tCmluZGV4IGM4YzA0N2YwY2IxZjFkYjdiZGI1NmM1OTdmZjNhNDQ3ZGQ2MjgyMDcuLjhk
YWJiZjRkYTM5MTM4ZWM2N2FlNzQyMWVhNjkxZTkzNTE3NmY5MmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZLaXQu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkNv
bnRyb2xsZXJBVktpdC5tbQpAQCAtOTk0LDcgKzk5NCw3IEBAIHZvaWQgVmlkZW9GdWxsc2NyZWVu
Q29udHJvbGxlckNvbnRleHQ6OnNldFVwRnVsbHNjcmVlbihIVE1MVmlkZW9FbGVtZW50JiB2aWRl
b0VsCiAKICAgICAgICAgbV92aWRlb0Z1bGxzY3JlZW5WaWV3ID0gYWRvcHROUyhbUEFMOjphbGxv
Y1VJVmlld0luc3RhbmNlKCkgaW5pdF0pOwogCi0gICAgICAgIG1faW50ZXJmYWNlLT5zZXR1cEZ1
bGxzY3JlZW4oKm1fdmlkZW9GdWxsc2NyZWVuVmlldy5nZXQoKSwgdmlkZW9FbGVtZW50Q2xpZW50
UmVjdCwgdmlkZW9EaW1lbnNpb25zLCB2aWV3UmVmLmdldCgpLCBtb2RlLCBhbGxvd3NQaWN0dXJl
SW5QaWN0dXJlLCBmYWxzZSk7CisgICAgICAgIG1faW50ZXJmYWNlLT5zZXR1cEZ1bGxzY3JlZW4o
Km1fdmlkZW9GdWxsc2NyZWVuVmlldy5nZXQoKSwgdmlkZW9FbGVtZW50Q2xpZW50UmVjdCwgdmlk
ZW9EaW1lbnNpb25zLCB2aWV3UmVmLmdldCgpLCBtb2RlLCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJl
LCBmYWxzZSwgZmFsc2UpOwogICAgIH0pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oCmluZGV4
IDVmMzgxNDVlOTJhZTY2ODdjZmE5Y2ZmMTVhZDE2N2Y3NTQ5MzA3OTQuLjM1OGMwYzdhNTUyZTJi
ODI2OGUyYWYyMDNlZTQ5Yjk0ODUxZDMyNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oCkBAIC0x
NzMsNyArMTczLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0
dXJlRGlkQ2hhbmdlKGJvb2wpOwogCiAgICAgLy8gTWVzc2FnZXMgZnJvbSBWaWRlb0Z1bGxzY3Jl
ZW5NYW5hZ2VyCi0gICAgdm9pZCBzZXR1cEZ1bGxzY3JlZW5XaXRoSUQoUGxheWJhY2tTZXNzaW9u
Q29udGV4dElkZW50aWZpZXIsIFdlYktpdDo6TGF5ZXJIb3N0aW5nQ29udGV4dElEIHZpZGVvTGF5
ZXJJRCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgaW5pdGlhbFJlY3QsIGNvbnN0IFdlYkNvcmU6
OkZsb2F0U2l6ZSYgdmlkZW9EaW1lbnNpb25zLCBmbG9hdCBob3N0aW5nU2NhbGVGYWN0b3IsIFdl
YkNvcmU6OkhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSwgYm9vbCBh
bGxvd3NQaWN0dXJlSW5QaWN0dXJlLCBib29sIHN0YW5kYnkpOworICAgIHZvaWQgc2V0dXBGdWxs
c2NyZWVuV2l0aElEKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyLCBXZWJLaXQ6Okxh
eWVySG9zdGluZ0NvbnRleHRJRCB2aWRlb0xheWVySUQsIGNvbnN0IFdlYkNvcmU6OkludFJlY3Qm
IGluaXRpYWxSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIHZpZGVvRGltZW5zaW9ucywg
ZmxvYXQgaG9zdGluZ1NjYWxlRmFjdG9yLCBXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50RW51bXM6
OlZpZGVvRnVsbHNjcmVlbk1vZGUsIGJvb2wgYWxsb3dzUGljdHVyZUluUGljdHVyZSwgYm9vbCBz
dGFuZGJ5LCBib29sIGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJl
UXVpcmspOwogICAgIHZvaWQgc2V0SW5saW5lUmVjdChQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRl
bnRpZmllciwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgaW5saW5lUmVjdCwgYm9vbCB2aXNpYmxl
KTsKICAgICB2b2lkIHNldEhhc1ZpZGVvQ29udGVudExheWVyKFBsYXliYWNrU2Vzc2lvbkNvbnRl
eHRJZGVudGlmaWVyLCBib29sIHZhbHVlKTsKICAgICB2b2lkIHNldEhhc1ZpZGVvKFBsYXliYWNr
U2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyLCBib29sKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tZXNzYWdlcy5p
biBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQ
cm94eS5tZXNzYWdlcy5pbgppbmRleCA0NDEyZWI4NTE0ZjA3MDVlNWZhMmY1MWNmNDU3OTJkNmIx
YmQ5ZWFiLi5mMjY1MjcwNGI5MmEzZTAwYWVjZjZkMGZiNzlmOTAyZjA1ZjRiODY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2Vy
UHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlk
ZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yNCw3ICsyNCw3IEBACiBt
ZXNzYWdlcyAtPiBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkgewogICAgIFNldEhhc1ZpZGVv
KFdlYktpdDo6UGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBib29s
IGhhc1ZpZGVvKQogICAgIFNldFZpZGVvRGltZW5zaW9ucyhXZWJLaXQ6OlBsYXliYWNrU2Vzc2lv
bkNvbnRleHRJZGVudGlmaWVyIGNvbnRleHRJZCwgV2ViQ29yZTo6RmxvYXRTaXplIHZpZGVvRGlt
ZW5zaW9ucykKLSAgICBTZXR1cEZ1bGxzY3JlZW5XaXRoSUQoV2ViS2l0OjpQbGF5YmFja1Nlc3Np
b25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQsIFdlYktpdDo6TGF5ZXJIb3N0aW5nQ29udGV4
dElEIHZpZGVvTGF5ZXJJRCwgV2ViQ29yZTo6SW50UmVjdCBpbml0aWFsUmVjdCwgV2ViQ29yZTo6
RmxvYXRTaXplIHZpZGVvRGltZW5zaW9ucywgZmxvYXQgaG9zdGluZ1NjYWxlRmFjdG9yLCBXZWJD
b3JlOjpIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUgdmlkZW9GdWxs
c2NyZWVuTW9kZSwgYm9vbCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlLCBib29sIHN0YW5kYnkpCisg
ICAgU2V0dXBGdWxsc2NyZWVuV2l0aElEKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uQ29udGV4dElk
ZW50aWZpZXIgY29udGV4dElkLCBXZWJLaXQ6OkxheWVySG9zdGluZ0NvbnRleHRJRCB2aWRlb0xh
eWVySUQsIFdlYkNvcmU6OkludFJlY3QgaW5pdGlhbFJlY3QsIFdlYkNvcmU6OkZsb2F0U2l6ZSB2
aWRlb0RpbWVuc2lvbnMsIGZsb2F0IGhvc3RpbmdTY2FsZUZhY3RvciwgV2ViQ29yZTo6SFRNTE1l
ZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlIHZpZGVvRnVsbHNjcmVlbk1vZGUs
IGJvb2wgYWxsb3dzUGljdHVyZUluUGljdHVyZSwgYm9vbCBzdGFuZGJ5LCBib29sIGJsb2Nrc1Jl
dHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlUXVpcmspCiAjaWYgIVBMQVRGT1JN
KElPU19GQU1JTFkpCiAgICAgRW50ZXJGdWxsc2NyZWVuKFdlYktpdDo6UGxheWJhY2tTZXNzaW9u
Q29udGV4dElkZW50aWZpZXIgY29udGV4dElkKQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHku
bW0KaW5kZXggYzY5MTg0NzEwZjE5MTdkNTA4OWM3NjJlM2IxODg3NDUzODdmZmRlMy4uMjE2Njcz
OGEzNDA2OGEwNjQzMjlhNDBjZTFjNzcyZmExODVkNWNmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94
eS5tbQpAQCAtNTA4LDcgKzUwOCw3IEBAIHZvaWQgVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5
OjpoYXNWaWRlb0luUGljdHVyZUluUGljdHVyZURpZENoYW5nZShib29sIHZhbHVlCiAKICNwcmFn
bWEgbWFyayBNZXNzYWdlcyBmcm9tIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXIKIAotdm9pZCBWaWRl
b0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OnNldHVwRnVsbHNjcmVlbldpdGhJRChQbGF5YmFja1Nl
c3Npb25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQsIFdlYktpdDo6TGF5ZXJIb3N0aW5nQ29u
dGV4dElEIHZpZGVvTGF5ZXJJRCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgaW5pdGlhbFJlY3Qs
IGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgdmlkZW9EaW1lbnNpb25zLCBmbG9hdCBob3N0aW5n
RGV2aWNlU2NhbGVGYWN0b3IsIEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVu
TW9kZSB2aWRlb0Z1bGxzY3JlZW5Nb2RlLCBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmUsIGJv
b2wgc3RhbmRieSkKK3ZvaWQgVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpzZXR1cEZ1bGxz
Y3JlZW5XaXRoSUQoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBX
ZWJLaXQ6OkxheWVySG9zdGluZ0NvbnRleHRJRCB2aWRlb0xheWVySUQsIGNvbnN0IFdlYkNvcmU6
OkludFJlY3QmIGluaXRpYWxSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIHZpZGVvRGlt
ZW5zaW9ucywgZmxvYXQgaG9zdGluZ0RldmljZVNjYWxlRmFjdG9yLCBIVE1MTWVkaWFFbGVtZW50
RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUgdmlkZW9GdWxsc2NyZWVuTW9kZSwgYm9vbCBhbGxv
d3NQaWN0dXJlSW5QaWN0dXJlLCBib29sIHN0YW5kYnksIGJvb2wgYmxvY2tzUmV0dXJuVG9GdWxs
c2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1cmVRdWlyaykKIHsKICAgICBNRVNTQUdFX0NIRUNLKHZp
ZGVvTGF5ZXJJRCk7CiAKQEAgLTU0NCw3ICs1NDQsNyBAQCB2b2lkIFZpZGVvRnVsbHNjcmVlbk1h
bmFnZXJQcm94eTo6c2V0dXBGdWxsc2NyZWVuV2l0aElEKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJ
ZAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgYXV0byogcm9vdE5vZGUgPSBkb3duY2Fz
dDxSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5PigqbV9wYWdlLT5kcmF3aW5nQXJlYSgp
KS5yZW1vdGVMYXllclRyZWVIb3N0KCkucm9vdE5vZGUoKTsKICAgICBVSVZpZXcgKnBhcmVudFZp
ZXcgPSByb290Tm9kZSA/IHJvb3ROb2RlLT51aVZpZXcoKSA6IG5pbDsKLSAgICBpbnRlcmZhY2Ut
PnNldHVwRnVsbHNjcmVlbigqbW9kZWwtPmxheWVySG9zdFZpZXcoKSwgaW5pdGlhbFJlY3QsIHZp
ZGVvRGltZW5zaW9ucywgcGFyZW50VmlldywgdmlkZW9GdWxsc2NyZWVuTW9kZSwgYWxsb3dzUGlj
dHVyZUluUGljdHVyZSwgc3RhbmRieSk7CisgICAgaW50ZXJmYWNlLT5zZXR1cEZ1bGxzY3JlZW4o
Km1vZGVsLT5sYXllckhvc3RWaWV3KCksIGluaXRpYWxSZWN0LCB2aWRlb0RpbWVuc2lvbnMsIHBh
cmVudFZpZXcsIHZpZGVvRnVsbHNjcmVlbk1vZGUsIGFsbG93c1BpY3R1cmVJblBpY3R1cmUsIHN0
YW5kYnksIGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlUXVpcmsp
OwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0odmlkZW9EaW1lbnNpb25zKTsKICAgICBJbnRSZWN0
IGluaXRpYWxXaW5kb3dSZWN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5LmNwcAppbmRleCBkNDgzNmYxNjRkZjk0OWM5ZjY4Mzk1
YzAzYjc4NTVjZmY1ODFmZDk5Li41MWY2MDg3MmRhNTljYzI0NTViMDlmYzZjNDBmOTIwNDljZjdm
OWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFu
YWdlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVu
TWFuYWdlclByb3h5LmNwcApAQCAtMTQ2LDE2ICsxNDYsMTYgQEAgYm9vbCBXZWJGdWxsU2NyZWVu
TWFuYWdlclByb3h5Ojppc0Z1bGxTY3JlZW4oKQogICAgIHJldHVybiBtX2NsaWVudC5pc0Z1bGxT
Y3JlZW4oKTsKIH0KIAotdm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjplbnRlckZ1bGxT
Y3JlZW4oKQordm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjplbnRlckZ1bGxTY3JlZW4o
Ym9vbCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJrKQog
ewotICAgIG1fY2xpZW50LmVudGVyRnVsbFNjcmVlbigpOworICAgIG1fY2xpZW50LmVudGVyRnVs
bFNjcmVlbihibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJr
KTsKIH0KIAogdm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpleGl0RnVsbFNjcmVlbigp
CiB7CiAgICAgbV9jbGllbnQuZXhpdEZ1bGxTY3JlZW4oKTsKIH0KLSAgICAKKwogdm9pZCBXZWJG
dWxsU2NyZWVuTWFuYWdlclByb3h5OjpiZWdhbkVudGVyRnVsbFNjcmVlbihjb25zdCBJbnRSZWN0
JiBpbml0aWFsRnJhbWUsIGNvbnN0IEludFJlY3QmIGZpbmFsRnJhbWUpCiB7CiAgICAgbV9jbGll
bnQuYmVnYW5FbnRlckZ1bGxTY3JlZW4oaW5pdGlhbEZyYW1lLCBmaW5hbEZyYW1lKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHku
aCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkuaApp
bmRleCAwMGQzZDBhYTIzZjQwYjBiYjcxMjg4MjYzMmE0MTllODYwOGJhNjdjLi5mODBmMGIwZGVi
MzViNWU5YjA0YzM4Y2Q5MWViZjMxZTA0NWZkNzdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eS5oCkBAIC00OSw3ICs0OSw3IEBA
IHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBjbG9zZUZ1bGxTY3JlZW5NYW5hZ2VyKCkgPSAw
OwogICAgIHZpcnR1YWwgYm9vbCBpc0Z1bGxTY3JlZW4oKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lk
IGVudGVyRnVsbFNjcmVlbigpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZW50ZXJGdWxsU2NyZWVu
KGJvb2wgYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1cmVRdWlyaykg
PSAwOwogICAgIHZpcnR1YWwgdm9pZCBleGl0RnVsbFNjcmVlbigpID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgYmVnYW5FbnRlckZ1bGxTY3JlZW4oY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgaW5pdGlh
bEZyYW1lLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBmaW5hbEZyYW1lKSA9IDA7CiAgICAgdmly
dHVhbCB2b2lkIGJlZ2FuRXhpdEZ1bGxTY3JlZW4oY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgaW5p
dGlhbEZyYW1lLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBmaW5hbEZyYW1lKSA9IDA7CkBAIC03
OSw3ICs3OSw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICB2b2lkIHN1cHBvcnRzRnVsbFNj
cmVlbihib29sIHdpdGhLZXlib2FyZCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7
Ci0gICAgdm9pZCBlbnRlckZ1bGxTY3JlZW4oKTsKKyAgICB2b2lkIGVudGVyRnVsbFNjcmVlbihi
b29sIGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlUXVpcmspOwog
ICAgIHZvaWQgZXhpdEZ1bGxTY3JlZW4oKTsKICAgICB2b2lkIGJlZ2FuRW50ZXJGdWxsU2NyZWVu
KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGluaXRpYWxGcmFtZSwgY29uc3QgV2ViQ29yZTo6SW50
UmVjdCYgZmluYWxGcmFtZSk7CiAgICAgdm9pZCBiZWdhbkV4aXRGdWxsU2NyZWVuKGNvbnN0IFdl
YkNvcmU6OkludFJlY3QmIGluaXRpYWxGcmFtZSwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgZmlu
YWxGcmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGdWxsU2Ny
ZWVuTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
RnVsbFNjcmVlbk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgppbmRleCBkMDk1ZGRiNGRjMTQ0NjE4
MjgzMGI5YTkzMGU3YTMwNjA4OWQ4NmY1Li5jMDE2ZWU1ZDAyZmQ5N2FjYTFkOGVjZjI2NTViYjFh
YjhlNThlMThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGdWxsU2Ny
ZWVuTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KQEAgLTIzLDcgKzIzLDcgQEAK
ICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiBtZXNzYWdlcyAtPiBXZWJGdWxsU2NyZWVuTWFu
YWdlclByb3h5IE5vdFJlZkNvdW50ZWQgewogICAgIFN1cHBvcnRzRnVsbFNjcmVlbihib29sIHdp
dGhLZXlib2FyZCkgLT4gKGJvb2wgc3VwcG9ydHNGdWxsU2NyZWVuKSBTeW5jaHJvbm91cwotICAg
IEVudGVyRnVsbFNjcmVlbigpCisgICAgRW50ZXJGdWxsU2NyZWVuKGJvb2wgYmxvY2tzUmV0dXJu
VG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1cmVRdWlyaykKICAgICBFeGl0RnVsbFNjcmVl
bigpCiAgICAgQmVnYW5FbnRlckZ1bGxTY3JlZW4oV2ViQ29yZTo6SW50UmVjdCBpbml0aWFsUmVj
dCwgV2ViQ29yZTo6SW50UmVjdCBmaW5hbFJlY3QpCiAgICAgQmVnYW5FeGl0RnVsbFNjcmVlbihX
ZWJDb3JlOjpJbnRSZWN0IGluaXRpYWxSZWN0LCBXZWJDb3JlOjpJbnRSZWN0IGZpbmFsUmVjdCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElP
Uy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKaW5k
ZXggOGFiYjE2ODc5NTE1YWU3ZTQ0OTU1MzViMzM5M2VmYjNiNmZhNzAwZC4uNWE4NWZiMDE5MzU4
M2Q5ZTM3Mjk2NTM1MTVjZTQzYjY0NzdiN2MxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKQEAgLTIwOCw3ICsyMDgsNyBAQCBwcml2YXRl
OgogICAgIC8vIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHlDbGllbnQKICAgICB2b2lkIGNsb3Nl
RnVsbFNjcmVlbk1hbmFnZXIoKSBvdmVycmlkZTsKICAgICBib29sIGlzRnVsbFNjcmVlbigpIG92
ZXJyaWRlOwotICAgIHZvaWQgZW50ZXJGdWxsU2NyZWVuKCkgb3ZlcnJpZGU7CisgICAgdm9pZCBl
bnRlckZ1bGxTY3JlZW4oYm9vbCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUlu
UGljdHVyZVF1aXJrKSBvdmVycmlkZTsKICAgICB2b2lkIGV4aXRGdWxsU2NyZWVuKCkgb3ZlcnJp
ZGU7CiAgICAgdm9pZCBiZWdhbkVudGVyRnVsbFNjcmVlbihjb25zdCBXZWJDb3JlOjpJbnRSZWN0
JiBpbml0aWFsRnJhbWUsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGZpbmFsRnJhbWUpIG92ZXJy
aWRlOwogICAgIHZvaWQgYmVnYW5FeGl0RnVsbFNjcmVlbihjb25zdCBXZWJDb3JlOjpJbnRSZWN0
JiBpbml0aWFsRnJhbWUsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGZpbmFsRnJhbWUpIG92ZXJy
aWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJ
bXBsSU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9T
Lm1tCmluZGV4IDljNTM5ZWVmODQzYjI0OGIyNGQ4OTI3YWFmYTNjYWZkNzliYjM0YTQuLmJlZDQx
MDZkMmIxMGU1ZGY0NzJmNzVjZDQxYmM0ZDk0NjY5OTFkZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KQEAgLTY5Niw5ICs2OTYsOSBA
QCBib29sIFBhZ2VDbGllbnRJbXBsOjppc0Z1bGxTY3JlZW4oKQogICAgIHJldHVybiBbbV93ZWJW
aWV3IGZ1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyXS5pc0Z1bGxTY3JlZW47CiB9CiAKLXZvaWQg
UGFnZUNsaWVudEltcGw6OmVudGVyRnVsbFNjcmVlbigpCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpl
bnRlckZ1bGxTY3JlZW4oYm9vbCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUlu
UGljdHVyZVF1aXJrKQogewotICAgIFtbbV93ZWJWaWV3IGZ1bGxTY3JlZW5XaW5kb3dDb250cm9s
bGVyXSBlbnRlckZ1bGxTY3JlZW5dOworICAgIFtbbV93ZWJWaWV3IGZ1bGxTY3JlZW5XaW5kb3dD
b250cm9sbGVyXSBlbnRlckZ1bGxTY3JlZW46YmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBp
Y3R1cmVJblBpY3R1cmVRdWlya107CiB9CiAKIHZvaWQgUGFnZUNsaWVudEltcGw6OmV4aXRGdWxs
U2NyZWVuKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mdWxsc2Ny
ZWVuL1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXJJT1MuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9mdWxsc2NyZWVuL1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXJJT1MuaApp
bmRleCBmZDM5OWEwYTA3MzJmZjExODU0OWExMmZmOGU0ZTY0MmVmNzM0OWM4Li45MmE3N2Y0YWUw
ZWRlYWI4ODhmYTdlNzVlZjBiZWFlZjI5NGRkZTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvZnVsbHNjcmVlbi9XS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVySU9T
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Z1bGxzY3JlZW4vV0tGdWxsU2Ny
ZWVuV2luZG93Q29udHJvbGxlcklPUy5oCkBAIC0zNCw3ICszNCw3IEBACiBAcHJvcGVydHkgKHJl
YWRvbmx5LCBhc3NpZ24sIG5vbmF0b21pYykgQk9PTCBpc0Z1bGxTY3JlZW47CiAKIC0gKGlkKWlu
aXRXaXRoV2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldzsKLS0gKHZvaWQpZW50ZXJGdWxsU2Ny
ZWVuOworLSAodm9pZCllbnRlckZ1bGxTY3JlZW46KGJvb2wpYmxvY2tzUmV0dXJuVG9GdWxsc2Ny
ZWVuRnJvbVBpY3R1cmVJblBpY3R1cmVRdWlyazsKIC0gKHZvaWQpYmVnYW5FbnRlckZ1bGxTY3Jl
ZW5XaXRoSW5pdGlhbEZyYW1lOihDR1JlY3QpaW5pdGlhbEZyYW1lIGZpbmFsRnJhbWU6KENHUmVj
dClmaW5hbEZyYW1lOwogLSAodm9pZClyZXF1ZXN0RW50ZXJGdWxsU2NyZWVuOwogLSAodm9pZCly
ZXF1ZXN0RXhpdEZ1bGxTY3JlZW47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvZnVsbHNjcmVlbi9XS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVySU9TLm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Z1bGxzY3JlZW4vV0tGdWxsU2NyZWVuV2luZG93Q29u
dHJvbGxlcklPUy5tbQppbmRleCBhOWFjNmQxYTQ5ZjdjN2EwZmI1NDBhOWQ4ZjkwNWI1ODk0NTg3
ZWU0Li42NjBlZWU0OWU2ZDg3ODE3YTkxN2U5MGM1N2MwY2VmYmU3MzU3MzllIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZnVsbHNjcmVlbi9XS0Z1bGxTY3JlZW5XaW5k
b3dDb250cm9sbGVySU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mdWxs
c2NyZWVuL1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXJJT1MubW0KQEAgLTQ3MSw2ICs0NzEs
NyBAQCBwcml2YXRlOgogICAgIEJPT0wgX3Nob3VsZFJldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0
dXJlSW5QaWN0dXJlOwogICAgIEJPT0wgX2VudGVyRnVsbHNjcmVlbk5lZWRzRXhpdFBpY3R1cmVJ
blBpY3R1cmU7CiAgICAgQk9PTCBfcmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1
cmU7CisgICAgQk9PTCBfYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1
cmVRdWlyazsKIAogICAgIENHUmVjdCBfaW5pdGlhbEZyYW1lOwogICAgIENHUmVjdCBfZmluYWxG
cmFtZTsKQEAgLTUyNiw3ICs1MjcsNyBAQCBwcml2YXRlOgogI3ByYWdtYSBtYXJrIC0KICNwcmFn
bWEgbWFyayBFeHRlcm5hbCBJbnRlcmZhY2UKIAotLSAodm9pZCllbnRlckZ1bGxTY3JlZW4KKy0g
KHZvaWQpZW50ZXJGdWxsU2NyZWVuOihib29sKWJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21Q
aWN0dXJlSW5QaWN0dXJlUXVpcmsKIHsKICAgICBpZiAoW3NlbGYgaXNGdWxsU2NyZWVuXSkKICAg
ICAgICAgcmV0dXJuOwpAQCAtNTQwLDYgKzU0MSw3IEBAIHByaXZhdGU6CiAgICAgW3NlbGYgX2lu
dmFsaWRhdGVFVk9yZ2FuaXphdGlvbk5hbWVdOwogCiAgICAgX2Z1bGxTY3JlZW5TdGF0ZSA9IFdl
YktpdDo6V2FpdGluZ1RvRW50ZXJGdWxsU2NyZWVuOworICAgIF9ibG9ja3NSZXR1cm5Ub0Z1bGxz
Y3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJrID0gYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVu
RnJvbVBpY3R1cmVJblBpY3R1cmVRdWlyazsKIAogICAgIF93aW5kb3cgPSBhZG9wdE5TKFtbVUlX
aW5kb3cgYWxsb2NdIGluaXRXaXRoV2luZG93U2NlbmU6W1t3ZWJWaWV3IHdpbmRvd10gd2luZG93
U2NlbmVdXSk7CiAgICAgW193aW5kb3cgc2V0QmFja2dyb3VuZENvbG9yOltVSUNvbG9yIGNsZWFy
Q29sb3JdXTsKQEAgLTg4Nyw3ICs4ODksOSBAQCBwcml2YXRlOgogCiAtICh2b2lkKWRpZEVudGVy
UGljdHVyZUluUGljdHVyZQogewotICAgIF9zaG91bGRSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGlj
dHVyZUluUGljdHVyZSA9IFlFUzsKKyAgICBpZiAoIV9ibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5G
cm9tUGljdHVyZUluUGljdHVyZVF1aXJrKQorICAgICAgICBfc2hvdWxkUmV0dXJuVG9GdWxsc2Ny
ZWVuRnJvbVBpY3R1cmVJblBpY3R1cmUgPSBZRVM7CisKICAgICBpZiAoX2Z1bGxTY3JlZW5TdGF0
ZSA9PSBXZWJLaXQ6OkluRnVsbFNjcmVlbikKICAgICAgICAgW3NlbGYgcmVxdWVzdEV4aXRGdWxs
U2NyZWVuXTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9GdWxsU2Ny
ZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9G
dWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLmNwcAppbmRleCAxYmI3YzA5YzA2MWEzZTk1
Y2I4M2JiZGIwNWFkZWY3M2UzMzFkMWIwLi40ZDgwNzZhMzM1ZDE4MzQwNzU3MTFmNjhmZGYyN2Y0
MmFhNzAxMzMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRnVsbFNjcmVl
bi9XZWJGdWxsU2NyZWVuTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuY3BwCkBAIC0zOCw2ICszOCw3IEBACiAj
aW5jbHVkZSA8V2ViQ29yZS9GcmFtZVZpZXcuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Z1bGxzY3Jl
ZW5NYW5hZ2VyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9IVE1MVmlkZW9FbGVtZW50Lmg+CisjaW5j
bHVkZSA8V2ViQ29yZS9RdWlya3MuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1JlbmRlckxheWVyQmFj
a2luZy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVuZGVyVmlldy5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvU2V0dGluZ3MuaD4KQEAgLTE0NCw3ICsxNDUsNyBAQCB2b2lkIFdlYkZ1bGxTY3JlZW5NYW5h
Z2VyOjplbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KFdlYkNvcmU6OkVsZW1lbnQqIGVsZW1lbnQp
CiAjZW5kaWYKIAogICAgIG1faW5pdGlhbEZyYW1lID0gc2NyZWVuUmVjdE9mQ29udGVudHMobV9l
bGVtZW50LmdldCgpKTsKLSAgICBtX3BhZ2UtPmluamVjdGVkQnVuZGxlRnVsbFNjcmVlbkNsaWVu
dCgpLmVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQobV9wYWdlLmdldCgpLCBlbGVtZW50KTsKKyAg
ICBtX3BhZ2UtPmluamVjdGVkQnVuZGxlRnVsbFNjcmVlbkNsaWVudCgpLmVudGVyRnVsbFNjcmVl
bkZvckVsZW1lbnQobV9wYWdlLmdldCgpLCBlbGVtZW50LCBtX2VsZW1lbnQtPmRvY3VtZW50KCku
cXVpcmtzKCkuYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1cmVRdWly
aygpKTsKIH0KIAogdm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlcjo6ZXhpdEZ1bGxTY3JlZW5Gb3JF
bGVtZW50KFdlYkNvcmU6OkVsZW1lbnQqIGVsZW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVl
bkNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5q
ZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5jcHAKaW5kZXggZjcxM2I1YTQyM2ZjNzll
YTZjNWZiNjAyNDNlNzY4MmYwNTA5ZjY5Yy4uZTFjODVhODQ1YzVhZGJmYjViMTk2M2FiZTQzMjZj
NDQxZTNjODRmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VGdWxs
U2NyZWVuQ2xpZW50LmNwcApAQCAtNTEsMTMgKzUxLDEzIEBAIGJvb2wgSW5qZWN0ZWRCdW5kbGVQ
YWdlRnVsbFNjcmVlbkNsaWVudDo6c3VwcG9ydHNGdWxsU2NyZWVuKFdlYlBhZ2UgKnBhZ2UsIGJv
b2wKICAgICByZXR1cm4gc3VwcG9ydHM7CiB9CiAKLXZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdlRnVs
bFNjcmVlbkNsaWVudDo6ZW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudChXZWJQYWdlICpwYWdlLCBX
ZWJDb3JlOjpFbGVtZW50ICplbGVtZW50KQordm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2Ny
ZWVuQ2xpZW50OjplbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KFdlYlBhZ2UgKnBhZ2UsIFdlYkNv
cmU6OkVsZW1lbnQgKmVsZW1lbnQsIGJvb2wgYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBp
Y3R1cmVJblBpY3R1cmVRdWlyaykKIHsKICAgICBpZiAobV9jbGllbnQuZW50ZXJGdWxsU2NyZWVu
Rm9yRWxlbWVudCkgewogICAgICAgICBSZWZQdHI8SW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlPiBu
b2RlSGFuZGxlID0gSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlOjpnZXRPckNyZWF0ZShlbGVtZW50
KTsKICAgICAgICAgbV9jbGllbnQuZW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudCh0b0FQSShwYWdl
KSwgdG9BUEkobm9kZUhhbmRsZS5nZXQoKSkpOwogICAgIH0gZWxzZQotICAgICAgICBwYWdlLT5z
ZW5kKE1lc3NhZ2VzOjpXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpFbnRlckZ1bGxTY3JlZW4o
KSk7CisgICAgICAgIHBhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJv
eHk6OkVudGVyRnVsbFNjcmVlbihibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUlu
UGljdHVyZVF1aXJrKSk7CiB9CiAKIHZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNs
aWVudDo6ZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KFdlYlBhZ2UgKnBhZ2UsIFdlYkNvcmU6OkVs
ZW1lbnQgKmVsZW1lbnQpCkBAIC02OSw3ICs2OSw2IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdl
RnVsbFNjcmVlbkNsaWVudDo6ZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KFdlYlBhZ2UgKnBhZ2Us
CiAgICAgICAgIHBhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6
OkV4aXRGdWxsU2NyZWVuKCkpOwogfQogCi0KIHZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNj
cmVlbkNsaWVudDo6YmVnYW5FbnRlckZ1bGxTY3JlZW4oV2ViUGFnZSAqcGFnZSwgSW50UmVjdCYg
aW5pdGlhbEZyYW1lLCBJbnRSZWN0JiBmaW5hbEZyYW1lKQogewogICAgIGlmIChtX2NsaWVudC5i
ZWdhbkVudGVyRnVsbFNjcmVlbikKQEAgLTc4LDcgKzc3LDYgQEAgdm9pZCBJbmplY3RlZEJ1bmRs
ZVBhZ2VGdWxsU2NyZWVuQ2xpZW50OjpiZWdhbkVudGVyRnVsbFNjcmVlbihXZWJQYWdlICpwYWdl
LCBJbnQKICAgICAgICAgcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQ
cm94eTo6QmVnYW5FbnRlckZ1bGxTY3JlZW4oaW5pdGlhbEZyYW1lLCBmaW5hbEZyYW1lKSk7CiB9
CiAKLQogdm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50OjpiZWdhbkV4aXRG
dWxsU2NyZWVuKFdlYlBhZ2UgKnBhZ2UsIEludFJlY3QmIGluaXRpYWxGcmFtZSwgSW50UmVjdCYg
ZmluYWxGcmFtZSkKIHsKICAgICBpZiAobV9jbGllbnQuYmVnYW5FeGl0RnVsbFNjcmVlbikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5oCmluZGV4
IDY1NjNiNmM2ZGYzODMzNzlmYjhhYmYxMDlkN2U1OTg1NWE3YzkzOGIuLmY4Y2ZjMzMwNzkyNmI4
ZGNlMzRiNDkyZDYxZGE4NDk5YTBkZGVlMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50
LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQuaApAQCAtNTAsNyArNTAsNyBAQCBjbGFzcyBXZWJQ
YWdlOwogY2xhc3MgSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudCA6IHB1YmxpYyBB
UEk6OkNsaWVudDxXS0J1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50QmFzZT4gewogcHVibGljOgog
ICAgIGJvb2wgc3VwcG9ydHNGdWxsU2NyZWVuKFdlYlBhZ2UqLCBib29sIHdpdGhLZXlib2FyZCk7
Ci0gICAgdm9pZCBlbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KFdlYlBhZ2UqLCBXZWJDb3JlOjpF
bGVtZW50Kik7CisgICAgdm9pZCBlbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KFdlYlBhZ2UqLCBX
ZWJDb3JlOjpFbGVtZW50KiwgYm9vbCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVy
ZUluUGljdHVyZVF1aXJrKTsKICAgICB2b2lkIGV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChXZWJQ
YWdlKiwgV2ViQ29yZTo6RWxlbWVudCopOwogICAgIHZvaWQgYmVnYW5FbnRlckZ1bGxTY3JlZW4o
V2ViUGFnZSosIFdlYkNvcmU6OkludFJlY3QmIGluaXRpYWxGcmFtZSwgV2ViQ29yZTo6SW50UmVj
dCYgZmluYWxGcmFtZSk7CiAgICAgdm9pZCBiZWdhbkV4aXRGdWxsU2NyZWVuKFdlYlBhZ2UqLCBX
ZWJDb3JlOjpJbnRSZWN0JiBpbml0aWFsRnJhbWUsIFdlYkNvcmU6OkludFJlY3QmIGZpbmFsRnJh
bWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1ZpZGVvRnVs
bHNjcmVlbk1hbmFnZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvVmlkZW9G
dWxsc2NyZWVuTWFuYWdlci5tbQppbmRleCA3NzcwM2M2MjhmMGU2N2MxODBlMWFhOTI4MTgwODEz
ZjllOTBlNTNhLi5jNzNkZTBlZTFiZGYxMGUyNGQ2NzExNjc3OTk4YTkzZjg5NTNkYjJmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvVmlkZW9GdWxsc2NyZWVuTWFu
YWdlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvVmlkZW9GdWxsc2Ny
ZWVuTWFuYWdlci5tbQpAQCAtNDUsNiArNDUsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9IVE1MVmlk
ZW9FbGVtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BpY3R1cmVJblBpY3R1cmVTdXBwb3J0Lmg+
CiAjaW1wb3J0IDxXZWJDb3JlL1BsYXRmb3JtQ0FMYXllci5oPgorI2ltcG9ydCA8V2ViQ29yZS9R
dWlya3MuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVuZGVyTGF5ZXIuaD4KICNpbXBvcnQgPFdlYkNv
cmUvUmVuZGVyTGF5ZXJCYWNraW5nLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1JlbmRlclZpZGVvLmg+
CkBAIC0yOTEsNyArMjkyLDcgQEAgdm9pZCBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyOjplbnRlclZp
ZGVvRnVsbHNjcmVlbkZvclZpZGVvRWxlbWVudChIVE1MVmlkZW9FbGVtZW4KICAgICAgICAgaW50
ZXJmYWNlLT5sYXllckhvc3RpbmdDb250ZXh0KCktPnNldFJvb3RMYXllcih2aWRlb0xheWVyLmdl
dCgpKTsKICAgICB9CiAKLSAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OlZpZGVvRnVsbHNjcmVl
bk1hbmFnZXJQcm94eTo6U2V0dXBGdWxsc2NyZWVuV2l0aElEKGNvbnRleHRJZCwgaW50ZXJmYWNl
LT5sYXllckhvc3RpbmdDb250ZXh0KCktPmNvbnRleHRJRCgpLCB2aWRlb1JlY3QsIEZsb2F0U2l6
ZSh2aWRlb0VsZW1lbnQudmlkZW9XaWR0aCgpLCB2aWRlb0VsZW1lbnQudmlkZW9IZWlnaHQoKSks
IG1fcGFnZS0+ZGV2aWNlU2NhbGVGYWN0b3IoKSwgaW50ZXJmYWNlLT5mdWxsc2NyZWVuTW9kZSgp
LCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlLCBzdGFuZGJ5KSk7CisgICAgbV9wYWdlLT5zZW5kKE1l
c3NhZ2VzOjpWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OlNldHVwRnVsbHNjcmVlbldpdGhJ
RChjb250ZXh0SWQsIGludGVyZmFjZS0+bGF5ZXJIb3N0aW5nQ29udGV4dCgpLT5jb250ZXh0SUQo
KSwgdmlkZW9SZWN0LCBGbG9hdFNpemUodmlkZW9FbGVtZW50LnZpZGVvV2lkdGgoKSwgdmlkZW9F
bGVtZW50LnZpZGVvSGVpZ2h0KCkpLCBtX3BhZ2UtPmRldmljZVNjYWxlRmFjdG9yKCksIGludGVy
ZmFjZS0+ZnVsbHNjcmVlbk1vZGUoKSwgYWxsb3dzUGljdHVyZUluUGljdHVyZSwgc3RhbmRieSwg
dmlkZW9FbGVtZW50LmRvY3VtZW50KCkucXVpcmtzKCkuYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVu
RnJvbVBpY3R1cmVJblBpY3R1cmVRdWlyaygpKSk7CiB9CiAKIHZvaWQgVmlkZW9GdWxsc2NyZWVu
TWFuYWdlcjo6ZXhpdFZpZGVvRnVsbHNjcmVlbkZvclZpZGVvRWxlbWVudChXZWJDb3JlOjpIVE1M
VmlkZW9FbGVtZW50JiB2aWRlb0VsZW1lbnQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+
JiYgY29tcGxldGlvbkhhbmRsZXIpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417575</attachid>
            <date>2021-01-13 16:00:23 -0800</date>
            <delta_ts>2021-01-13 19:15:48 -0800</delta_ts>
            <desc>Rebase the patch</desc>
            <filename>bug-220606-20210113160022.patch</filename>
            <type>text/plain</type>
            <size>28815</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNDcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTNjYTgzMjc4MTcyODdi
ZDI2ZjMxZWU4YjIzZjkwZWE4ZGM4ZWI4Yi4uMGQwYzlkZTA1YjI2NDEwOTYzMjc5N2JjZmZiNTNk
NGFmZTFkYmU4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTAxLTEzICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgcXVpcmsgdG8gZGlz
YWJsZSAicmV0dXJuIHRvIGVsZW1lbnQgZnVsbHNjcmVlbiBmcm9tIHBpY3R1cmUtaW4tcGljdHVy
ZSIgZm9yIHNvbWUgc2l0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMDYwNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEZvciBpUGFkcywgd2UgYWRkIHRoZSBzdXBwb3J0IG9mICJyZXR1cm4gdG8gZWxl
bWVudCBmdWxsc2NyZWVuIGZyb20gcGljdHVyZS1pbi1waWN0dXJlIiBpbiByMjY1NTYyLgorICAg
ICAgICBVbmZvcnR1bmF0ZWx5LCBzb21lIHNpdGVzIGRvIG5vdCBzZXQgZWxlbWVudCdzIHN0eWxl
cyBwcm9wZXJseSB3aGVuIGEgdmlkZW8gcmV0dXJucyB0byBmdWxsc2NyZWVuCisgICAgICAgIGZy
b20gcGljdHVyZS1pbi1waWN0dXJlLiBUaGlzIHBhdGNoIGFkZHMgYSBxdWlyayB0byBkaXNhYmxl
IHRoZSBmZWF0dXJlIGZvciB0aG9zZSBzaXRlcyBmb3Igbm93LgorCisgICAgICAgICogcGFnZS9R
dWlya3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UXVpcmtzOjpibG9ja3NSZXR1cm5Ub0Z1bGxz
Y3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJrIGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1F1
aXJrcy5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdC5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdC5tbToKKyAgICAgICAgKFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpzZXR1cEZ1
bGxzY3JlZW4pOgorICAgICAgICAoVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmRpZFN0
YXJ0UGljdHVyZUluUGljdHVyZSk6CisgICAgICAgICogcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVs
bHNjcmVlbkNvbnRyb2xsZXJBVktpdC5tbToKKyAgICAgICAgKFZpZGVvRnVsbHNjcmVlbkNvbnRy
b2xsZXJDb250ZXh0OjpzZXRVcEZ1bGxzY3JlZW4pOgorCiAyMDIxLTAxLTEzICBKZXIgTm9ibGUg
IDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIEZhY2Vib29rIHBhdXNlcyB2aWRlbyBp
biBQaVAgZHVyaW5nIHNjcm9sbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA0OWE3YWEzMWY5YWE5MDJlYTRiYWNhODUz
ZTU4YTBjYmZlNTJmZGI2Li45MmY3MTBiNzM5OWQxNDJkMGJjZjFlMzI5OGE1ZmQ0MjI4NmQ1MmNk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIxLTAxLTEzICBQZW5nIExpdSAgPHBlbmcu
bGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgcXVpcmsgdG8gZGlzYWJsZSAicmV0dXJu
IHRvIGVsZW1lbnQgZnVsbHNjcmVlbiBmcm9tIHBpY3R1cmUtaW4tcGljdHVyZSIgZm9yIHNvbWUg
c2l0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
MDYwNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
VUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW46
CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5t
bToKKyAgICAgICAgKFdlYktpdDo6VmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpzZXR1cEZ1
bGxzY3JlZW5XaXRoSUQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdl
clByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6
ZW50ZXJGdWxsU2NyZWVuKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRnVsbFNjcmVlbk1hbmFn
ZXJQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5
Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1Mu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOgorICAgICAg
ICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6ZW50ZXJGdWxsU2NyZWVuKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvaW9zL2Z1bGxzY3JlZW4vV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlcklPUy5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvZnVsbHNjcmVlbi9XS0Z1bGxTY3JlZW5XaW5kb3dD
b250cm9sbGVySU9TLm1tOgorICAgICAgICAoLVtXS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVy
IGVudGVyRnVsbFNjcmVlbjpdKToKKyAgICAgICAgKC1bV0tGdWxsU2NyZWVuV2luZG93Q29udHJv
bGxlciBkaWRFbnRlclBpY3R1cmVJblBpY3R1cmVdKToKKyAgICAgICAgKC1bV0tGdWxsU2NyZWVu
V2luZG93Q29udHJvbGxlciBlbnRlckZ1bGxTY3JlZW5dKTogRGVsZXRlZC4KKyAgICAgICAgKiBX
ZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJGdWxsU2NyZWVuTWFuYWdlcjo6ZW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudCk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VG
dWxsU2NyZWVuQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVQYWdl
RnVsbFNjcmVlbkNsaWVudDo6ZW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudCk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xp
ZW50Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2Vy
Lm1tOgorICAgICAgICAoV2ViS2l0OjpWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyOjplbnRlclZpZGVv
RnVsbHNjcmVlbkZvclZpZGVvRWxlbWVudCk6CisKIDIwMjEtMDEtMTMgIFBlciBBcm5lIFZvbGxh
biAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gTmV0d29yayBleHRlbnNp
b24gc2FuZGJveCBleHRlbnNpb25zIGFyZSBzb21ldGltZXMgaXNzdWVkIHRvbyBsYXRlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1F1aXJrcy5jcHAKaW5kZXggMWQyODM0ODNhYWVkMTg5ZDlmZDE0NDM0OGFjYWQ0MmYzN2Yy
MjdkOC4uNDk4ODgyODMyNGNhNTc1MzNhNTM1YzhmMDlkOTQ3OWQ0NjUzZTViNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9RdWlya3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUXVpcmtzLmNwcApAQCAtMTI3Myw0ICsxMjczLDIzIEBAIGJvb2wgUXVpcmtzOjpyZXF1aXJl
c1VzZXJHZXN0dXJlVG9QYXVzZUluUGljdHVyZUluUGljdHVyZSgpIGNvbnN0CiAgICAgcmV0dXJu
ICptX3JlcXVpcmVzVXNlckdlc3R1cmVUb1BhdXNlSW5QaWN0dXJlSW5QaWN0dXJlOwogfQogCisj
aWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQorYm9vbCBRdWlya3M6OmJsb2Nrc1JldHVyblRvRnVs
bHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlUXVpcmsoKSBjb25zdAoreworICAgIC8vIFNvbWUg
c2l0ZXMgKGUuZy4sIHdvd2hlYWQuY29tIGFuZCB2aW1lby5jb20pIGRvIG5vdCBzZXQgZWxlbWVu
dCdzIHN0eWxlcyBwcm9wZXJseSB3aGVuIGEgdmlkZW8KKyAgICAvLyByZXR1cm5zIHRvIGZ1bGxz
Y3JlZW4gZnJvbSBwaWN0dXJlLWluLXBpY3R1cmUuIFRoaXMgcXVpcmsgZGlzYWJsZXMgdGhlICJy
ZXR1cm4gdG8gZnVsbHNjcmVlbgorICAgIC8vIGZyb20gcGljdHVyZS1pbi1waWN0dXJlIiBmZWF0
dXJlIGZvciB0aG9zZSBzaXRlcy4gV2Ugc2hvdWxkIHJlbW92ZSB0aGUgcXVpcmsgb25jZSByZGFy
Oi8vcHJvYmxlbS83MzE2Nzg2MQorICAgIC8vIGFuZCByZGFyOi8vcHJvYmxlbS83MzE2NzkzMSBo
YXZlIGJlZW4gZml4ZWQuCisgICAgaWYgKCFuZWVkc1F1aXJrcygpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICBpZiAoIW1fYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJ
blBpY3R1cmVRdWlyaykgeworICAgICAgICBhdXRvIGRvbWFpbiA9IFJlZ2lzdHJhYmxlRG9tYWlu
IHsgbV9kb2N1bWVudC0+dG9wRG9jdW1lbnQoKS51cmwoKSB9OworICAgICAgICBtX2Jsb2Nrc1Jl
dHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlUXVpcmsgPSBkb21haW4gPT0gInZp
bWVvLmNvbSJfcyB8fCBkb21haW4gPT0gIndvd2hlYWQuY29tIl9zOworICAgIH0KKworICAgIHJl
dHVybiAqbV9ibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJr
OworfQorI2VuZGlmCisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtz
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5oCmluZGV4IGI5ODZiODZhNjBlYjg5YTNi
MTE4OTgxODk0Y2MyNWJlMjY3MjE1OTkuLmRlMmU3N2U0N2QwMTljZTg5NTU0OGJjNDEwNTAxODIx
YWFlN2FhNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9RdWlya3MuaApAQCAtMTI5LDYgKzEyOSwxMCBAQCBwdWJsaWM6
CiAKICAgICBib29sIHJlcXVpcmVzVXNlckdlc3R1cmVUb1BhdXNlSW5QaWN0dXJlSW5QaWN0dXJl
KCkgY29uc3Q7CiAKKyNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCisgICAgV0VCQ09SRV9FWFBP
UlQgYm9vbCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJr
KCkgY29uc3Q7CisjZW5kaWYKKwogI2lmIEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1Mp
CiAgICAgc3RhdGljIGJvb2wgaXNNaWNyb3NvZnRUZWFtc1JlZGlyZWN0VVJMKGNvbnN0IFVSTCYp
OwogICAgIHN0YXRpYyBib29sIGhhc1N0b3JhZ2VBY2Nlc3NGb3JBbGxMb2dpbkRvbWFpbnMoY29u
c3QgSGFzaFNldDxSZWdpc3RyYWJsZURvbWFpbj4mLCBjb25zdCBSZWdpc3RyYWJsZURvbWFpbiYp
OwpAQCAtMTcwLDYgKzE3NCw5IEBAIHByaXZhdGU6CiAgICAgbXV0YWJsZSBPcHRpb25hbDxib29s
PiBtX25lZWRzSERSUGl4ZWxEZXB0aFF1aXJrOwogICAgIG11dGFibGUgT3B0aW9uYWw8Ym9vbD4g
bV9uZWVkc0JsYWNrRnVsbHNjcmVlbkJhY2tncm91bmRRdWlyazsKICAgICBtdXRhYmxlIE9wdGlv
bmFsPGJvb2w+IG1fcmVxdWlyZXNVc2VyR2VzdHVyZVRvUGF1c2VJblBpY3R1cmVJblBpY3R1cmU7
CisjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQorICAgIG11dGFibGUgT3B0aW9uYWw8Ym9vbD4g
bV9ibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJrOworI2Vu
ZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oCmlu
ZGV4IGI5N2U5ODc1OWZiMjM1OWI3OWFlOTlmYjk3M2NkMDQ3NmMxZmZhNGMuLmFhY2RlNTZkMjY1
OTQ0MzE0NTBjYmFjZmY0Njk4M2ZlZDMzMWE5MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oCkBA
IC03OSw3ICs3OSw3IEBAIHB1YmxpYzoKICAgICAvLyBQbGF5YmFja1Nlc3Npb25Nb2RlbENsaWVu
dAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZXh0ZXJuYWxQbGF5YmFja0NoYW5nZWQoYm9vbCBl
bmFibGVkLCBQbGF5YmFja1Nlc3Npb25Nb2RlbDo6RXh0ZXJuYWxQbGF5YmFja1RhcmdldFR5cGUs
IGNvbnN0IFN0cmluZyYgbG9jYWxpemVkRGV2aWNlTmFtZSkgZmluYWw7CiAKLSAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHNldHVwRnVsbHNjcmVlbihVSVZpZXcmIHZpZGVvVmlldywgY29uc3QgSW50
UmVjdCYgaW5pdGlhbFJlY3QsIGNvbnN0IEZsb2F0U2l6ZSYgdmlkZW9EaW1lbnNpb25zLCBVSVZp
ZXcqIHBhcmVudFZpZXcsIEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9k
ZSwgYm9vbCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlUGxheWJhY2ssIGJvb2wgc3RhbmRieSk7Cisg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXR1cEZ1bGxzY3JlZW4oVUlWaWV3JiB2aWRlb1ZpZXcs
IGNvbnN0IEludFJlY3QmIGluaXRpYWxSZWN0LCBjb25zdCBGbG9hdFNpemUmIHZpZGVvRGltZW5z
aW9ucywgVUlWaWV3KiBwYXJlbnRWaWV3LCBIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVs
bHNjcmVlbk1vZGUsIGJvb2wgYWxsb3dzUGljdHVyZUluUGljdHVyZVBsYXliYWNrLCBib29sIHN0
YW5kYnksIGJvb2wgYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1cmVR
dWlyayk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBlbnRlckZ1bGxzY3JlZW4oKTsKICAgICBX
RUJDT1JFX0VYUE9SVCBib29sIGV4aXRGdWxsc2NyZWVuKGNvbnN0IEludFJlY3QmIGZpbmFsUmVj
dCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBjbGVhbnVwRnVsbHNjcmVlbigpOwpAQCAtMTky
LDYgKzE5Miw3IEBAIHByb3RlY3RlZDoKICAgICBib29sIG1fYWxsb3dzUGljdHVyZUluUGljdHVy
ZVBsYXliYWNrIHsgZmFsc2UgfTsKICAgICBib29sIG1fd2lyZWxlc3NWaWRlb1BsYXliYWNrRGlz
YWJsZWQgeyB0cnVlIH07CiAgICAgYm9vbCBtX3Nob3VsZFJldHVyblRvRnVsbHNjcmVlbldoZW5T
dG9wcGluZ1BpY3R1cmVJblBpY3R1cmUgeyBmYWxzZSB9OworICAgIGJvb2wgbV9ibG9ja3NSZXR1
cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJrIHsgZmFsc2UgfTsKICAgICBi
b29sIG1fcmVzdG9yaW5nRnVsbHNjcmVlbkZvclBpY3R1cmVJblBpY3R1cmVTdG9wIHsgZmFsc2Ug
fTsKICAgICBib29sIG1fcmV0dXJuaW5nVG9TdGFuZGJ5IHsgZmFsc2UgfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFW
S2l0Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNjcmVlbkludGVy
ZmFjZUFWS2l0Lm1tCmluZGV4IDJiYjBjNGY1MmEyMWJjY2JmY2RiYmZlZjgwNzhlMzU5ZGMzNTdj
ZDMuLjNlNmE4OWNlNDhiYTgyMTEwN2VhMGZhN2Y3OGJhOTQ3MmEwYTdlZWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVuSW50
ZXJmYWNlQVZLaXQubW0KQEAgLTkyNiw3ICs5MjYsNyBAQCB2b2lkIFZpZGVvRnVsbHNjcmVlbklu
dGVyZmFjZUFWS2l0OjphcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZSgpCiAgICAgTE9HKEZ1bGxz
Y3JlZW4sICJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6YXBwbGljYXRpb25EaWRCZWNv
bWVBY3RpdmUoJXApIiwgdGhpcyk7CiB9CiAKLXZvaWQgVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNl
QVZLaXQ6OnNldHVwRnVsbHNjcmVlbihVSVZpZXcmIHZpZGVvVmlldywgY29uc3QgSW50UmVjdCYg
aW5pdGlhbFJlY3QsIGNvbnN0IEZsb2F0U2l6ZSYgdmlkZW9EaW1lbnNpb25zLCBVSVZpZXcqIHBh
cmVudFZpZXcsIEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSBtb2Rl
LCBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmVQbGF5YmFjaywgYm9vbCBzdGFuZGJ5KQordm9p
ZCBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6c2V0dXBGdWxsc2NyZWVuKFVJVmlldyYg
dmlkZW9WaWV3LCBjb25zdCBJbnRSZWN0JiBpbml0aWFsUmVjdCwgY29uc3QgRmxvYXRTaXplJiB2
aWRlb0RpbWVuc2lvbnMsIFVJVmlldyogcGFyZW50VmlldywgSFRNTE1lZGlhRWxlbWVudEVudW1z
OjpWaWRlb0Z1bGxzY3JlZW5Nb2RlIG1vZGUsIGJvb2wgYWxsb3dzUGljdHVyZUluUGljdHVyZVBs
YXliYWNrLCBib29sIHN0YW5kYnksIGJvb2wgYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBp
Y3R1cmVJblBpY3R1cmVRdWlyaykKIHsKICAgICBBU1NFUlQoc3RhbmRieSB8fCBtb2RlICE9IEhU
TUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZU5vbmUpOwogICAgIExPRyhG
dWxsc2NyZWVuLCAiVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNldHVwRnVsbHNjcmVl
biglcCkiLCB0aGlzKTsKQEAgLTk0NCw2ICs5NDQsNyBAQCB2b2lkIFZpZGVvRnVsbHNjcmVlbklu
dGVyZmFjZUFWS2l0OjpzZXR1cEZ1bGxzY3JlZW4oVUlWaWV3JiB2aWRlb1ZpZXcsIGNvbnN0IElu
dAogCiAgICAgbV90YXJnZXRTdGFuZGJ5ID0gc3RhbmRieTsKICAgICBtX3RhcmdldE1vZGUgPSBt
b2RlOworICAgIG1fYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1cmVR
dWlyayA9IGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlUXVpcms7
CiAgICAgc2V0SW5saW5lUmVjdChpbml0aWFsUmVjdCwgdHJ1ZSk7CiAgICAgZG9TZXR1cCgpOwog
fQpAQCAtMTEzMiw3ICsxMTMzLDcgQEAgdm9pZCBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dDo6ZGlkU3RhcnRQaWN0dXJlSW5QaWN0dXJlKCkKICAgICAgICAgICAgIGV4aXRGdWxsc2NyZWVu
SGFuZGxlcihzdWNjZXNzLCBlcnJvcik7CiAgICAgICAgIH1dOwogICAgIH0gZWxzZSB7Ci0gICAg
ICAgIGlmIChtX3N0YW5kYnkpCisgICAgICAgIGlmIChtX3N0YW5kYnkgJiYgIW1fYmxvY2tzUmV0
dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1cmVRdWlyaykKICAgICAgICAgICAgIG1f
c2hvdWxkUmV0dXJuVG9GdWxsc2NyZWVuV2hlblN0b3BwaW5nUGljdHVyZUluUGljdHVyZSA9IHRy
dWU7CiAKICAgICAgICAgW21fd2luZG93IHNldEhpZGRlbjpZRVNdOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJBVktp
dC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250
cm9sbGVyQVZLaXQubW0KaW5kZXggYzhjMDQ3ZjBjYjFmMWRiN2JkYjU2YzU5N2ZmM2E0NDdkZDYy
ODIwNy4uOGRhYmJmNGRhMzkxMzhlYzY3YWU3NDIxZWE2OTFlOTM1MTc2ZjkyYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xs
ZXJBVktpdC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxs
c2NyZWVuQ29udHJvbGxlckFWS2l0Lm1tCkBAIC05OTQsNyArOTk0LDcgQEAgdm9pZCBWaWRlb0Z1
bGxzY3JlZW5Db250cm9sbGVyQ29udGV4dDo6c2V0VXBGdWxsc2NyZWVuKEhUTUxWaWRlb0VsZW1l
bnQmIHZpZGVvRWwKIAogICAgICAgICBtX3ZpZGVvRnVsbHNjcmVlblZpZXcgPSBhZG9wdE5TKFtQ
QUw6OmFsbG9jVUlWaWV3SW5zdGFuY2UoKSBpbml0XSk7CiAKLSAgICAgICAgbV9pbnRlcmZhY2Ut
PnNldHVwRnVsbHNjcmVlbigqbV92aWRlb0Z1bGxzY3JlZW5WaWV3LmdldCgpLCB2aWRlb0VsZW1l
bnRDbGllbnRSZWN0LCB2aWRlb0RpbWVuc2lvbnMsIHZpZXdSZWYuZ2V0KCksIG1vZGUsIGFsbG93
c1BpY3R1cmVJblBpY3R1cmUsIGZhbHNlKTsKKyAgICAgICAgbV9pbnRlcmZhY2UtPnNldHVwRnVs
bHNjcmVlbigqbV92aWRlb0Z1bGxzY3JlZW5WaWV3LmdldCgpLCB2aWRlb0VsZW1lbnRDbGllbnRS
ZWN0LCB2aWRlb0RpbWVuc2lvbnMsIHZpZXdSZWYuZ2V0KCksIG1vZGUsIGFsbG93c1BpY3R1cmVJ
blBpY3R1cmUsIGZhbHNlLCBmYWxzZSk7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5
LmgKaW5kZXggNWYzODE0NWU5MmFlNjY4N2NmYTljZmYxNWFkMTY3Zjc1NDkzMDc5NC4uMzU4YzBj
N2E1NTJlMmI4MjY4ZTJhZjIwM2VlNDliOTQ4NTFkMzI1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5LmgKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5
LmgKQEAgLTE3Myw3ICsxNzMsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgaGFzVmlkZW9JblBpY3R1
cmVJblBpY3R1cmVEaWRDaGFuZ2UoYm9vbCk7CiAKICAgICAvLyBNZXNzYWdlcyBmcm9tIFZpZGVv
RnVsbHNjcmVlbk1hbmFnZXIKLSAgICB2b2lkIHNldHVwRnVsbHNjcmVlbldpdGhJRChQbGF5YmFj
a1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciwgV2ViS2l0OjpMYXllckhvc3RpbmdDb250ZXh0SUQg
dmlkZW9MYXllcklELCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBpbml0aWFsUmVjdCwgY29uc3Qg
V2ViQ29yZTo6RmxvYXRTaXplJiB2aWRlb0RpbWVuc2lvbnMsIGZsb2F0IGhvc3RpbmdTY2FsZUZh
Y3RvciwgV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2Rl
LCBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmUsIGJvb2wgc3RhbmRieSk7CisgICAgdm9pZCBz
ZXR1cEZ1bGxzY3JlZW5XaXRoSUQoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIsIFdl
YktpdDo6TGF5ZXJIb3N0aW5nQ29udGV4dElEIHZpZGVvTGF5ZXJJRCwgY29uc3QgV2ViQ29yZTo6
SW50UmVjdCYgaW5pdGlhbFJlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgdmlkZW9EaW1l
bnNpb25zLCBmbG9hdCBob3N0aW5nU2NhbGVGYWN0b3IsIFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1l
bnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSwgYm9vbCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJl
LCBib29sIHN0YW5kYnksIGJvb2wgYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJ
blBpY3R1cmVRdWlyayk7CiAgICAgdm9pZCBzZXRJbmxpbmVSZWN0KFBsYXliYWNrU2Vzc2lvbkNv
bnRleHRJZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBpbmxpbmVSZWN0LCBib29s
IHZpc2libGUpOwogICAgIHZvaWQgc2V0SGFzVmlkZW9Db250ZW50TGF5ZXIoUGxheWJhY2tTZXNz
aW9uQ29udGV4dElkZW50aWZpZXIsIGJvb2wgdmFsdWUpOwogICAgIHZvaWQgc2V0SGFzVmlkZW8o
UGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIsIGJvb2wpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1l
c3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVu
TWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDQ0MTJlYjg1MTRmMDcwNWU1ZmEyZjUxY2Y0
NTc5MmQ2YjFiZDllYWIuLmYyNjUyNzA0YjkyYTNlMDBhZWNmNmQwZmI3OWY5MDJmMDVmNGI4NjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVl
bk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KQEAgLTI0LDcgKzI0
LDcgQEAKIG1lc3NhZ2VzIC0+IFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eSB7CiAgICAgU2V0
SGFzVmlkZW8oV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0
SWQsIGJvb2wgaGFzVmlkZW8pCiAgICAgU2V0VmlkZW9EaW1lbnNpb25zKFdlYktpdDo6UGxheWJh
Y2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBXZWJDb3JlOjpGbG9hdFNpemUg
dmlkZW9EaW1lbnNpb25zKQotICAgIFNldHVwRnVsbHNjcmVlbldpdGhJRChXZWJLaXQ6OlBsYXli
YWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGNvbnRleHRJZCwgV2ViS2l0OjpMYXllckhvc3Rp
bmdDb250ZXh0SUQgdmlkZW9MYXllcklELCBXZWJDb3JlOjpJbnRSZWN0IGluaXRpYWxSZWN0LCBX
ZWJDb3JlOjpGbG9hdFNpemUgdmlkZW9EaW1lbnNpb25zLCBmbG9hdCBob3N0aW5nU2NhbGVGYWN0
b3IsIFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSB2
aWRlb0Z1bGxzY3JlZW5Nb2RlLCBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmUsIGJvb2wgc3Rh
bmRieSkKKyAgICBTZXR1cEZ1bGxzY3JlZW5XaXRoSUQoV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25D
b250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQsIFdlYktpdDo6TGF5ZXJIb3N0aW5nQ29udGV4dElE
IHZpZGVvTGF5ZXJJRCwgV2ViQ29yZTo6SW50UmVjdCBpbml0aWFsUmVjdCwgV2ViQ29yZTo6Rmxv
YXRTaXplIHZpZGVvRGltZW5zaW9ucywgZmxvYXQgaG9zdGluZ1NjYWxlRmFjdG9yLCBXZWJDb3Jl
OjpIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUgdmlkZW9GdWxsc2Ny
ZWVuTW9kZSwgYm9vbCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlLCBib29sIHN0YW5kYnksIGJvb2wg
YmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1cmVRdWlyaykKICNpZiAh
UExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBFbnRlckZ1bGxzY3JlZW4oV2ViS2l0OjpQbGF5YmFj
a1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQpCiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94
eS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFn
ZXJQcm94eS5tbQppbmRleCBjNjkxODQ3MTBmMTkxN2Q1MDg5Yzc2MmUzYjE4ODc0NTM4N2ZmZGUz
Li4yMTY2NzM4YTM0MDY4YTA2NDMyOWE0MGNlMWM3NzJmYTE4NWQ1Y2YxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHku
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFu
YWdlclByb3h5Lm1tCkBAIC01MDgsNyArNTA4LDcgQEAgdm9pZCBWaWRlb0Z1bGxzY3JlZW5NYW5h
Z2VyUHJveHk6Omhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlRGlkQ2hhbmdlKGJvb2wgdmFsdWUK
IAogI3ByYWdtYSBtYXJrIE1lc3NhZ2VzIGZyb20gVmlkZW9GdWxsc2NyZWVuTWFuYWdlcgogCi12
b2lkIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6c2V0dXBGdWxsc2NyZWVuV2l0aElEKFBs
YXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGNvbnRleHRJZCwgV2ViS2l0OjpMYXllckhv
c3RpbmdDb250ZXh0SUQgdmlkZW9MYXllcklELCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBpbml0
aWFsUmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiB2aWRlb0RpbWVuc2lvbnMsIGZsb2F0
IGhvc3RpbmdEZXZpY2VTY2FsZUZhY3RvciwgSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1
bGxzY3JlZW5Nb2RlIHZpZGVvRnVsbHNjcmVlbk1vZGUsIGJvb2wgYWxsb3dzUGljdHVyZUluUGlj
dHVyZSwgYm9vbCBzdGFuZGJ5KQordm9pZCBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OnNl
dHVwRnVsbHNjcmVlbldpdGhJRChQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBjb250
ZXh0SWQsIFdlYktpdDo6TGF5ZXJIb3N0aW5nQ29udGV4dElEIHZpZGVvTGF5ZXJJRCwgY29uc3Qg
V2ViQ29yZTo6SW50UmVjdCYgaW5pdGlhbFJlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYg
dmlkZW9EaW1lbnNpb25zLCBmbG9hdCBob3N0aW5nRGV2aWNlU2NhbGVGYWN0b3IsIEhUTUxNZWRp
YUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSB2aWRlb0Z1bGxzY3JlZW5Nb2RlLCBi
b29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmUsIGJvb2wgc3RhbmRieSwgYm9vbCBibG9ja3NSZXR1
cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJrKQogewogICAgIE1FU1NBR0Vf
Q0hFQ0sodmlkZW9MYXllcklEKTsKIApAQCAtNTQ0LDcgKzU0NCw3IEBAIHZvaWQgVmlkZW9GdWxs
c2NyZWVuTWFuYWdlclByb3h5OjpzZXR1cEZ1bGxzY3JlZW5XaXRoSUQoUGxheWJhY2tTZXNzaW9u
Q29udGV4dElkCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBhdXRvKiByb290Tm9kZSA9
IGRvd25jYXN0PFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk+KCptX3BhZ2UtPmRyYXdp
bmdBcmVhKCkpLnJlbW90ZUxheWVyVHJlZUhvc3QoKS5yb290Tm9kZSgpOwogICAgIFVJVmlldyAq
cGFyZW50VmlldyA9IHJvb3ROb2RlID8gcm9vdE5vZGUtPnVpVmlldygpIDogbmlsOwotICAgIGlu
dGVyZmFjZS0+c2V0dXBGdWxsc2NyZWVuKCptb2RlbC0+bGF5ZXJIb3N0VmlldygpLCBpbml0aWFs
UmVjdCwgdmlkZW9EaW1lbnNpb25zLCBwYXJlbnRWaWV3LCB2aWRlb0Z1bGxzY3JlZW5Nb2RlLCBh
bGxvd3NQaWN0dXJlSW5QaWN0dXJlLCBzdGFuZGJ5KTsKKyAgICBpbnRlcmZhY2UtPnNldHVwRnVs
bHNjcmVlbigqbW9kZWwtPmxheWVySG9zdFZpZXcoKSwgaW5pdGlhbFJlY3QsIHZpZGVvRGltZW5z
aW9ucywgcGFyZW50VmlldywgdmlkZW9GdWxsc2NyZWVuTW9kZSwgYWxsb3dzUGljdHVyZUluUGlj
dHVyZSwgc3RhbmRieSwgYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1
cmVRdWlyayk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTSh2aWRlb0RpbWVuc2lvbnMpOwogICAg
IEludFJlY3QgaW5pdGlhbFdpbmRvd1JlY3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkuY3BwCmluZGV4IGQ0ODM2ZjE2NGRmOTQ5
YzlmNjgzOTVjMDNiNzg1NWNmZjU4MWZkOTkuLjUxZjYwODcyZGE1OWNjMjQ1NWIwOWZjNmM0MGY5
MjA0OWNmN2Y5ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZ1bGxT
Y3JlZW5NYW5hZ2VyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZ1
bGxTY3JlZW5NYW5hZ2VyUHJveHkuY3BwCkBAIC0xNDYsMTYgKzE0NiwxNiBAQCBib29sIFdlYkZ1
bGxTY3JlZW5NYW5hZ2VyUHJveHk6OmlzRnVsbFNjcmVlbigpCiAgICAgcmV0dXJuIG1fY2xpZW50
LmlzRnVsbFNjcmVlbigpOwogfQogCi12b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OmVu
dGVyRnVsbFNjcmVlbigpCit2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OmVudGVyRnVs
bFNjcmVlbihib29sIGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJl
UXVpcmspCiB7Ci0gICAgbV9jbGllbnQuZW50ZXJGdWxsU2NyZWVuKCk7CisgICAgbV9jbGllbnQu
ZW50ZXJGdWxsU2NyZWVuKGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0
dXJlUXVpcmspOwogfQogCiB2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OmV4aXRGdWxs
U2NyZWVuKCkKIHsKICAgICBtX2NsaWVudC5leGl0RnVsbFNjcmVlbigpOwogfQotICAgIAorCiB2
b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OmJlZ2FuRW50ZXJGdWxsU2NyZWVuKGNvbnN0
IEludFJlY3QmIGluaXRpYWxGcmFtZSwgY29uc3QgSW50UmVjdCYgZmluYWxGcmFtZSkKIHsKICAg
ICBtX2NsaWVudC5iZWdhbkVudGVyRnVsbFNjcmVlbihpbml0aWFsRnJhbWUsIGZpbmFsRnJhbWUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRnVsbFNjcmVlbk1hbmFn
ZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRnVsbFNjcmVlbk1hbmFnZXJQ
cm94eS5oCmluZGV4IDAwZDNkMGFhMjNmNDBiMGJiNzEyODgyNjMyYTQxOWU4NjA4YmE2N2MuLmY4
MGYwYjBkZWIzNWI1ZTliMDRjMzhjZDkxZWJmMzFlMDQ1ZmQ3N2EgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5LmgKQEAgLTQ5LDcg
KzQ5LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGNsb3NlRnVsbFNjcmVlbk1hbmFn
ZXIoKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGlzRnVsbFNjcmVlbigpID0gMDsKLSAgICB2aXJ0
dWFsIHZvaWQgZW50ZXJGdWxsU2NyZWVuKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBlbnRlckZ1
bGxTY3JlZW4oYm9vbCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVy
ZVF1aXJrKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGV4aXRGdWxsU2NyZWVuKCkgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCBiZWdhbkVudGVyRnVsbFNjcmVlbihjb25zdCBXZWJDb3JlOjpJbnRSZWN0
JiBpbml0aWFsRnJhbWUsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGZpbmFsRnJhbWUpID0gMDsK
ICAgICB2aXJ0dWFsIHZvaWQgYmVnYW5FeGl0RnVsbFNjcmVlbihjb25zdCBXZWJDb3JlOjpJbnRS
ZWN0JiBpbml0aWFsRnJhbWUsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGZpbmFsRnJhbWUpID0g
MDsKQEAgLTc5LDcgKzc5LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIHZvaWQgc3VwcG9y
dHNGdWxsU2NyZWVuKGJvb2wgd2l0aEtleWJvYXJkLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJv
b2wpPiYmKTsKLSAgICB2b2lkIGVudGVyRnVsbFNjcmVlbigpOworICAgIHZvaWQgZW50ZXJGdWxs
U2NyZWVuKGJvb2wgYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1cmVR
dWlyayk7CiAgICAgdm9pZCBleGl0RnVsbFNjcmVlbigpOwogICAgIHZvaWQgYmVnYW5FbnRlckZ1
bGxTY3JlZW4oY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgaW5pdGlhbEZyYW1lLCBjb25zdCBXZWJD
b3JlOjpJbnRSZWN0JiBmaW5hbEZyYW1lKTsKICAgICB2b2lkIGJlZ2FuRXhpdEZ1bGxTY3JlZW4o
Y29uc3QgV2ViQ29yZTo6SW50UmVjdCYgaW5pdGlhbEZyYW1lLCBjb25zdCBXZWJDb3JlOjpJbnRS
ZWN0JiBmaW5hbEZyYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGQwOTVkZGI0
ZGMxNDQ2MTgyODMwYjlhOTMwZTdhMzA2MDg5ZDg2ZjUuLmMwMTZlZTVkMDJmZDk3YWNhMWQ4ZWNm
MjY1NWJiMWFiOGU1OGUxOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgpAQCAtMjMsNyAr
MjMsNyBAQAogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKIG1lc3NhZ2VzIC0+IFdlYkZ1bGxT
Y3JlZW5NYW5hZ2VyUHJveHkgTm90UmVmQ291bnRlZCB7CiAgICAgU3VwcG9ydHNGdWxsU2NyZWVu
KGJvb2wgd2l0aEtleWJvYXJkKSAtPiAoYm9vbCBzdXBwb3J0c0Z1bGxTY3JlZW4pIFN5bmNocm9u
b3VzCi0gICAgRW50ZXJGdWxsU2NyZWVuKCkKKyAgICBFbnRlckZ1bGxTY3JlZW4oYm9vbCBibG9j
a3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJrKQogICAgIEV4aXRG
dWxsU2NyZWVuKCkKICAgICBCZWdhbkVudGVyRnVsbFNjcmVlbihXZWJDb3JlOjpJbnRSZWN0IGlu
aXRpYWxSZWN0LCBXZWJDb3JlOjpJbnRSZWN0IGZpbmFsUmVjdCkKICAgICBCZWdhbkV4aXRGdWxs
U2NyZWVuKFdlYkNvcmU6OkludFJlY3QgaW5pdGlhbFJlY3QsIFdlYkNvcmU6OkludFJlY3QgZmlu
YWxSZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGll
bnRJbXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJ
T1MuaAppbmRleCA4YWJiMTY4Nzk1MTVhZTdlNDQ5NTUzNWIzMzkzZWZiM2I2ZmE3MDBkLi41YTg1
ZmIwMTkzNTgzZDllMzcyOTY1MzUxNWNlNDNiNjQ3N2I3YzE1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaApAQCAtMjA4LDcgKzIwOCw3IEBA
IHByaXZhdGU6CiAgICAgLy8gV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eUNsaWVudAogICAgIHZv
aWQgY2xvc2VGdWxsU2NyZWVuTWFuYWdlcigpIG92ZXJyaWRlOwogICAgIGJvb2wgaXNGdWxsU2Ny
ZWVuKCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBlbnRlckZ1bGxTY3JlZW4oKSBvdmVycmlkZTsKKyAg
ICB2b2lkIGVudGVyRnVsbFNjcmVlbihib29sIGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21Q
aWN0dXJlSW5QaWN0dXJlUXVpcmspIG92ZXJyaWRlOwogICAgIHZvaWQgZXhpdEZ1bGxTY3JlZW4o
KSBvdmVycmlkZTsKICAgICB2b2lkIGJlZ2FuRW50ZXJGdWxsU2NyZWVuKGNvbnN0IFdlYkNvcmU6
OkludFJlY3QmIGluaXRpYWxGcmFtZSwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgZmluYWxGcmFt
ZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBiZWdhbkV4aXRGdWxsU2NyZWVuKGNvbnN0IFdlYkNvcmU6
OkludFJlY3QmIGluaXRpYWxGcmFtZSwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgZmluYWxGcmFt
ZSkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFn
ZUNsaWVudEltcGxJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVu
dEltcGxJT1MubW0KaW5kZXggOWM1MzllZWY4NDNiMjQ4YjI0ZDg5MjdhYWZhM2NhZmQ3OWJiMzRh
NC4uYmVkNDEwNmQyYjEwZTVkZjQ3MmY3NWNkNDFiYzRkOTQ2Njk5MWRmOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQpAQCAtNjk2LDkg
KzY5Niw5IEBAIGJvb2wgUGFnZUNsaWVudEltcGw6OmlzRnVsbFNjcmVlbigpCiAgICAgcmV0dXJu
IFttX3dlYlZpZXcgZnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXJdLmlzRnVsbFNjcmVlbjsKIH0K
IAotdm9pZCBQYWdlQ2xpZW50SW1wbDo6ZW50ZXJGdWxsU2NyZWVuKCkKK3ZvaWQgUGFnZUNsaWVu
dEltcGw6OmVudGVyRnVsbFNjcmVlbihib29sIGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21Q
aWN0dXJlSW5QaWN0dXJlUXVpcmspCiB7Ci0gICAgW1ttX3dlYlZpZXcgZnVsbFNjcmVlbldpbmRv
d0NvbnRyb2xsZXJdIGVudGVyRnVsbFNjcmVlbl07CisgICAgW1ttX3dlYlZpZXcgZnVsbFNjcmVl
bldpbmRvd0NvbnRyb2xsZXJdIGVudGVyRnVsbFNjcmVlbjpibG9ja3NSZXR1cm5Ub0Z1bGxzY3Jl
ZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJrXTsKIH0KIAogdm9pZCBQYWdlQ2xpZW50SW1wbDo6
ZXhpdEZ1bGxTY3JlZW4oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L2Z1bGxzY3JlZW4vV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlcklPUy5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL2Z1bGxzY3JlZW4vV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxl
cklPUy5oCmluZGV4IGZkMzk5YTBhMDczMmZmMTE4NTQ5YTEyZmY4ZTRlNjQyZWY3MzQ5YzguLjky
YTc3ZjRhZTBlZGVhYjg4OGZhN2U3NWVmMGJlYWVmMjk0ZGRlODIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mdWxsc2NyZWVuL1dLRnVsbFNjcmVlbldpbmRvd0NvbnRy
b2xsZXJJT1MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZnVsbHNjcmVlbi9X
S0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVySU9TLmgKQEAgLTM0LDcgKzM0LDcgQEAKIEBwcm9w
ZXJ0eSAocmVhZG9ubHksIGFzc2lnbiwgbm9uYXRvbWljKSBCT09MIGlzRnVsbFNjcmVlbjsKIAog
LSAoaWQpaW5pdFdpdGhXZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3OwotLSAodm9pZCllbnRl
ckZ1bGxTY3JlZW47CistICh2b2lkKWVudGVyRnVsbFNjcmVlbjooYm9vbClibG9ja3NSZXR1cm5U
b0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJrOwogLSAodm9pZCliZWdhbkVudGVy
RnVsbFNjcmVlbldpdGhJbml0aWFsRnJhbWU6KENHUmVjdClpbml0aWFsRnJhbWUgZmluYWxGcmFt
ZTooQ0dSZWN0KWZpbmFsRnJhbWU7CiAtICh2b2lkKXJlcXVlc3RFbnRlckZ1bGxTY3JlZW47CiAt
ICh2b2lkKXJlcXVlc3RFeGl0RnVsbFNjcmVlbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9mdWxsc2NyZWVuL1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXJJT1Mu
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZnVsbHNjcmVlbi9XS0Z1bGxTY3JlZW5X
aW5kb3dDb250cm9sbGVySU9TLm1tCmluZGV4IGE5YWM2ZDFhNDlmN2M3YTBmYjU0MGE5ZDhmOTA1
YjU4OTQ1ODdlZTQuLjY2MGVlZTQ5ZTZkODc4MTdhOTE3ZTkwYzU3YzBjZWZiZTczNTczOWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mdWxsc2NyZWVuL1dLRnVsbFNj
cmVlbldpbmRvd0NvbnRyb2xsZXJJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL2Z1bGxzY3JlZW4vV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlcklPUy5tbQpAQCAtNDcx
LDYgKzQ3MSw3IEBAIHByaXZhdGU6CiAgICAgQk9PTCBfc2hvdWxkUmV0dXJuVG9GdWxsc2NyZWVu
RnJvbVBpY3R1cmVJblBpY3R1cmU7CiAgICAgQk9PTCBfZW50ZXJGdWxsc2NyZWVuTmVlZHNFeGl0
UGljdHVyZUluUGljdHVyZTsKICAgICBCT09MIF9yZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVy
ZUluUGljdHVyZTsKKyAgICBCT09MIF9ibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVy
ZUluUGljdHVyZVF1aXJrOwogCiAgICAgQ0dSZWN0IF9pbml0aWFsRnJhbWU7CiAgICAgQ0dSZWN0
IF9maW5hbEZyYW1lOwpAQCAtNTI2LDcgKzUyNyw3IEBAIHByaXZhdGU6CiAjcHJhZ21hIG1hcmsg
LQogI3ByYWdtYSBtYXJrIEV4dGVybmFsIEludGVyZmFjZQogCi0tICh2b2lkKWVudGVyRnVsbFNj
cmVlbgorLSAodm9pZCllbnRlckZ1bGxTY3JlZW46KGJvb2wpYmxvY2tzUmV0dXJuVG9GdWxsc2Ny
ZWVuRnJvbVBpY3R1cmVJblBpY3R1cmVRdWlyawogewogICAgIGlmIChbc2VsZiBpc0Z1bGxTY3Jl
ZW5dKQogICAgICAgICByZXR1cm47CkBAIC01NDAsNiArNTQxLDcgQEAgcHJpdmF0ZToKICAgICBb
c2VsZiBfaW52YWxpZGF0ZUVWT3JnYW5pemF0aW9uTmFtZV07CiAKICAgICBfZnVsbFNjcmVlblN0
YXRlID0gV2ViS2l0OjpXYWl0aW5nVG9FbnRlckZ1bGxTY3JlZW47CisgICAgX2Jsb2Nrc1JldHVy
blRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlUXVpcmsgPSBibG9ja3NSZXR1cm5Ub0Z1
bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJrOwogCiAgICAgX3dpbmRvdyA9IGFkb3B0
TlMoW1tVSVdpbmRvdyBhbGxvY10gaW5pdFdpdGhXaW5kb3dTY2VuZTpbW3dlYlZpZXcgd2luZG93
XSB3aW5kb3dTY2VuZV1dKTsKICAgICBbX3dpbmRvdyBzZXRCYWNrZ3JvdW5kQ29sb3I6W1VJQ29s
b3IgY2xlYXJDb2xvcl1dOwpAQCAtODg3LDcgKzg4OSw5IEBAIHByaXZhdGU6CiAKIC0gKHZvaWQp
ZGlkRW50ZXJQaWN0dXJlSW5QaWN0dXJlCiB7Ci0gICAgX3Nob3VsZFJldHVyblRvRnVsbHNjcmVl
bkZyb21QaWN0dXJlSW5QaWN0dXJlID0gWUVTOworICAgIGlmICghX2Jsb2Nrc1JldHVyblRvRnVs
bHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlUXVpcmspCisgICAgICAgIF9zaG91bGRSZXR1cm5U
b0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZSA9IFlFUzsKKwogICAgIGlmIChfZnVsbFNj
cmVlblN0YXRlID09IFdlYktpdDo6SW5GdWxsU2NyZWVuKQogICAgICAgICBbc2VsZiByZXF1ZXN0
RXhpdEZ1bGxTY3JlZW5dOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuY3BwCmluZGV4IDFiYjdjMDlj
MDYxYTNlOTVjYjgzYmJkYjA1YWRlZjczZTMzMWQxYjAuLjRkODA3NmEzMzVkMTgzNDA3NTcxMWY2
OGZkZjI3ZjQyYWE3MDEzMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9G
dWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvRnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFuYWdlci5jcHAKQEAgLTM4LDYgKzM4
LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lVmlldy5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
RnVsbHNjcmVlbk1hbmFnZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hUTUxWaWRlb0VsZW1lbnQu
aD4KKyNpbmNsdWRlIDxXZWJDb3JlL1F1aXJrcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVuZGVy
TGF5ZXJCYWNraW5nLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZW5kZXJWaWV3Lmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9TZXR0aW5ncy5oPgpAQCAtMTQ0LDcgKzE0NSw3IEBAIHZvaWQgV2ViRnVsbFNj
cmVlbk1hbmFnZXI6OmVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViQ29yZTo6RWxlbWVudCog
ZWxlbWVudCkKICNlbmRpZgogCiAgICAgbV9pbml0aWFsRnJhbWUgPSBzY3JlZW5SZWN0T2ZDb250
ZW50cyhtX2VsZW1lbnQuZ2V0KCkpOwotICAgIG1fcGFnZS0+aW5qZWN0ZWRCdW5kbGVGdWxsU2Ny
ZWVuQ2xpZW50KCkuZW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudChtX3BhZ2UuZ2V0KCksIGVsZW1l
bnQpOworICAgIG1fcGFnZS0+aW5qZWN0ZWRCdW5kbGVGdWxsU2NyZWVuQ2xpZW50KCkuZW50ZXJG
dWxsU2NyZWVuRm9yRWxlbWVudChtX3BhZ2UuZ2V0KCksIGVsZW1lbnQsIG1fZWxlbWVudC0+ZG9j
dW1lbnQoKS5xdWlya3MoKS5ibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGlj
dHVyZVF1aXJrKCkpOwogfQogCiB2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpleGl0RnVsbFNj
cmVlbkZvckVsZW1lbnQoV2ViQ29yZTo6RWxlbWVudCogZWxlbWVudCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VG
dWxsU2NyZWVuQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50LmNwcAppbmRleCBmNzEzYjVh
NDIzZmM3OWVhNmM1ZmI2MDI0M2U3NjgyZjA1MDlmNjljLi5lMWM4NWE4NDVjNWFkYmZiNWIxOTYz
YWJlNDMyNmM0NDFlM2M4NGY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxl
UGFnZUZ1bGxTY3JlZW5DbGllbnQuY3BwCkBAIC01MSwxMyArNTEsMTMgQEAgYm9vbCBJbmplY3Rl
ZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50OjpzdXBwb3J0c0Z1bGxTY3JlZW4oV2ViUGFnZSAq
cGFnZSwgYm9vbAogICAgIHJldHVybiBzdXBwb3J0czsKIH0KIAotdm9pZCBJbmplY3RlZEJ1bmRs
ZVBhZ2VGdWxsU2NyZWVuQ2xpZW50OjplbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KFdlYlBhZ2Ug
KnBhZ2UsIFdlYkNvcmU6OkVsZW1lbnQgKmVsZW1lbnQpCit2b2lkIEluamVjdGVkQnVuZGxlUGFn
ZUZ1bGxTY3JlZW5DbGllbnQ6OmVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViUGFnZSAqcGFn
ZSwgV2ViQ29yZTo6RWxlbWVudCAqZWxlbWVudCwgYm9vbCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3Jl
ZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJrKQogewogICAgIGlmIChtX2NsaWVudC5lbnRlckZ1
bGxTY3JlZW5Gb3JFbGVtZW50KSB7CiAgICAgICAgIFJlZlB0cjxJbmplY3RlZEJ1bmRsZU5vZGVI
YW5kbGU+IG5vZGVIYW5kbGUgPSBJbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGU6OmdldE9yQ3JlYXRl
KGVsZW1lbnQpOwogICAgICAgICBtX2NsaWVudC5lbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KHRv
QVBJKHBhZ2UpLCB0b0FQSShub2RlSGFuZGxlLmdldCgpKSk7CiAgICAgfSBlbHNlCi0gICAgICAg
IHBhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OkVudGVyRnVs
bFNjcmVlbigpKTsKKyAgICAgICAgcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViRnVsbFNjcmVlbk1h
bmFnZXJQcm94eTo6RW50ZXJGdWxsU2NyZWVuKGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21Q
aWN0dXJlSW5QaWN0dXJlUXVpcmspKTsKIH0KIAogdm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2VGdWxs
U2NyZWVuQ2xpZW50OjpleGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViUGFnZSAqcGFnZSwgV2Vi
Q29yZTo6RWxlbWVudCAqZWxlbWVudCkKQEAgLTY5LDcgKzY5LDYgQEAgdm9pZCBJbmplY3RlZEJ1
bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50OjpleGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViUGFn
ZSAqcGFnZSwKICAgICAgICAgcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViRnVsbFNjcmVlbk1hbmFn
ZXJQcm94eTo6RXhpdEZ1bGxTY3JlZW4oKSk7CiB9CiAKLQogdm9pZCBJbmplY3RlZEJ1bmRsZVBh
Z2VGdWxsU2NyZWVuQ2xpZW50OjpiZWdhbkVudGVyRnVsbFNjcmVlbihXZWJQYWdlICpwYWdlLCBJ
bnRSZWN0JiBpbml0aWFsRnJhbWUsIEludFJlY3QmIGZpbmFsRnJhbWUpCiB7CiAgICAgaWYgKG1f
Y2xpZW50LmJlZ2FuRW50ZXJGdWxsU2NyZWVuKQpAQCAtNzgsNyArNzcsNiBAQCB2b2lkIEluamVj
dGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQ6OmJlZ2FuRW50ZXJGdWxsU2NyZWVuKFdlYlBh
Z2UgKnBhZ2UsIEludAogICAgICAgICBwYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJGdWxsU2NyZWVu
TWFuYWdlclByb3h5OjpCZWdhbkVudGVyRnVsbFNjcmVlbihpbml0aWFsRnJhbWUsIGZpbmFsRnJh
bWUpKTsKIH0KIAotCiB2b2lkIEluamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQ6OmJl
Z2FuRXhpdEZ1bGxTY3JlZW4oV2ViUGFnZSAqcGFnZSwgSW50UmVjdCYgaW5pdGlhbEZyYW1lLCBJ
bnRSZWN0JiBmaW5hbEZyYW1lKQogewogICAgIGlmIChtX2NsaWVudC5iZWdhbkV4aXRGdWxsU2Ny
ZWVuKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0luamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50
LmgKaW5kZXggNjU2M2I2YzZkZjM4MzM3OWZiOGFiZjEwOWQ3ZTU5ODU1YTdjOTM4Yi4uZjhjZmMz
MzA3OTI2YjhkY2UzNGI0OTJkNjFkYTg0OTlhMGRkZWUwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3Jl
ZW5DbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
SW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5oCkBAIC01MCw3ICs1MCw3IEBAIGNs
YXNzIFdlYlBhZ2U7CiBjbGFzcyBJbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50IDog
cHVibGljIEFQSTo6Q2xpZW50PFdLQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnRCYXNlPiB7CiBw
dWJsaWM6CiAgICAgYm9vbCBzdXBwb3J0c0Z1bGxTY3JlZW4oV2ViUGFnZSosIGJvb2wgd2l0aEtl
eWJvYXJkKTsKLSAgICB2b2lkIGVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViUGFnZSosIFdl
YkNvcmU6OkVsZW1lbnQqKTsKKyAgICB2b2lkIGVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQoV2Vi
UGFnZSosIFdlYkNvcmU6OkVsZW1lbnQqLCBib29sIGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZy
b21QaWN0dXJlSW5QaWN0dXJlUXVpcmspOwogICAgIHZvaWQgZXhpdEZ1bGxTY3JlZW5Gb3JFbGVt
ZW50KFdlYlBhZ2UqLCBXZWJDb3JlOjpFbGVtZW50Kik7CiAgICAgdm9pZCBiZWdhbkVudGVyRnVs
bFNjcmVlbihXZWJQYWdlKiwgV2ViQ29yZTo6SW50UmVjdCYgaW5pdGlhbEZyYW1lLCBXZWJDb3Jl
OjpJbnRSZWN0JiBmaW5hbEZyYW1lKTsKICAgICB2b2lkIGJlZ2FuRXhpdEZ1bGxTY3JlZW4oV2Vi
UGFnZSosIFdlYkNvcmU6OkludFJlY3QmIGluaXRpYWxGcmFtZSwgV2ViQ29yZTo6SW50UmVjdCYg
ZmluYWxGcmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2Ev
VmlkZW9GdWxsc2NyZWVuTWFuYWdlci5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2Nv
YS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLm1tCmluZGV4IDc3NzAzYzYyOGYwZTY3YzE4MGUxYWE5
MjgxODA4MTNmOWU5MGU1M2EuLmM3M2RlMGVlMWJkZjEwZTI0ZDY3MTE2Nzc5OThhOTNmODk1M2Ri
MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9WaWRlb0Z1bGxz
Y3JlZW5NYW5hZ2VyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9WaWRl
b0Z1bGxzY3JlZW5NYW5hZ2VyLm1tCkBAIC00NSw2ICs0NSw3IEBACiAjaW1wb3J0IDxXZWJDb3Jl
L0hUTUxWaWRlb0VsZW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGljdHVyZUluUGljdHVyZVN1
cHBvcnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGxhdGZvcm1DQUxheWVyLmg+CisjaW1wb3J0IDxX
ZWJDb3JlL1F1aXJrcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZW5kZXJMYXllci5oPgogI2ltcG9y
dCA8V2ViQ29yZS9SZW5kZXJMYXllckJhY2tpbmcuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVuZGVy
VmlkZW8uaD4KQEAgLTI5MSw3ICsyOTIsNyBAQCB2b2lkIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXI6
OmVudGVyVmlkZW9GdWxsc2NyZWVuRm9yVmlkZW9FbGVtZW50KEhUTUxWaWRlb0VsZW1lbgogICAg
ICAgICBpbnRlcmZhY2UtPmxheWVySG9zdGluZ0NvbnRleHQoKS0+c2V0Um9vdExheWVyKHZpZGVv
TGF5ZXIuZ2V0KCkpOwogICAgIH0KIAotICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6VmlkZW9G
dWxsc2NyZWVuTWFuYWdlclByb3h5OjpTZXR1cEZ1bGxzY3JlZW5XaXRoSUQoY29udGV4dElkLCBp
bnRlcmZhY2UtPmxheWVySG9zdGluZ0NvbnRleHQoKS0+Y29udGV4dElEKCksIHZpZGVvUmVjdCwg
RmxvYXRTaXplKHZpZGVvRWxlbWVudC52aWRlb1dpZHRoKCksIHZpZGVvRWxlbWVudC52aWRlb0hl
aWdodCgpKSwgbV9wYWdlLT5kZXZpY2VTY2FsZUZhY3RvcigpLCBpbnRlcmZhY2UtPmZ1bGxzY3Jl
ZW5Nb2RlKCksIGFsbG93c1BpY3R1cmVJblBpY3R1cmUsIHN0YW5kYnkpKTsKKyAgICBtX3BhZ2Ut
PnNlbmQoTWVzc2FnZXM6OlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6U2V0dXBGdWxsc2Ny
ZWVuV2l0aElEKGNvbnRleHRJZCwgaW50ZXJmYWNlLT5sYXllckhvc3RpbmdDb250ZXh0KCktPmNv
bnRleHRJRCgpLCB2aWRlb1JlY3QsIEZsb2F0U2l6ZSh2aWRlb0VsZW1lbnQudmlkZW9XaWR0aCgp
LCB2aWRlb0VsZW1lbnQudmlkZW9IZWlnaHQoKSksIG1fcGFnZS0+ZGV2aWNlU2NhbGVGYWN0b3Io
KSwgaW50ZXJmYWNlLT5mdWxsc2NyZWVuTW9kZSgpLCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlLCBz
dGFuZGJ5LCB2aWRlb0VsZW1lbnQuZG9jdW1lbnQoKS5xdWlya3MoKS5ibG9ja3NSZXR1cm5Ub0Z1
bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJrKCkpKTsKIH0KIAogdm9pZCBWaWRlb0Z1
bGxzY3JlZW5NYW5hZ2VyOjpleGl0VmlkZW9GdWxsc2NyZWVuRm9yVmlkZW9FbGVtZW50KFdlYkNv
cmU6OkhUTUxWaWRlb0VsZW1lbnQmIHZpZGVvRWxlbWVudCwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417591</attachid>
            <date>2021-01-13 19:15:50 -0800</date>
            <delta_ts>2021-01-13 20:57:15 -0800</delta_ts>
            <desc>Fix build failures</desc>
            <filename>bug-220606-20210113191549.patch</filename>
            <type>text/plain</type>
            <size>30402</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNDc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2FhOTQ0YTA2NGZiY2M3
NTE3ODg5ZmYxNGMyZDBmYjFkMDAwOGEwZS4uZmRiOTg0MTM1ZmI4OWNlY2NiODU1NDQ0MDI2NDZi
YjhjNDZkZjQzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTAxLTEzICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgcXVpcmsgdG8gZGlz
YWJsZSAicmV0dXJuIHRvIGVsZW1lbnQgZnVsbHNjcmVlbiBmcm9tIHBpY3R1cmUtaW4tcGljdHVy
ZSIgZm9yIHNvbWUgc2l0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMDYwNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEZvciBpUGFkcywgd2UgYWRkIHRoZSBzdXBwb3J0IG9mICJyZXR1cm4gdG8gZWxl
bWVudCBmdWxsc2NyZWVuIGZyb20gcGljdHVyZS1pbi1waWN0dXJlIiBpbiByMjY1NTYyLgorICAg
ICAgICBVbmZvcnR1bmF0ZWx5LCBzb21lIHNpdGVzIGRvIG5vdCBzZXQgZWxlbWVudCdzIHN0eWxl
cyBwcm9wZXJseSB3aGVuIGEgdmlkZW8gcmV0dXJucyB0byBmdWxsc2NyZWVuCisgICAgICAgIGZy
b20gcGljdHVyZS1pbi1waWN0dXJlLiBUaGlzIHBhdGNoIGFkZHMgYSBxdWlyayB0byBkaXNhYmxl
IHRoZSBmZWF0dXJlIGZvciB0aG9zZSBzaXRlcyBmb3Igbm93LgorCisgICAgICAgICogcGFnZS9R
dWlya3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UXVpcmtzOjpibG9ja3NSZXR1cm5Ub0Z1bGxz
Y3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJrIGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1F1
aXJrcy5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdC5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdC5tbToKKyAgICAgICAgKFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpzZXR1cEZ1
bGxzY3JlZW4pOgorICAgICAgICAoVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmRpZFN0
YXJ0UGljdHVyZUluUGljdHVyZSk6CisgICAgICAgICogcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVs
bHNjcmVlbkNvbnRyb2xsZXJBVktpdC5tbToKKyAgICAgICAgKFZpZGVvRnVsbHNjcmVlbkNvbnRy
b2xsZXJDb250ZXh0OjpzZXRVcEZ1bGxzY3JlZW4pOgorCiAyMDIxLTAxLTEzICBKb2huIFdpbGFu
ZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFBDTTogT3V0cHV0IGxvZ3MgYnkg
ZGVmYXVsdCwgaW5jbHVkaW5nIHRvIFdlYiBJbnNwZWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYjdiZmU2ODA2
MzBjZDJlNmUwODBiYTFhZWY4MTFjMTVjYTllNjVkMi4uZmZjYmU5OGUwYTA1MTgxNDA1ZWY3NGE0
NzdjZDk3ZWI1ZGI2MjFjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNyBAQAorMjAyMS0wMS0xMyAg
UGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIHF1aXJrIHRv
IGRpc2FibGUgInJldHVybiB0byBlbGVtZW50IGZ1bGxzY3JlZW4gZnJvbSBwaWN0dXJlLWluLXBp
Y3R1cmUiIGZvciBzb21lIHNpdGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjA2MDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJv
eHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclBy
b3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3Jl
ZW5NYW5hZ2VyUHJveHkubW06CisgICAgICAgIChXZWJLaXQ6OlZpZGVvRnVsbHNjcmVlbk1hbmFn
ZXJQcm94eTo6c2V0dXBGdWxsc2NyZWVuV2l0aElEKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
RnVsbFNjcmVlbk1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyUHJveHk6OmVudGVyRnVsbFNjcmVlbik6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRnVsbFNj
cmVlbk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1Bh
Z2VDbGllbnRJbXBsSU9TLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1w
bElPUy5tbToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmVudGVyRnVsbFNjcmVl
bik6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9mdWxsc2NyZWVuL1dLRnVsbFNjcmVlbldpbmRv
d0NvbnRyb2xsZXJJT1MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL2Z1bGxzY3JlZW4vV0tG
dWxsU2NyZWVuV2luZG93Q29udHJvbGxlcklPUy5tbToKKyAgICAgICAgKC1bV0tGdWxsU2NyZWVu
V2luZG93Q29udHJvbGxlciBlbnRlckZ1bGxTY3JlZW46XSk6CisgICAgICAgICgtW1dLRnVsbFNj
cmVlbldpbmRvd0NvbnRyb2xsZXIgZGlkRW50ZXJQaWN0dXJlSW5QaWN0dXJlXSk6CisgICAgICAg
ICgtW1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIgZW50ZXJGdWxsU2NyZWVuXSk6IERlbGV0
ZWQuCisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW06CisgICAgICAgIChXZWJLaXQ6
OlBhZ2VDbGllbnRJbXBsOjplbnRlckZ1bGxTY3JlZW4pOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
RnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YkZ1bGxTY3JlZW5NYW5hZ2VyOjplbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5D
bGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVu
Q2xpZW50OjplbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubW06CisgICAg
ICAgIChXZWJLaXQ6OlZpZGVvRnVsbHNjcmVlbk1hbmFnZXI6OmVudGVyVmlkZW9GdWxsc2NyZWVu
Rm9yVmlkZW9FbGVtZW50KToKKwogMjAyMS0wMS0xMyAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVy
QGFwcGxlLmNvbT4KIAogICAgICAgICBQQ006IE91dHB1dCBsb2dzIGJ5IGRlZmF1bHQsIGluY2x1
ZGluZyB0byBXZWIgSW5zcGVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1
aXJrcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5jcHAKaW5kZXggMWQyODM0ODNh
YWVkMTg5ZDlmZDE0NDM0OGFjYWQ0MmYzN2YyMjdkOC4uYzY3NjcxZWY5ZmRhMDgwN2Y5ZGU0YWUz
MzZiZDcyZGE1Yjc2NGQxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9RdWlya3Mu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmNwcApAQCAtMTI3Myw0ICsxMjcz
LDI1IEBAIGJvb2wgUXVpcmtzOjpyZXF1aXJlc1VzZXJHZXN0dXJlVG9QYXVzZUluUGljdHVyZUlu
UGljdHVyZSgpIGNvbnN0CiAgICAgcmV0dXJuICptX3JlcXVpcmVzVXNlckdlc3R1cmVUb1BhdXNl
SW5QaWN0dXJlSW5QaWN0dXJlOwogfQogCitib29sIFF1aXJrczo6YmxvY2tzUmV0dXJuVG9GdWxs
c2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1cmVRdWlyaygpIGNvbnN0Cit7CisjaWYgRU5BQkxFKEZV
TExTQ1JFRU5fQVBJKSAmJiBFTkFCTEUoVklERU9fUFJFU0VOVEFUSU9OX01PREUpCisgICAgLy8g
U29tZSBzaXRlcyAoZS5nLiwgd293aGVhZC5jb20gYW5kIHZpbWVvLmNvbSkgZG8gbm90IHNldCBl
bGVtZW50J3Mgc3R5bGVzIHByb3Blcmx5IHdoZW4gYSB2aWRlbworICAgIC8vIHJldHVybnMgdG8g
ZnVsbHNjcmVlbiBmcm9tIHBpY3R1cmUtaW4tcGljdHVyZS4gVGhpcyBxdWlyayBkaXNhYmxlcyB0
aGUgInJldHVybiB0byBmdWxsc2NyZWVuCisgICAgLy8gZnJvbSBwaWN0dXJlLWluLXBpY3R1cmUi
IGZlYXR1cmUgZm9yIHRob3NlIHNpdGVzLiBXZSBzaG91bGQgcmVtb3ZlIHRoZSBxdWlyayBvbmNl
IHJkYXI6Ly9wcm9ibGVtLzczMTY3ODYxCisgICAgLy8gYW5kIHJkYXI6Ly9wcm9ibGVtLzczMTY3
OTMxIGhhdmUgYmVlbiBmaXhlZC4KKyAgICBpZiAoIW5lZWRzUXVpcmtzKCkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIGlmICghbV9ibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGlj
dHVyZUluUGljdHVyZVF1aXJrKSB7CisgICAgICAgIGF1dG8gZG9tYWluID0gUmVnaXN0cmFibGVE
b21haW4geyBtX2RvY3VtZW50LT50b3BEb2N1bWVudCgpLnVybCgpIH07CisgICAgICAgIG1fYmxv
Y2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1cmVRdWlyayA9IGRvbWFpbiA9
PSAidmltZW8uY29tIl9zIHx8IGRvbWFpbiA9PSAid293aGVhZC5jb20iX3M7CisgICAgfQorCisg
ICAgcmV0dXJuICptX2Jsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJl
UXVpcms7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQorCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9R
dWlya3MuaAppbmRleCBiOTg2Yjg2YTYwZWI4OWEzYjExODk4MTg5NGNjMjViZTI2NzIxNTk5Li5l
ZWNmMjYwNDIzOGNhOTlkOGYzNDc4ZmZhOGE4MDFkNWYwMjZjMmFjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtz
LmgKQEAgLTEyOSw2ICsxMjksOCBAQCBwdWJsaWM6CiAKICAgICBib29sIHJlcXVpcmVzVXNlckdl
c3R1cmVUb1BhdXNlSW5QaWN0dXJlSW5QaWN0dXJlKCkgY29uc3Q7CiAKKyAgICBXRUJDT1JFX0VY
UE9SVCBib29sIGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlUXVp
cmsoKSBjb25zdDsKKwogI2lmIEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCiAgICAg
c3RhdGljIGJvb2wgaXNNaWNyb3NvZnRUZWFtc1JlZGlyZWN0VVJMKGNvbnN0IFVSTCYpOwogICAg
IHN0YXRpYyBib29sIGhhc1N0b3JhZ2VBY2Nlc3NGb3JBbGxMb2dpbkRvbWFpbnMoY29uc3QgSGFz
aFNldDxSZWdpc3RyYWJsZURvbWFpbj4mLCBjb25zdCBSZWdpc3RyYWJsZURvbWFpbiYpOwpAQCAt
MTcwLDYgKzE3Miw3IEBAIHByaXZhdGU6CiAgICAgbXV0YWJsZSBPcHRpb25hbDxib29sPiBtX25l
ZWRzSERSUGl4ZWxEZXB0aFF1aXJrOwogICAgIG11dGFibGUgT3B0aW9uYWw8Ym9vbD4gbV9uZWVk
c0JsYWNrRnVsbHNjcmVlbkJhY2tncm91bmRRdWlyazsKICAgICBtdXRhYmxlIE9wdGlvbmFsPGJv
b2w+IG1fcmVxdWlyZXNVc2VyR2VzdHVyZVRvUGF1c2VJblBpY3R1cmVJblBpY3R1cmU7CisgICAg
bXV0YWJsZSBPcHRpb25hbDxib29sPiBtX2Jsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0
dXJlSW5QaWN0dXJlUXVpcms7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNl
QVZLaXQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRl
cmZhY2VBVktpdC5oCmluZGV4IGI5N2U5ODc1OWZiMjM1OWI3OWFlOTlmYjk3M2NkMDQ3NmMxZmZh
NGMuLmFhY2RlNTZkMjY1OTQ0MzE0NTBjYmFjZmY0Njk4M2ZlZDMzMWE5MDggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRl
cmZhY2VBVktpdC5oCkBAIC03OSw3ICs3OSw3IEBAIHB1YmxpYzoKICAgICAvLyBQbGF5YmFja1Nl
c3Npb25Nb2RlbENsaWVudAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZXh0ZXJuYWxQbGF5YmFj
a0NoYW5nZWQoYm9vbCBlbmFibGVkLCBQbGF5YmFja1Nlc3Npb25Nb2RlbDo6RXh0ZXJuYWxQbGF5
YmFja1RhcmdldFR5cGUsIGNvbnN0IFN0cmluZyYgbG9jYWxpemVkRGV2aWNlTmFtZSkgZmluYWw7
CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldHVwRnVsbHNjcmVlbihVSVZpZXcmIHZpZGVv
VmlldywgY29uc3QgSW50UmVjdCYgaW5pdGlhbFJlY3QsIGNvbnN0IEZsb2F0U2l6ZSYgdmlkZW9E
aW1lbnNpb25zLCBVSVZpZXcqIHBhcmVudFZpZXcsIEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6Vmlk
ZW9GdWxsc2NyZWVuTW9kZSwgYm9vbCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlUGxheWJhY2ssIGJv
b2wgc3RhbmRieSk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXR1cEZ1bGxzY3JlZW4oVUlW
aWV3JiB2aWRlb1ZpZXcsIGNvbnN0IEludFJlY3QmIGluaXRpYWxSZWN0LCBjb25zdCBGbG9hdFNp
emUmIHZpZGVvRGltZW5zaW9ucywgVUlWaWV3KiBwYXJlbnRWaWV3LCBIVE1MTWVkaWFFbGVtZW50
RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUsIGJvb2wgYWxsb3dzUGljdHVyZUluUGljdHVyZVBs
YXliYWNrLCBib29sIHN0YW5kYnksIGJvb2wgYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBp
Y3R1cmVJblBpY3R1cmVRdWlyayk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBlbnRlckZ1bGxz
Y3JlZW4oKTsKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGV4aXRGdWxsc2NyZWVuKGNvbnN0IElu
dFJlY3QmIGZpbmFsUmVjdCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBjbGVhbnVwRnVsbHNj
cmVlbigpOwpAQCAtMTkyLDYgKzE5Miw3IEBAIHByb3RlY3RlZDoKICAgICBib29sIG1fYWxsb3dz
UGljdHVyZUluUGljdHVyZVBsYXliYWNrIHsgZmFsc2UgfTsKICAgICBib29sIG1fd2lyZWxlc3NW
aWRlb1BsYXliYWNrRGlzYWJsZWQgeyB0cnVlIH07CiAgICAgYm9vbCBtX3Nob3VsZFJldHVyblRv
RnVsbHNjcmVlbldoZW5TdG9wcGluZ1BpY3R1cmVJblBpY3R1cmUgeyBmYWxzZSB9OworICAgIGJv
b2wgbV9ibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJrIHsg
ZmFsc2UgfTsKICAgICBib29sIG1fcmVzdG9yaW5nRnVsbHNjcmVlbkZvclBpY3R1cmVJblBpY3R1
cmVTdG9wIHsgZmFsc2UgfTsKICAgICBib29sIG1fcmV0dXJuaW5nVG9TdGFuZGJ5IHsgZmFsc2Ug
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZUFWS2l0Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1ZpZGVv
RnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCmluZGV4IDJiYjBjNGY1MmEyMWJjY2JmY2RiYmZl
ZjgwNzhlMzU5ZGMzNTdjZDMuLjNlNmE4OWNlNDhiYTgyMTEwN2VhMGZhN2Y3OGJhOTQ3MmEwYTdl
ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3Jl
ZW5JbnRlcmZhY2VBVktpdC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlk
ZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0KQEAgLTkyNiw3ICs5MjYsNyBAQCB2b2lkIFZp
ZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjphcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZSgp
CiAgICAgTE9HKEZ1bGxzY3JlZW4sICJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6YXBw
bGljYXRpb25EaWRCZWNvbWVBY3RpdmUoJXApIiwgdGhpcyk7CiB9CiAKLXZvaWQgVmlkZW9GdWxs
c2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNldHVwRnVsbHNjcmVlbihVSVZpZXcmIHZpZGVvVmlldywg
Y29uc3QgSW50UmVjdCYgaW5pdGlhbFJlY3QsIGNvbnN0IEZsb2F0U2l6ZSYgdmlkZW9EaW1lbnNp
b25zLCBVSVZpZXcqIHBhcmVudFZpZXcsIEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxs
c2NyZWVuTW9kZSBtb2RlLCBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmVQbGF5YmFjaywgYm9v
bCBzdGFuZGJ5KQordm9pZCBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6c2V0dXBGdWxs
c2NyZWVuKFVJVmlldyYgdmlkZW9WaWV3LCBjb25zdCBJbnRSZWN0JiBpbml0aWFsUmVjdCwgY29u
c3QgRmxvYXRTaXplJiB2aWRlb0RpbWVuc2lvbnMsIFVJVmlldyogcGFyZW50VmlldywgSFRNTE1l
ZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlIG1vZGUsIGJvb2wgYWxsb3dzUGlj
dHVyZUluUGljdHVyZVBsYXliYWNrLCBib29sIHN0YW5kYnksIGJvb2wgYmxvY2tzUmV0dXJuVG9G
dWxsc2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1cmVRdWlyaykKIHsKICAgICBBU1NFUlQoc3RhbmRi
eSB8fCBtb2RlICE9IEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZU5v
bmUpOwogICAgIExPRyhGdWxsc2NyZWVuLCAiVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6
OnNldHVwRnVsbHNjcmVlbiglcCkiLCB0aGlzKTsKQEAgLTk0NCw2ICs5NDQsNyBAQCB2b2lkIFZp
ZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpzZXR1cEZ1bGxzY3JlZW4oVUlWaWV3JiB2aWRl
b1ZpZXcsIGNvbnN0IEludAogCiAgICAgbV90YXJnZXRTdGFuZGJ5ID0gc3RhbmRieTsKICAgICBt
X3RhcmdldE1vZGUgPSBtb2RlOworICAgIG1fYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBp
Y3R1cmVJblBpY3R1cmVRdWlyayA9IGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJl
SW5QaWN0dXJlUXVpcms7CiAgICAgc2V0SW5saW5lUmVjdChpbml0aWFsUmVjdCwgdHJ1ZSk7CiAg
ICAgZG9TZXR1cCgpOwogfQpAQCAtMTEzMiw3ICsxMTMzLDcgQEAgdm9pZCBWaWRlb0Z1bGxzY3Jl
ZW5JbnRlcmZhY2VBVktpdDo6ZGlkU3RhcnRQaWN0dXJlSW5QaWN0dXJlKCkKICAgICAgICAgICAg
IGV4aXRGdWxsc2NyZWVuSGFuZGxlcihzdWNjZXNzLCBlcnJvcik7CiAgICAgICAgIH1dOwogICAg
IH0gZWxzZSB7Ci0gICAgICAgIGlmIChtX3N0YW5kYnkpCisgICAgICAgIGlmIChtX3N0YW5kYnkg
JiYgIW1fYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1cmVRdWlyaykK
ICAgICAgICAgICAgIG1fc2hvdWxkUmV0dXJuVG9GdWxsc2NyZWVuV2hlblN0b3BwaW5nUGljdHVy
ZUluUGljdHVyZSA9IHRydWU7CiAKICAgICAgICAgW21fd2luZG93IHNldEhpZGRlbjpZRVNdOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVl
bkNvbnRyb2xsZXJBVktpdC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRl
b0Z1bGxzY3JlZW5Db250cm9sbGVyQVZLaXQubW0KaW5kZXggYzhjMDQ3ZjBjYjFmMWRiN2JkYjU2
YzU5N2ZmM2E0NDdkZDYyODIwNy4uOGRhYmJmNGRhMzkxMzhlYzY3YWU3NDIxZWE2OTFlOTM1MTc2
ZjkyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVs
bHNjcmVlbkNvbnRyb2xsZXJBVktpdC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
b3MvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckFWS2l0Lm1tCkBAIC05OTQsNyArOTk0LDcg
QEAgdm9pZCBWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQ29udGV4dDo6c2V0VXBGdWxsc2NyZWVu
KEhUTUxWaWRlb0VsZW1lbnQmIHZpZGVvRWwKIAogICAgICAgICBtX3ZpZGVvRnVsbHNjcmVlblZp
ZXcgPSBhZG9wdE5TKFtQQUw6OmFsbG9jVUlWaWV3SW5zdGFuY2UoKSBpbml0XSk7CiAKLSAgICAg
ICAgbV9pbnRlcmZhY2UtPnNldHVwRnVsbHNjcmVlbigqbV92aWRlb0Z1bGxzY3JlZW5WaWV3Lmdl
dCgpLCB2aWRlb0VsZW1lbnRDbGllbnRSZWN0LCB2aWRlb0RpbWVuc2lvbnMsIHZpZXdSZWYuZ2V0
KCksIG1vZGUsIGFsbG93c1BpY3R1cmVJblBpY3R1cmUsIGZhbHNlKTsKKyAgICAgICAgbV9pbnRl
cmZhY2UtPnNldHVwRnVsbHNjcmVlbigqbV92aWRlb0Z1bGxzY3JlZW5WaWV3LmdldCgpLCB2aWRl
b0VsZW1lbnRDbGllbnRSZWN0LCB2aWRlb0RpbWVuc2lvbnMsIHZpZXdSZWYuZ2V0KCksIG1vZGUs
IGFsbG93c1BpY3R1cmVJblBpY3R1cmUsIGZhbHNlLCBmYWxzZSk7CiAgICAgfSk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1h
bmFnZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2Ny
ZWVuTWFuYWdlclByb3h5LmgKaW5kZXggNWYzODE0NWU5MmFlNjY4N2NmYTljZmYxNWFkMTY3Zjc1
NDkzMDc5NC4uMzU4YzBjN2E1NTJlMmI4MjY4ZTJhZjIwM2VlNDliOTQ4NTFkMzI1ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdl
clByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2Ny
ZWVuTWFuYWdlclByb3h5LmgKQEAgLTE3Myw3ICsxNzMsNyBAQCBwcml2YXRlOgogICAgIHZvaWQg
aGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVEaWRDaGFuZ2UoYm9vbCk7CiAKICAgICAvLyBNZXNz
YWdlcyBmcm9tIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXIKLSAgICB2b2lkIHNldHVwRnVsbHNjcmVl
bldpdGhJRChQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciwgV2ViS2l0OjpMYXllckhv
c3RpbmdDb250ZXh0SUQgdmlkZW9MYXllcklELCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBpbml0
aWFsUmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiB2aWRlb0RpbWVuc2lvbnMsIGZsb2F0
IGhvc3RpbmdTY2FsZUZhY3RvciwgV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRl
b0Z1bGxzY3JlZW5Nb2RlLCBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmUsIGJvb2wgc3RhbmRi
eSk7CisgICAgdm9pZCBzZXR1cEZ1bGxzY3JlZW5XaXRoSUQoUGxheWJhY2tTZXNzaW9uQ29udGV4
dElkZW50aWZpZXIsIFdlYktpdDo6TGF5ZXJIb3N0aW5nQ29udGV4dElEIHZpZGVvTGF5ZXJJRCwg
Y29uc3QgV2ViQ29yZTo6SW50UmVjdCYgaW5pdGlhbFJlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0
U2l6ZSYgdmlkZW9EaW1lbnNpb25zLCBmbG9hdCBob3N0aW5nU2NhbGVGYWN0b3IsIFdlYkNvcmU6
OkhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSwgYm9vbCBhbGxvd3NQ
aWN0dXJlSW5QaWN0dXJlLCBib29sIHN0YW5kYnksIGJvb2wgYmxvY2tzUmV0dXJuVG9GdWxsc2Ny
ZWVuRnJvbVBpY3R1cmVJblBpY3R1cmVRdWlyayk7CiAgICAgdm9pZCBzZXRJbmxpbmVSZWN0KFBs
YXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBp
bmxpbmVSZWN0LCBib29sIHZpc2libGUpOwogICAgIHZvaWQgc2V0SGFzVmlkZW9Db250ZW50TGF5
ZXIoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIsIGJvb2wgdmFsdWUpOwogICAgIHZv
aWQgc2V0SGFzVmlkZW8oUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIsIGJvb2wpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVu
TWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
VmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDQ0MTJlYjg1MTRm
MDcwNWU1ZmEyZjUxY2Y0NTc5MmQ2YjFiZDllYWIuLmYyNjUyNzA0YjkyYTNlMDBhZWNmNmQwZmI3
OWY5MDJmMDVmNGI4NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMu
aW4KQEAgLTI0LDcgKzI0LDcgQEAKIG1lc3NhZ2VzIC0+IFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQ
cm94eSB7CiAgICAgU2V0SGFzVmlkZW8oV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRl
bnRpZmllciBjb250ZXh0SWQsIGJvb2wgaGFzVmlkZW8pCiAgICAgU2V0VmlkZW9EaW1lbnNpb25z
KFdlYktpdDo6UGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBXZWJD
b3JlOjpGbG9hdFNpemUgdmlkZW9EaW1lbnNpb25zKQotICAgIFNldHVwRnVsbHNjcmVlbldpdGhJ
RChXZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGNvbnRleHRJZCwgV2Vi
S2l0OjpMYXllckhvc3RpbmdDb250ZXh0SUQgdmlkZW9MYXllcklELCBXZWJDb3JlOjpJbnRSZWN0
IGluaXRpYWxSZWN0LCBXZWJDb3JlOjpGbG9hdFNpemUgdmlkZW9EaW1lbnNpb25zLCBmbG9hdCBo
b3N0aW5nU2NhbGVGYWN0b3IsIFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9G
dWxsc2NyZWVuTW9kZSB2aWRlb0Z1bGxzY3JlZW5Nb2RlLCBib29sIGFsbG93c1BpY3R1cmVJblBp
Y3R1cmUsIGJvb2wgc3RhbmRieSkKKyAgICBTZXR1cEZ1bGxzY3JlZW5XaXRoSUQoV2ViS2l0OjpQ
bGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQsIFdlYktpdDo6TGF5ZXJI
b3N0aW5nQ29udGV4dElEIHZpZGVvTGF5ZXJJRCwgV2ViQ29yZTo6SW50UmVjdCBpbml0aWFsUmVj
dCwgV2ViQ29yZTo6RmxvYXRTaXplIHZpZGVvRGltZW5zaW9ucywgZmxvYXQgaG9zdGluZ1NjYWxl
RmFjdG9yLCBXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1v
ZGUgdmlkZW9GdWxsc2NyZWVuTW9kZSwgYm9vbCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlLCBib29s
IHN0YW5kYnksIGJvb2wgYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1
cmVRdWlyaykKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBFbnRlckZ1bGxzY3JlZW4o
V2ViS2l0OjpQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQpCiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNj
cmVlbk1hbmFnZXJQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVv
RnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbQppbmRleCBjNjkxODQ3MTBmMTkxN2Q1MDg5Yzc2MmUz
YjE4ODc0NTM4N2ZmZGUzLi4yMTY2NzM4YTM0MDY4YTA2NDMyOWE0MGNlMWM3NzJmYTE4NWQ1Y2Yx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3Jl
ZW5NYW5hZ2VyUHJveHkubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlk
ZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tCkBAIC01MDgsNyArNTA4LDcgQEAgdm9pZCBWaWRl
b0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6Omhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlRGlkQ2hh
bmdlKGJvb2wgdmFsdWUKIAogI3ByYWdtYSBtYXJrIE1lc3NhZ2VzIGZyb20gVmlkZW9GdWxsc2Ny
ZWVuTWFuYWdlcgogCi12b2lkIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6c2V0dXBGdWxs
c2NyZWVuV2l0aElEKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGNvbnRleHRJZCwg
V2ViS2l0OjpMYXllckhvc3RpbmdDb250ZXh0SUQgdmlkZW9MYXllcklELCBjb25zdCBXZWJDb3Jl
OjpJbnRSZWN0JiBpbml0aWFsUmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiB2aWRlb0Rp
bWVuc2lvbnMsIGZsb2F0IGhvc3RpbmdEZXZpY2VTY2FsZUZhY3RvciwgSFRNTE1lZGlhRWxlbWVu
dEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlIHZpZGVvRnVsbHNjcmVlbk1vZGUsIGJvb2wgYWxs
b3dzUGljdHVyZUluUGljdHVyZSwgYm9vbCBzdGFuZGJ5KQordm9pZCBWaWRlb0Z1bGxzY3JlZW5N
YW5hZ2VyUHJveHk6OnNldHVwRnVsbHNjcmVlbldpdGhJRChQbGF5YmFja1Nlc3Npb25Db250ZXh0
SWRlbnRpZmllciBjb250ZXh0SWQsIFdlYktpdDo6TGF5ZXJIb3N0aW5nQ29udGV4dElEIHZpZGVv
TGF5ZXJJRCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgaW5pdGlhbFJlY3QsIGNvbnN0IFdlYkNv
cmU6OkZsb2F0U2l6ZSYgdmlkZW9EaW1lbnNpb25zLCBmbG9hdCBob3N0aW5nRGV2aWNlU2NhbGVG
YWN0b3IsIEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSB2aWRlb0Z1
bGxzY3JlZW5Nb2RlLCBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmUsIGJvb2wgc3RhbmRieSwg
Ym9vbCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJrKQog
ewogICAgIE1FU1NBR0VfQ0hFQ0sodmlkZW9MYXllcklEKTsKIApAQCAtNTQ0LDcgKzU0NCw3IEBA
IHZvaWQgVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpzZXR1cEZ1bGxzY3JlZW5XaXRoSUQo
UGxheWJhY2tTZXNzaW9uQ29udGV4dElkCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBh
dXRvKiByb290Tm9kZSA9IGRvd25jYXN0PFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk+
KCptX3BhZ2UtPmRyYXdpbmdBcmVhKCkpLnJlbW90ZUxheWVyVHJlZUhvc3QoKS5yb290Tm9kZSgp
OwogICAgIFVJVmlldyAqcGFyZW50VmlldyA9IHJvb3ROb2RlID8gcm9vdE5vZGUtPnVpVmlldygp
IDogbmlsOwotICAgIGludGVyZmFjZS0+c2V0dXBGdWxsc2NyZWVuKCptb2RlbC0+bGF5ZXJIb3N0
VmlldygpLCBpbml0aWFsUmVjdCwgdmlkZW9EaW1lbnNpb25zLCBwYXJlbnRWaWV3LCB2aWRlb0Z1
bGxzY3JlZW5Nb2RlLCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlLCBzdGFuZGJ5KTsKKyAgICBpbnRl
cmZhY2UtPnNldHVwRnVsbHNjcmVlbigqbW9kZWwtPmxheWVySG9zdFZpZXcoKSwgaW5pdGlhbFJl
Y3QsIHZpZGVvRGltZW5zaW9ucywgcGFyZW50VmlldywgdmlkZW9GdWxsc2NyZWVuTW9kZSwgYWxs
b3dzUGljdHVyZUluUGljdHVyZSwgc3RhbmRieSwgYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJv
bVBpY3R1cmVJblBpY3R1cmVRdWlyayk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTSh2aWRlb0Rp
bWVuc2lvbnMpOwogICAgIEludFJlY3QgaW5pdGlhbFdpbmRvd1JlY3Q7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkuY3BwCmluZGV4
IGQ0ODM2ZjE2NGRmOTQ5YzlmNjgzOTVjMDNiNzg1NWNmZjU4MWZkOTkuLjUxZjYwODcyZGE1OWNj
MjQ1NWIwOWZjNmM0MGY5MjA0OWNmN2Y5ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkuY3BwCkBAIC0xNDYsMTYgKzE0Niwx
NiBAQCBib29sIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OmlzRnVsbFNjcmVlbigpCiAgICAg
cmV0dXJuIG1fY2xpZW50LmlzRnVsbFNjcmVlbigpOwogfQogCi12b2lkIFdlYkZ1bGxTY3JlZW5N
YW5hZ2VyUHJveHk6OmVudGVyRnVsbFNjcmVlbigpCit2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2Vy
UHJveHk6OmVudGVyRnVsbFNjcmVlbihib29sIGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21Q
aWN0dXJlSW5QaWN0dXJlUXVpcmspCiB7Ci0gICAgbV9jbGllbnQuZW50ZXJGdWxsU2NyZWVuKCk7
CisgICAgbV9jbGllbnQuZW50ZXJGdWxsU2NyZWVuKGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZy
b21QaWN0dXJlSW5QaWN0dXJlUXVpcmspOwogfQogCiB2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2Vy
UHJveHk6OmV4aXRGdWxsU2NyZWVuKCkKIHsKICAgICBtX2NsaWVudC5leGl0RnVsbFNjcmVlbigp
OwogfQotICAgIAorCiB2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OmJlZ2FuRW50ZXJG
dWxsU2NyZWVuKGNvbnN0IEludFJlY3QmIGluaXRpYWxGcmFtZSwgY29uc3QgSW50UmVjdCYgZmlu
YWxGcmFtZSkKIHsKICAgICBtX2NsaWVudC5iZWdhbkVudGVyRnVsbFNjcmVlbihpbml0aWFsRnJh
bWUsIGZpbmFsRnJhbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
RnVsbFNjcmVlbk1hbmFnZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRnVs
bFNjcmVlbk1hbmFnZXJQcm94eS5oCmluZGV4IDAwZDNkMGFhMjNmNDBiMGJiNzEyODgyNjMyYTQx
OWU4NjA4YmE2N2MuLmY4MGYwYjBkZWIzNWI1ZTliMDRjMzhjZDkxZWJmMzFlMDQ1ZmQ3N2EgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclBy
b3h5LmgKQEAgLTQ5LDcgKzQ5LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGNsb3Nl
RnVsbFNjcmVlbk1hbmFnZXIoKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGlzRnVsbFNjcmVlbigp
ID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZW50ZXJGdWxsU2NyZWVuKCkgPSAwOworICAgIHZpcnR1
YWwgdm9pZCBlbnRlckZ1bGxTY3JlZW4oYm9vbCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9t
UGljdHVyZUluUGljdHVyZVF1aXJrKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGV4aXRGdWxsU2Ny
ZWVuKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBiZWdhbkVudGVyRnVsbFNjcmVlbihjb25zdCBX
ZWJDb3JlOjpJbnRSZWN0JiBpbml0aWFsRnJhbWUsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGZp
bmFsRnJhbWUpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgYmVnYW5FeGl0RnVsbFNjcmVlbihjb25z
dCBXZWJDb3JlOjpJbnRSZWN0JiBpbml0aWFsRnJhbWUsIGNvbnN0IFdlYkNvcmU6OkludFJlY3Qm
IGZpbmFsRnJhbWUpID0gMDsKQEAgLTc5LDcgKzc5LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgog
ICAgIHZvaWQgc3VwcG9ydHNGdWxsU2NyZWVuKGJvb2wgd2l0aEtleWJvYXJkLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKLSAgICB2b2lkIGVudGVyRnVsbFNjcmVlbigpOworICAg
IHZvaWQgZW50ZXJGdWxsU2NyZWVuKGJvb2wgYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBp
Y3R1cmVJblBpY3R1cmVRdWlyayk7CiAgICAgdm9pZCBleGl0RnVsbFNjcmVlbigpOwogICAgIHZv
aWQgYmVnYW5FbnRlckZ1bGxTY3JlZW4oY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgaW5pdGlhbEZy
YW1lLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBmaW5hbEZyYW1lKTsKICAgICB2b2lkIGJlZ2Fu
RXhpdEZ1bGxTY3JlZW4oY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgaW5pdGlhbEZyYW1lLCBjb25z
dCBXZWJDb3JlOjpJbnRSZWN0JiBmaW5hbEZyYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmlu
CmluZGV4IGQwOTVkZGI0ZGMxNDQ2MTgyODMwYjlhOTMwZTdhMzA2MDg5ZDg2ZjUuLmMwMTZlZTVk
MDJmZDk3YWNhMWQ4ZWNmMjY1NWJiMWFiOGU1OGUxOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eS5tZXNzYWdl
cy5pbgpAQCAtMjMsNyArMjMsNyBAQAogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKIG1lc3Nh
Z2VzIC0+IFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkgTm90UmVmQ291bnRlZCB7CiAgICAgU3Vw
cG9ydHNGdWxsU2NyZWVuKGJvb2wgd2l0aEtleWJvYXJkKSAtPiAoYm9vbCBzdXBwb3J0c0Z1bGxT
Y3JlZW4pIFN5bmNocm9ub3VzCi0gICAgRW50ZXJGdWxsU2NyZWVuKCkKKyAgICBFbnRlckZ1bGxT
Y3JlZW4oYm9vbCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1
aXJrKQogICAgIEV4aXRGdWxsU2NyZWVuKCkKICAgICBCZWdhbkVudGVyRnVsbFNjcmVlbihXZWJD
b3JlOjpJbnRSZWN0IGluaXRpYWxSZWN0LCBXZWJDb3JlOjpJbnRSZWN0IGZpbmFsUmVjdCkKICAg
ICBCZWdhbkV4aXRGdWxsU2NyZWVuKFdlYkNvcmU6OkludFJlY3QgaW5pdGlhbFJlY3QsIFdlYkNv
cmU6OkludFJlY3QgZmluYWxSZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
UGFnZUNsaWVudEltcGxJT1MuaAppbmRleCA4YWJiMTY4Nzk1MTVhZTdlNDQ5NTUzNWIzMzkzZWZi
M2I2ZmE3MDBkLi41YTg1ZmIwMTkzNTgzZDllMzcyOTY1MzUxNWNlNDNiNjQ3N2I3YzE1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaApAQCAt
MjA4LDcgKzIwOCw3IEBAIHByaXZhdGU6CiAgICAgLy8gV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94
eUNsaWVudAogICAgIHZvaWQgY2xvc2VGdWxsU2NyZWVuTWFuYWdlcigpIG92ZXJyaWRlOwogICAg
IGJvb2wgaXNGdWxsU2NyZWVuKCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBlbnRlckZ1bGxTY3JlZW4o
KSBvdmVycmlkZTsKKyAgICB2b2lkIGVudGVyRnVsbFNjcmVlbihib29sIGJsb2Nrc1JldHVyblRv
RnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlUXVpcmspIG92ZXJyaWRlOwogICAgIHZvaWQg
ZXhpdEZ1bGxTY3JlZW4oKSBvdmVycmlkZTsKICAgICB2b2lkIGJlZ2FuRW50ZXJGdWxsU2NyZWVu
KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGluaXRpYWxGcmFtZSwgY29uc3QgV2ViQ29yZTo6SW50
UmVjdCYgZmluYWxGcmFtZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBiZWdhbkV4aXRGdWxsU2NyZWVu
KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGluaXRpYWxGcmFtZSwgY29uc3QgV2ViQ29yZTo6SW50
UmVjdCYgZmluYWxGcmFtZSkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KaW5kZXggOWM1MzllZWY4NDNiMjQ4YjI0ZDg5Mjdh
YWZhM2NhZmQ3OWJiMzRhNC4uYmVkNDEwNmQyYjEwZTVkZjQ3MmY3NWNkNDFiYzRkOTQ2Njk5MWRm
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBs
SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElP
Uy5tbQpAQCAtNjk2LDkgKzY5Niw5IEBAIGJvb2wgUGFnZUNsaWVudEltcGw6OmlzRnVsbFNjcmVl
bigpCiAgICAgcmV0dXJuIFttX3dlYlZpZXcgZnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXJdLmlz
RnVsbFNjcmVlbjsKIH0KIAotdm9pZCBQYWdlQ2xpZW50SW1wbDo6ZW50ZXJGdWxsU2NyZWVuKCkK
K3ZvaWQgUGFnZUNsaWVudEltcGw6OmVudGVyRnVsbFNjcmVlbihib29sIGJsb2Nrc1JldHVyblRv
RnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlUXVpcmspCiB7Ci0gICAgW1ttX3dlYlZpZXcg
ZnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXJdIGVudGVyRnVsbFNjcmVlbl07CisgICAgW1ttX3dl
YlZpZXcgZnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXJdIGVudGVyRnVsbFNjcmVlbjpibG9ja3NS
ZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJrXTsKIH0KIAogdm9pZCBQ
YWdlQ2xpZW50SW1wbDo6ZXhpdEZ1bGxTY3JlZW4oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL2Z1bGxzY3JlZW4vV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlcklP
Uy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Z1bGxzY3JlZW4vV0tGdWxsU2NyZWVu
V2luZG93Q29udHJvbGxlcklPUy5oCmluZGV4IGZkMzk5YTBhMDczMmZmMTE4NTQ5YTEyZmY4ZTRl
NjQyZWY3MzQ5YzguLjkyYTc3ZjRhZTBlZGVhYjg4OGZhN2U3NWVmMGJlYWVmMjk0ZGRlODIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mdWxsc2NyZWVuL1dLRnVsbFNj
cmVlbldpbmRvd0NvbnRyb2xsZXJJT1MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvZnVsbHNjcmVlbi9XS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVySU9TLmgKQEAgLTM0LDcg
KzM0LDcgQEAKIEBwcm9wZXJ0eSAocmVhZG9ubHksIGFzc2lnbiwgbm9uYXRvbWljKSBCT09MIGlz
RnVsbFNjcmVlbjsKIAogLSAoaWQpaW5pdFdpdGhXZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3
OwotLSAodm9pZCllbnRlckZ1bGxTY3JlZW47CistICh2b2lkKWVudGVyRnVsbFNjcmVlbjooYm9v
bClibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJrOwogLSAo
dm9pZCliZWdhbkVudGVyRnVsbFNjcmVlbldpdGhJbml0aWFsRnJhbWU6KENHUmVjdClpbml0aWFs
RnJhbWUgZmluYWxGcmFtZTooQ0dSZWN0KWZpbmFsRnJhbWU7CiAtICh2b2lkKXJlcXVlc3RFbnRl
ckZ1bGxTY3JlZW47CiAtICh2b2lkKXJlcXVlc3RFeGl0RnVsbFNjcmVlbjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mdWxsc2NyZWVuL1dLRnVsbFNjcmVlbldpbmRv
d0NvbnRyb2xsZXJJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZnVsbHNjcmVl
bi9XS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVySU9TLm1tCmluZGV4IGE5YWM2ZDFhNDlmN2M3
YTBmYjU0MGE5ZDhmOTA1YjU4OTQ1ODdlZTQuLjY2MGVlZTQ5ZTZkODc4MTdhOTE3ZTkwYzU3YzBj
ZWZiZTczNTczOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mdWxs
c2NyZWVuL1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXJJT1MubW0KKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL2Z1bGxzY3JlZW4vV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxl
cklPUy5tbQpAQCAtNDcxLDYgKzQ3MSw3IEBAIHByaXZhdGU6CiAgICAgQk9PTCBfc2hvdWxkUmV0
dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1cmU7CiAgICAgQk9PTCBfZW50ZXJGdWxs
c2NyZWVuTmVlZHNFeGl0UGljdHVyZUluUGljdHVyZTsKICAgICBCT09MIF9yZXR1cm5Ub0Z1bGxz
Y3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZTsKKyAgICBCT09MIF9ibG9ja3NSZXR1cm5Ub0Z1bGxz
Y3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJrOwogCiAgICAgQ0dSZWN0IF9pbml0aWFsRnJh
bWU7CiAgICAgQ0dSZWN0IF9maW5hbEZyYW1lOwpAQCAtNTI2LDcgKzUyNyw3IEBAIHByaXZhdGU6
CiAjcHJhZ21hIG1hcmsgLQogI3ByYWdtYSBtYXJrIEV4dGVybmFsIEludGVyZmFjZQogCi0tICh2
b2lkKWVudGVyRnVsbFNjcmVlbgorLSAodm9pZCllbnRlckZ1bGxTY3JlZW46KGJvb2wpYmxvY2tz
UmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1cmVRdWlyawogewogICAgIGlmIChb
c2VsZiBpc0Z1bGxTY3JlZW5dKQogICAgICAgICByZXR1cm47CkBAIC01NDAsNiArNTQxLDcgQEAg
cHJpdmF0ZToKICAgICBbc2VsZiBfaW52YWxpZGF0ZUVWT3JnYW5pemF0aW9uTmFtZV07CiAKICAg
ICBfZnVsbFNjcmVlblN0YXRlID0gV2ViS2l0OjpXYWl0aW5nVG9FbnRlckZ1bGxTY3JlZW47Cisg
ICAgX2Jsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlUXVpcmsgPSBi
bG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJrOwogCiAgICAg
X3dpbmRvdyA9IGFkb3B0TlMoW1tVSVdpbmRvdyBhbGxvY10gaW5pdFdpdGhXaW5kb3dTY2VuZTpb
W3dlYlZpZXcgd2luZG93XSB3aW5kb3dTY2VuZV1dKTsKICAgICBbX3dpbmRvdyBzZXRCYWNrZ3Jv
dW5kQ29sb3I6W1VJQ29sb3IgY2xlYXJDb2xvcl1dOwpAQCAtODg3LDcgKzg4OSw5IEBAIHByaXZh
dGU6CiAKIC0gKHZvaWQpZGlkRW50ZXJQaWN0dXJlSW5QaWN0dXJlCiB7Ci0gICAgX3Nob3VsZFJl
dHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlID0gWUVTOworICAgIGlmICghX2Js
b2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlUXVpcmspCisgICAgICAg
IF9zaG91bGRSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZSA9IFlFUzsKKwog
ICAgIGlmIChfZnVsbFNjcmVlblN0YXRlID09IFdlYktpdDo6SW5GdWxsU2NyZWVuKQogICAgICAg
ICBbc2VsZiByZXF1ZXN0RXhpdEZ1bGxTY3JlZW5dOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaAppbmRleCA4MWEyYzg2MWM5YWQ3MWI4MzIy
MWQ5YTk3OGU2N2U3Mzc5NjE3YTJjLi4yN2QxNjk1MGFkYWFkYTkwMjhkZGFhMzg2NDlmZWY2OGNi
ZjA0MjRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVu
dEltcGxNYWMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudElt
cGxNYWMuaApAQCAtMjA2LDcgKzIwNiw3IEBAIHByaXZhdGU6CiAgICAgLy8gV2ViRnVsbFNjcmVl
bk1hbmFnZXJQcm94eUNsaWVudAogICAgIHZvaWQgY2xvc2VGdWxsU2NyZWVuTWFuYWdlcigpIG92
ZXJyaWRlOwogICAgIGJvb2wgaXNGdWxsU2NyZWVuKCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBlbnRl
ckZ1bGxTY3JlZW4oKSBvdmVycmlkZTsKKyAgICB2b2lkIGVudGVyRnVsbFNjcmVlbihib29sIGJs
b2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlUXVpcmspIG92ZXJyaWRl
OwogICAgIHZvaWQgZXhpdEZ1bGxTY3JlZW4oKSBvdmVycmlkZTsKICAgICB2b2lkIGJlZ2FuRW50
ZXJGdWxsU2NyZWVuKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGluaXRpYWxGcmFtZSwgY29uc3Qg
V2ViQ29yZTo6SW50UmVjdCYgZmluYWxGcmFtZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBiZWdhbkV4
aXRGdWxsU2NyZWVuKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGluaXRpYWxGcmFtZSwgY29uc3Qg
V2ViQ29yZTo6SW50UmVjdCYgZmluYWxGcmFtZSkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0KaW5kZXggNTA0NjlhNTI0OTQ5
YTY5ZTk0MTkyODBlZDJhNGY4YzJiYzFlNWYyMy4uZGQ3MGY2ZGQzZWRkMTMxMGNmNGI4YzNiNmQ5
ZGRiNzMwNzNiMWY5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1Bh
Z2VDbGllbnRJbXBsTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdl
Q2xpZW50SW1wbE1hYy5tbQpAQCAtNzU2LDcgKzc1Niw3IEBAIGJvb2wgUGFnZUNsaWVudEltcGw6
OmlzRnVsbFNjcmVlbigpCiAgICAgcmV0dXJuIG1faW1wbC0+ZnVsbFNjcmVlbldpbmRvd0NvbnRy
b2xsZXIoKS5pc0Z1bGxTY3JlZW47CiB9CiAKLXZvaWQgUGFnZUNsaWVudEltcGw6OmVudGVyRnVs
bFNjcmVlbigpCit2b2lkIFBhZ2VDbGllbnRJbXBsOjplbnRlckZ1bGxTY3JlZW4oYm9vbCkKIHsK
ICAgICBbbV9pbXBsLT5mdWxsU2NyZWVuV2luZG93Q29udHJvbGxlcigpIGVudGVyRnVsbFNjcmVl
bjpuaWxdOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0Z1bGxTY3Jl
ZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0Z1
bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuY3BwCmluZGV4IDFiYjdjMDljMDYxYTNlOTVj
YjgzYmJkYjA1YWRlZjczZTMzMWQxYjAuLjRkODA3NmEzMzVkMTgzNDA3NTcxMWY2OGZkZjI3ZjQy
YWE3MDEzMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9GdWxsU2NyZWVu
L1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
RnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFuYWdlci5jcHAKQEAgLTM4LDYgKzM4LDcgQEAKICNp
bmNsdWRlIDxXZWJDb3JlL0ZyYW1lVmlldy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRnVsbHNjcmVl
bk1hbmFnZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hUTUxWaWRlb0VsZW1lbnQuaD4KKyNpbmNs
dWRlIDxXZWJDb3JlL1F1aXJrcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVuZGVyTGF5ZXJCYWNr
aW5nLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZW5kZXJWaWV3Lmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9TZXR0aW5ncy5oPgpAQCAtMTQ0LDcgKzE0NSw3IEBAIHZvaWQgV2ViRnVsbFNjcmVlbk1hbmFn
ZXI6OmVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViQ29yZTo6RWxlbWVudCogZWxlbWVudCkK
ICNlbmRpZgogCiAgICAgbV9pbml0aWFsRnJhbWUgPSBzY3JlZW5SZWN0T2ZDb250ZW50cyhtX2Vs
ZW1lbnQuZ2V0KCkpOwotICAgIG1fcGFnZS0+aW5qZWN0ZWRCdW5kbGVGdWxsU2NyZWVuQ2xpZW50
KCkuZW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudChtX3BhZ2UuZ2V0KCksIGVsZW1lbnQpOworICAg
IG1fcGFnZS0+aW5qZWN0ZWRCdW5kbGVGdWxsU2NyZWVuQ2xpZW50KCkuZW50ZXJGdWxsU2NyZWVu
Rm9yRWxlbWVudChtX3BhZ2UuZ2V0KCksIGVsZW1lbnQsIG1fZWxlbWVudC0+ZG9jdW1lbnQoKS5x
dWlya3MoKS5ibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJr
KCkpOwogfQogCiB2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyOjpleGl0RnVsbFNjcmVlbkZvckVs
ZW1lbnQoV2ViQ29yZTo6RWxlbWVudCogZWxlbWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVu
Q2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9Jbmpl
Y3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50LmNwcAppbmRleCBmNzEzYjVhNDIzZmM3OWVh
NmM1ZmI2MDI0M2U3NjgyZjA1MDlmNjljLi5lMWM4NWE4NDVjNWFkYmZiNWIxOTYzYWJlNDMyNmM0
NDFlM2M4NGY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUZ1bGxT
Y3JlZW5DbGllbnQuY3BwCkBAIC01MSwxMyArNTEsMTMgQEAgYm9vbCBJbmplY3RlZEJ1bmRsZVBh
Z2VGdWxsU2NyZWVuQ2xpZW50OjpzdXBwb3J0c0Z1bGxTY3JlZW4oV2ViUGFnZSAqcGFnZSwgYm9v
bAogICAgIHJldHVybiBzdXBwb3J0czsKIH0KIAotdm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2VGdWxs
U2NyZWVuQ2xpZW50OjplbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KFdlYlBhZ2UgKnBhZ2UsIFdl
YkNvcmU6OkVsZW1lbnQgKmVsZW1lbnQpCit2b2lkIEluamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3Jl
ZW5DbGllbnQ6OmVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViUGFnZSAqcGFnZSwgV2ViQ29y
ZTo6RWxlbWVudCAqZWxlbWVudCwgYm9vbCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGlj
dHVyZUluUGljdHVyZVF1aXJrKQogewogICAgIGlmIChtX2NsaWVudC5lbnRlckZ1bGxTY3JlZW5G
b3JFbGVtZW50KSB7CiAgICAgICAgIFJlZlB0cjxJbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGU+IG5v
ZGVIYW5kbGUgPSBJbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGU6OmdldE9yQ3JlYXRlKGVsZW1lbnQp
OwogICAgICAgICBtX2NsaWVudC5lbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KHRvQVBJKHBhZ2Up
LCB0b0FQSShub2RlSGFuZGxlLmdldCgpKSk7CiAgICAgfSBlbHNlCi0gICAgICAgIHBhZ2UtPnNl
bmQoTWVzc2FnZXM6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OkVudGVyRnVsbFNjcmVlbigp
KTsKKyAgICAgICAgcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94
eTo6RW50ZXJGdWxsU2NyZWVuKGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5Q
aWN0dXJlUXVpcmspKTsKIH0KIAogdm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xp
ZW50OjpleGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViUGFnZSAqcGFnZSwgV2ViQ29yZTo6RWxl
bWVudCAqZWxlbWVudCkKQEAgLTY5LDcgKzY5LDYgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2VG
dWxsU2NyZWVuQ2xpZW50OjpleGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViUGFnZSAqcGFnZSwK
ICAgICAgICAgcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6
RXhpdEZ1bGxTY3JlZW4oKSk7CiB9CiAKLQogdm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2Ny
ZWVuQ2xpZW50OjpiZWdhbkVudGVyRnVsbFNjcmVlbihXZWJQYWdlICpwYWdlLCBJbnRSZWN0JiBp
bml0aWFsRnJhbWUsIEludFJlY3QmIGZpbmFsRnJhbWUpCiB7CiAgICAgaWYgKG1fY2xpZW50LmJl
Z2FuRW50ZXJGdWxsU2NyZWVuKQpAQCAtNzgsNyArNzcsNiBAQCB2b2lkIEluamVjdGVkQnVuZGxl
UGFnZUZ1bGxTY3JlZW5DbGllbnQ6OmJlZ2FuRW50ZXJGdWxsU2NyZWVuKFdlYlBhZ2UgKnBhZ2Us
IEludAogICAgICAgICBwYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJGdWxsU2NyZWVuTWFuYWdlclBy
b3h5OjpCZWdhbkVudGVyRnVsbFNjcmVlbihpbml0aWFsRnJhbWUsIGZpbmFsRnJhbWUpKTsKIH0K
IAotCiB2b2lkIEluamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQ6OmJlZ2FuRXhpdEZ1
bGxTY3JlZW4oV2ViUGFnZSAqcGFnZSwgSW50UmVjdCYgaW5pdGlhbEZyYW1lLCBJbnRSZWN0JiBm
aW5hbEZyYW1lKQogewogICAgIGlmIChtX2NsaWVudC5iZWdhbkV4aXRGdWxsU2NyZWVuKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50LmgKaW5kZXgg
NjU2M2I2YzZkZjM4MzM3OWZiOGFiZjEwOWQ3ZTU5ODU1YTdjOTM4Yi4uZjhjZmMzMzA3OTI2Yjhk
Y2UzNGI0OTJkNjFkYTg0OTlhMGRkZWUwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRC
dW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5oCkBAIC01MCw3ICs1MCw3IEBAIGNsYXNzIFdlYlBh
Z2U7CiBjbGFzcyBJbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50IDogcHVibGljIEFQ
STo6Q2xpZW50PFdLQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnRCYXNlPiB7CiBwdWJsaWM6CiAg
ICAgYm9vbCBzdXBwb3J0c0Z1bGxTY3JlZW4oV2ViUGFnZSosIGJvb2wgd2l0aEtleWJvYXJkKTsK
LSAgICB2b2lkIGVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViUGFnZSosIFdlYkNvcmU6OkVs
ZW1lbnQqKTsKKyAgICB2b2lkIGVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViUGFnZSosIFdl
YkNvcmU6OkVsZW1lbnQqLCBib29sIGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJl
SW5QaWN0dXJlUXVpcmspOwogICAgIHZvaWQgZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KFdlYlBh
Z2UqLCBXZWJDb3JlOjpFbGVtZW50Kik7CiAgICAgdm9pZCBiZWdhbkVudGVyRnVsbFNjcmVlbihX
ZWJQYWdlKiwgV2ViQ29yZTo6SW50UmVjdCYgaW5pdGlhbEZyYW1lLCBXZWJDb3JlOjpJbnRSZWN0
JiBmaW5hbEZyYW1lKTsKICAgICB2b2lkIGJlZ2FuRXhpdEZ1bGxTY3JlZW4oV2ViUGFnZSosIFdl
YkNvcmU6OkludFJlY3QmIGluaXRpYWxGcmFtZSwgV2ViQ29yZTo6SW50UmVjdCYgZmluYWxGcmFt
ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvVmlkZW9GdWxs
c2NyZWVuTWFuYWdlci5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9WaWRlb0Z1
bGxzY3JlZW5NYW5hZ2VyLm1tCmluZGV4IDc3NzAzYzYyOGYwZTY3YzE4MGUxYWE5MjgxODA4MTNm
OWU5MGU1M2EuLmM3M2RlMGVlMWJkZjEwZTI0ZDY3MTE2Nzc5OThhOTNmODk1M2RiMmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5h
Z2VyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9WaWRlb0Z1bGxzY3Jl
ZW5NYW5hZ2VyLm1tCkBAIC00NSw2ICs0NSw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL0hUTUxWaWRl
b0VsZW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGljdHVyZUluUGljdHVyZVN1cHBvcnQuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvUGxhdGZvcm1DQUxheWVyLmg+CisjaW1wb3J0IDxXZWJDb3JlL1F1
aXJrcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZW5kZXJMYXllci5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9SZW5kZXJMYXllckJhY2tpbmcuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVuZGVyVmlkZW8uaD4K
QEAgLTI5MSw3ICsyOTIsNyBAQCB2b2lkIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXI6OmVudGVyVmlk
ZW9GdWxsc2NyZWVuRm9yVmlkZW9FbGVtZW50KEhUTUxWaWRlb0VsZW1lbgogICAgICAgICBpbnRl
cmZhY2UtPmxheWVySG9zdGluZ0NvbnRleHQoKS0+c2V0Um9vdExheWVyKHZpZGVvTGF5ZXIuZ2V0
KCkpOwogICAgIH0KIAotICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6VmlkZW9GdWxsc2NyZWVu
TWFuYWdlclByb3h5OjpTZXR1cEZ1bGxzY3JlZW5XaXRoSUQoY29udGV4dElkLCBpbnRlcmZhY2Ut
PmxheWVySG9zdGluZ0NvbnRleHQoKS0+Y29udGV4dElEKCksIHZpZGVvUmVjdCwgRmxvYXRTaXpl
KHZpZGVvRWxlbWVudC52aWRlb1dpZHRoKCksIHZpZGVvRWxlbWVudC52aWRlb0hlaWdodCgpKSwg
bV9wYWdlLT5kZXZpY2VTY2FsZUZhY3RvcigpLCBpbnRlcmZhY2UtPmZ1bGxzY3JlZW5Nb2RlKCks
IGFsbG93c1BpY3R1cmVJblBpY3R1cmUsIHN0YW5kYnkpKTsKKyAgICBtX3BhZ2UtPnNlbmQoTWVz
c2FnZXM6OlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6U2V0dXBGdWxsc2NyZWVuV2l0aElE
KGNvbnRleHRJZCwgaW50ZXJmYWNlLT5sYXllckhvc3RpbmdDb250ZXh0KCktPmNvbnRleHRJRCgp
LCB2aWRlb1JlY3QsIEZsb2F0U2l6ZSh2aWRlb0VsZW1lbnQudmlkZW9XaWR0aCgpLCB2aWRlb0Vs
ZW1lbnQudmlkZW9IZWlnaHQoKSksIG1fcGFnZS0+ZGV2aWNlU2NhbGVGYWN0b3IoKSwgaW50ZXJm
YWNlLT5mdWxsc2NyZWVuTW9kZSgpLCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlLCBzdGFuZGJ5LCB2
aWRlb0VsZW1lbnQuZG9jdW1lbnQoKS5xdWlya3MoKS5ibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5G
cm9tUGljdHVyZUluUGljdHVyZVF1aXJrKCkpKTsKIH0KIAogdm9pZCBWaWRlb0Z1bGxzY3JlZW5N
YW5hZ2VyOjpleGl0VmlkZW9GdWxsc2NyZWVuRm9yVmlkZW9FbGVtZW50KFdlYkNvcmU6OkhUTUxW
aWRlb0VsZW1lbnQmIHZpZGVvRWxlbWVudCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4m
JiBjb21wbGV0aW9uSGFuZGxlcikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417595</attachid>
            <date>2021-01-13 20:57:17 -0800</date>
            <delta_ts>2021-01-14 14:17:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220606-20210113205716.patch</filename>
            <type>text/plain</type>
            <size>26171</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNDc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2FhOTQ0YTA2NGZiY2M3
NTE3ODg5ZmYxNGMyZDBmYjFkMDAwOGEwZS4uZmRiOTg0MTM1ZmI4OWNlY2NiODU1NDQ0MDI2NDZi
YjhjNDZkZjQzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTAxLTEzICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgcXVpcmsgdG8gZGlz
YWJsZSAicmV0dXJuIHRvIGVsZW1lbnQgZnVsbHNjcmVlbiBmcm9tIHBpY3R1cmUtaW4tcGljdHVy
ZSIgZm9yIHNvbWUgc2l0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMDYwNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEZvciBpUGFkcywgd2UgYWRkIHRoZSBzdXBwb3J0IG9mICJyZXR1cm4gdG8gZWxl
bWVudCBmdWxsc2NyZWVuIGZyb20gcGljdHVyZS1pbi1waWN0dXJlIiBpbiByMjY1NTYyLgorICAg
ICAgICBVbmZvcnR1bmF0ZWx5LCBzb21lIHNpdGVzIGRvIG5vdCBzZXQgZWxlbWVudCdzIHN0eWxl
cyBwcm9wZXJseSB3aGVuIGEgdmlkZW8gcmV0dXJucyB0byBmdWxsc2NyZWVuCisgICAgICAgIGZy
b20gcGljdHVyZS1pbi1waWN0dXJlLiBUaGlzIHBhdGNoIGFkZHMgYSBxdWlyayB0byBkaXNhYmxl
IHRoZSBmZWF0dXJlIGZvciB0aG9zZSBzaXRlcyBmb3Igbm93LgorCisgICAgICAgICogcGFnZS9R
dWlya3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UXVpcmtzOjpibG9ja3NSZXR1cm5Ub0Z1bGxz
Y3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJrIGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1F1
aXJrcy5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdC5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdC5tbToKKyAgICAgICAgKFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpzZXR1cEZ1
bGxzY3JlZW4pOgorICAgICAgICAoVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmRpZFN0
YXJ0UGljdHVyZUluUGljdHVyZSk6CisgICAgICAgICogcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVs
bHNjcmVlbkNvbnRyb2xsZXJBVktpdC5tbToKKyAgICAgICAgKFZpZGVvRnVsbHNjcmVlbkNvbnRy
b2xsZXJDb250ZXh0OjpzZXRVcEZ1bGxzY3JlZW4pOgorCiAyMDIxLTAxLTEzICBKb2huIFdpbGFu
ZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFBDTTogT3V0cHV0IGxvZ3MgYnkg
ZGVmYXVsdCwgaW5jbHVkaW5nIHRvIFdlYiBJbnNwZWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYjdiZmU2ODA2
MzBjZDJlNmUwODBiYTFhZWY4MTFjMTVjYTllNjVkMi4uZjNkZjhiNGRkZDRkMjMxY2YyNTU5MzRj
YTUxNDU5YmU0MmVlYWI3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAyMS0wMS0xMyAg
UGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIHF1aXJrIHRv
IGRpc2FibGUgInJldHVybiB0byBlbGVtZW50IGZ1bGxzY3JlZW4gZnJvbSBwaWN0dXJlLWluLXBp
Y3R1cmUiIGZvciBzb21lIHNpdGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjA2MDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJv
eHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclBy
b3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3Jl
ZW5NYW5hZ2VyUHJveHkubW06CisgICAgICAgIChXZWJLaXQ6OlZpZGVvRnVsbHNjcmVlbk1hbmFn
ZXJQcm94eTo6c2V0dXBGdWxsc2NyZWVuV2l0aElEKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
RnVsbFNjcmVlbk1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyUHJveHk6OmJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0
dXJlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6
ZW50ZXJGdWxsU2NyZWVuKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRnVsbFNjcmVlbk1hbmFn
ZXJQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5
Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvZnVsbHNjcmVlbi9XS0Z1bGxT
Y3JlZW5XaW5kb3dDb250cm9sbGVySU9TLm1tOgorICAgICAgICAoLVtXS0Z1bGxTY3JlZW5XaW5k
b3dDb250cm9sbGVyIGVudGVyRnVsbFNjcmVlbl0pOgorICAgICAgICAoLVtXS0Z1bGxTY3JlZW5X
aW5kb3dDb250cm9sbGVyIGRpZEVudGVyUGljdHVyZUluUGljdHVyZV0pOgorICAgICAgICAqIFdl
YlByb2Nlc3MvRnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFuYWdlci5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyOjplbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUZ1
bGxTY3JlZW5DbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVBhZ2VG
dWxsU2NyZWVuQ2xpZW50OjplbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGll
bnQuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXIu
bW06CisgICAgICAgIChXZWJLaXQ6OlZpZGVvRnVsbHNjcmVlbk1hbmFnZXI6OmVudGVyVmlkZW9G
dWxsc2NyZWVuRm9yVmlkZW9FbGVtZW50KToKKwogMjAyMS0wMS0xMyAgSm9obiBXaWxhbmRlciAg
PHdpbGFuZGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBQQ006IE91dHB1dCBsb2dzIGJ5IGRlZmF1
bHQsIGluY2x1ZGluZyB0byBXZWIgSW5zcGVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1F1aXJrcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5jcHAKaW5kZXgg
MWQyODM0ODNhYWVkMTg5ZDlmZDE0NDM0OGFjYWQ0MmYzN2YyMjdkOC4uYzY3NjcxZWY5ZmRhMDgw
N2Y5ZGU0YWUzMzZiZDcyZGE1Yjc2NGQxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9RdWlya3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmNwcApAQCAtMTI3
Myw0ICsxMjczLDI1IEBAIGJvb2wgUXVpcmtzOjpyZXF1aXJlc1VzZXJHZXN0dXJlVG9QYXVzZUlu
UGljdHVyZUluUGljdHVyZSgpIGNvbnN0CiAgICAgcmV0dXJuICptX3JlcXVpcmVzVXNlckdlc3R1
cmVUb1BhdXNlSW5QaWN0dXJlSW5QaWN0dXJlOwogfQogCitib29sIFF1aXJrczo6YmxvY2tzUmV0
dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1cmVRdWlyaygpIGNvbnN0Cit7CisjaWYg
RU5BQkxFKEZVTExTQ1JFRU5fQVBJKSAmJiBFTkFCTEUoVklERU9fUFJFU0VOVEFUSU9OX01PREUp
CisgICAgLy8gU29tZSBzaXRlcyAoZS5nLiwgd293aGVhZC5jb20gYW5kIHZpbWVvLmNvbSkgZG8g
bm90IHNldCBlbGVtZW50J3Mgc3R5bGVzIHByb3Blcmx5IHdoZW4gYSB2aWRlbworICAgIC8vIHJl
dHVybnMgdG8gZnVsbHNjcmVlbiBmcm9tIHBpY3R1cmUtaW4tcGljdHVyZS4gVGhpcyBxdWlyayBk
aXNhYmxlcyB0aGUgInJldHVybiB0byBmdWxsc2NyZWVuCisgICAgLy8gZnJvbSBwaWN0dXJlLWlu
LXBpY3R1cmUiIGZlYXR1cmUgZm9yIHRob3NlIHNpdGVzLiBXZSBzaG91bGQgcmVtb3ZlIHRoZSBx
dWlyayBvbmNlIHJkYXI6Ly9wcm9ibGVtLzczMTY3ODYxCisgICAgLy8gYW5kIHJkYXI6Ly9wcm9i
bGVtLzczMTY3OTMxIGhhdmUgYmVlbiBmaXhlZC4KKyAgICBpZiAoIW5lZWRzUXVpcmtzKCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICghbV9ibG9ja3NSZXR1cm5Ub0Z1bGxzY3Jl
ZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJrKSB7CisgICAgICAgIGF1dG8gZG9tYWluID0gUmVn
aXN0cmFibGVEb21haW4geyBtX2RvY3VtZW50LT50b3BEb2N1bWVudCgpLnVybCgpIH07CisgICAg
ICAgIG1fYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1cmVRdWlyayA9
IGRvbWFpbiA9PSAidmltZW8uY29tIl9zIHx8IGRvbWFpbiA9PSAid293aGVhZC5jb20iX3M7Cisg
ICAgfQorCisgICAgcmV0dXJuICptX2Jsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJl
SW5QaWN0dXJlUXVpcms7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQorCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9RdWlya3MuaAppbmRleCBiOTg2Yjg2YTYwZWI4OWEzYjExODk4MTg5NGNjMjViZTI2
NzIxNTk5Li5lZWNmMjYwNDIzOGNhOTlkOGYzNDc4ZmZhOGE4MDFkNWYwMjZjMmFjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUXVpcmtzLmgKQEAgLTEyOSw2ICsxMjksOCBAQCBwdWJsaWM6CiAKICAgICBib29sIHJlcXVp
cmVzVXNlckdlc3R1cmVUb1BhdXNlSW5QaWN0dXJlSW5QaWN0dXJlKCkgY29uc3Q7CiAKKyAgICBX
RUJDT1JFX0VYUE9SVCBib29sIGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5Q
aWN0dXJlUXVpcmsoKSBjb25zdDsKKwogI2lmIEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJ
Q1MpCiAgICAgc3RhdGljIGJvb2wgaXNNaWNyb3NvZnRUZWFtc1JlZGlyZWN0VVJMKGNvbnN0IFVS
TCYpOwogICAgIHN0YXRpYyBib29sIGhhc1N0b3JhZ2VBY2Nlc3NGb3JBbGxMb2dpbkRvbWFpbnMo
Y29uc3QgSGFzaFNldDxSZWdpc3RyYWJsZURvbWFpbj4mLCBjb25zdCBSZWdpc3RyYWJsZURvbWFp
biYpOwpAQCAtMTcwLDYgKzE3Miw3IEBAIHByaXZhdGU6CiAgICAgbXV0YWJsZSBPcHRpb25hbDxi
b29sPiBtX25lZWRzSERSUGl4ZWxEZXB0aFF1aXJrOwogICAgIG11dGFibGUgT3B0aW9uYWw8Ym9v
bD4gbV9uZWVkc0JsYWNrRnVsbHNjcmVlbkJhY2tncm91bmRRdWlyazsKICAgICBtdXRhYmxlIE9w
dGlvbmFsPGJvb2w+IG1fcmVxdWlyZXNVc2VyR2VzdHVyZVRvUGF1c2VJblBpY3R1cmVJblBpY3R1
cmU7CisgICAgbXV0YWJsZSBPcHRpb25hbDxib29sPiBtX2Jsb2Nrc1JldHVyblRvRnVsbHNjcmVl
bkZyb21QaWN0dXJlSW5QaWN0dXJlUXVpcms7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVu
SW50ZXJmYWNlQVZLaXQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1bGxz
Y3JlZW5JbnRlcmZhY2VBVktpdC5oCmluZGV4IGI5N2U5ODc1OWZiMjM1OWI3OWFlOTlmYjk3M2Nk
MDQ3NmMxZmZhNGMuLmZiNDEzNmFiODM1OGU2ZGEyMDdmYWE4ZWNlMTFkOWU0MDNkMWQ3YTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRl
cmZhY2VBVktpdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1bGxz
Y3JlZW5JbnRlcmZhY2VBVktpdC5oCkBAIC03OSw3ICs3OSw3IEBAIHB1YmxpYzoKICAgICAvLyBQ
bGF5YmFja1Nlc3Npb25Nb2RlbENsaWVudAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZXh0ZXJu
YWxQbGF5YmFja0NoYW5nZWQoYm9vbCBlbmFibGVkLCBQbGF5YmFja1Nlc3Npb25Nb2RlbDo6RXh0
ZXJuYWxQbGF5YmFja1RhcmdldFR5cGUsIGNvbnN0IFN0cmluZyYgbG9jYWxpemVkRGV2aWNlTmFt
ZSkgZmluYWw7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldHVwRnVsbHNjcmVlbihVSVZp
ZXcmIHZpZGVvVmlldywgY29uc3QgSW50UmVjdCYgaW5pdGlhbFJlY3QsIGNvbnN0IEZsb2F0U2l6
ZSYgdmlkZW9EaW1lbnNpb25zLCBVSVZpZXcqIHBhcmVudFZpZXcsIEhUTUxNZWRpYUVsZW1lbnRF
bnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSwgYm9vbCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlUGxh
eWJhY2ssIGJvb2wgc3RhbmRieSk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXR1cEZ1bGxz
Y3JlZW4oVUlWaWV3JiB2aWRlb1ZpZXcsIGNvbnN0IEludFJlY3QmIGluaXRpYWxSZWN0LCBjb25z
dCBGbG9hdFNpemUmIHZpZGVvRGltZW5zaW9ucywgVUlWaWV3KiBwYXJlbnRWaWV3LCBIVE1MTWVk
aWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUsIGJvb2wgYWxsb3dzUGljdHVyZUlu
UGljdHVyZVBsYXliYWNrLCBib29sIHN0YW5kYnksIGJvb2wgYmxvY2tzUmV0dXJuVG9GdWxsc2Ny
ZWVuRnJvbVBpY3R1cmVJblBpY3R1cmUpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZW50ZXJG
dWxsc2NyZWVuKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBleGl0RnVsbHNjcmVlbihjb25z
dCBJbnRSZWN0JiBmaW5hbFJlY3QpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgY2xlYW51cEZ1
bGxzY3JlZW4oKTsKQEAgLTE5Miw2ICsxOTIsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBtX2Fs
bG93c1BpY3R1cmVJblBpY3R1cmVQbGF5YmFjayB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3dpcmVs
ZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9zaG91bGRSZXR1
cm5Ub0Z1bGxzY3JlZW5XaGVuU3RvcHBpbmdQaWN0dXJlSW5QaWN0dXJlIHsgZmFsc2UgfTsKKyAg
ICBib29sIG1fYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1cmUgeyBm
YWxzZSB9OwogICAgIGJvb2wgbV9yZXN0b3JpbmdGdWxsc2NyZWVuRm9yUGljdHVyZUluUGljdHVy
ZVN0b3AgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9yZXR1cm5pbmdUb1N0YW5kYnkgeyBmYWxzZSB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2Ny
ZWVuSW50ZXJmYWNlQVZLaXQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9G
dWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0KaW5kZXggMmJiMGM0ZjUyYTIxYmNjYmZjZGJiZmVm
ODA3OGUzNTlkYzM1N2NkMy4uMTE5ODI0ZDVjOTU3MGM3OGM0NGEzMjk0NmVmMTE1ZGVjODM0YmZh
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNjcmVl
bkludGVyZmFjZUFWS2l0Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRl
b0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbQpAQCAtOTI2LDcgKzkyNiw3IEBAIHZvaWQgVmlk
ZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlKCkK
ICAgICBMT0coRnVsbHNjcmVlbiwgIlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjphcHBs
aWNhdGlvbkRpZEJlY29tZUFjdGl2ZSglcCkiLCB0aGlzKTsKIH0KIAotdm9pZCBWaWRlb0Z1bGxz
Y3JlZW5JbnRlcmZhY2VBVktpdDo6c2V0dXBGdWxsc2NyZWVuKFVJVmlldyYgdmlkZW9WaWV3LCBj
b25zdCBJbnRSZWN0JiBpbml0aWFsUmVjdCwgY29uc3QgRmxvYXRTaXplJiB2aWRlb0RpbWVuc2lv
bnMsIFVJVmlldyogcGFyZW50VmlldywgSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxz
Y3JlZW5Nb2RlIG1vZGUsIGJvb2wgYWxsb3dzUGljdHVyZUluUGljdHVyZVBsYXliYWNrLCBib29s
IHN0YW5kYnkpCit2b2lkIFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpzZXR1cEZ1bGxz
Y3JlZW4oVUlWaWV3JiB2aWRlb1ZpZXcsIGNvbnN0IEludFJlY3QmIGluaXRpYWxSZWN0LCBjb25z
dCBGbG9hdFNpemUmIHZpZGVvRGltZW5zaW9ucywgVUlWaWV3KiBwYXJlbnRWaWV3LCBIVE1MTWVk
aWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUgbW9kZSwgYm9vbCBhbGxvd3NQaWN0
dXJlSW5QaWN0dXJlUGxheWJhY2ssIGJvb2wgc3RhbmRieSwgYm9vbCBibG9ja3NSZXR1cm5Ub0Z1
bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZSkKIHsKICAgICBBU1NFUlQoc3RhbmRieSB8fCBt
b2RlICE9IEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZU5vbmUpOwog
ICAgIExPRyhGdWxsc2NyZWVuLCAiVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNldHVw
RnVsbHNjcmVlbiglcCkiLCB0aGlzKTsKQEAgLTk0NCw2ICs5NDQsNyBAQCB2b2lkIFZpZGVvRnVs
bHNjcmVlbkludGVyZmFjZUFWS2l0OjpzZXR1cEZ1bGxzY3JlZW4oVUlWaWV3JiB2aWRlb1ZpZXcs
IGNvbnN0IEludAogCiAgICAgbV90YXJnZXRTdGFuZGJ5ID0gc3RhbmRieTsKICAgICBtX3Rhcmdl
dE1vZGUgPSBtb2RlOworICAgIG1fYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJ
blBpY3R1cmUgPSBibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZTsK
ICAgICBzZXRJbmxpbmVSZWN0KGluaXRpYWxSZWN0LCB0cnVlKTsKICAgICBkb1NldHVwKCk7CiB9
CkBAIC0xMTMyLDcgKzExMzMsNyBAQCB2b2lkIFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0
OjpkaWRTdGFydFBpY3R1cmVJblBpY3R1cmUoKQogICAgICAgICAgICAgZXhpdEZ1bGxzY3JlZW5I
YW5kbGVyKHN1Y2Nlc3MsIGVycm9yKTsKICAgICAgICAgfV07CiAgICAgfSBlbHNlIHsKLSAgICAg
ICAgaWYgKG1fc3RhbmRieSkKKyAgICAgICAgaWYgKG1fc3RhbmRieSAmJiAhbV9ibG9ja3NSZXR1
cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZSkKICAgICAgICAgICAgIG1fc2hvdWxk
UmV0dXJuVG9GdWxsc2NyZWVuV2hlblN0b3BwaW5nUGljdHVyZUluUGljdHVyZSA9IHRydWU7CiAK
ICAgICAgICAgW21fd2luZG93IHNldEhpZGRlbjpZRVNdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJBVktpdC5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVy
QVZLaXQubW0KaW5kZXggYzhjMDQ3ZjBjYjFmMWRiN2JkYjU2YzU5N2ZmM2E0NDdkZDYyODIwNy4u
OGRhYmJmNGRhMzkxMzhlYzY3YWU3NDIxZWE2OTFlOTM1MTc2ZjkyYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJBVktp
dC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVu
Q29udHJvbGxlckFWS2l0Lm1tCkBAIC05OTQsNyArOTk0LDcgQEAgdm9pZCBWaWRlb0Z1bGxzY3Jl
ZW5Db250cm9sbGVyQ29udGV4dDo6c2V0VXBGdWxsc2NyZWVuKEhUTUxWaWRlb0VsZW1lbnQmIHZp
ZGVvRWwKIAogICAgICAgICBtX3ZpZGVvRnVsbHNjcmVlblZpZXcgPSBhZG9wdE5TKFtQQUw6OmFs
bG9jVUlWaWV3SW5zdGFuY2UoKSBpbml0XSk7CiAKLSAgICAgICAgbV9pbnRlcmZhY2UtPnNldHVw
RnVsbHNjcmVlbigqbV92aWRlb0Z1bGxzY3JlZW5WaWV3LmdldCgpLCB2aWRlb0VsZW1lbnRDbGll
bnRSZWN0LCB2aWRlb0RpbWVuc2lvbnMsIHZpZXdSZWYuZ2V0KCksIG1vZGUsIGFsbG93c1BpY3R1
cmVJblBpY3R1cmUsIGZhbHNlKTsKKyAgICAgICAgbV9pbnRlcmZhY2UtPnNldHVwRnVsbHNjcmVl
bigqbV92aWRlb0Z1bGxzY3JlZW5WaWV3LmdldCgpLCB2aWRlb0VsZW1lbnRDbGllbnRSZWN0LCB2
aWRlb0RpbWVuc2lvbnMsIHZpZXdSZWYuZ2V0KCksIG1vZGUsIGFsbG93c1BpY3R1cmVJblBpY3R1
cmUsIGZhbHNlLCBmYWxzZSk7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5LmgKaW5k
ZXggNWYzODE0NWU5MmFlNjY4N2NmYTljZmYxNWFkMTY3Zjc1NDkzMDc5NC4uODA3NWEyYzVkMzU3
MGQwYmZhYmFmOWJmOWZiMWMyMDZhNDkzZjE5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5LmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5LmgKQEAg
LTE3Myw3ICsxNzMsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgaGFzVmlkZW9JblBpY3R1cmVJblBp
Y3R1cmVEaWRDaGFuZ2UoYm9vbCk7CiAKICAgICAvLyBNZXNzYWdlcyBmcm9tIFZpZGVvRnVsbHNj
cmVlbk1hbmFnZXIKLSAgICB2b2lkIHNldHVwRnVsbHNjcmVlbldpdGhJRChQbGF5YmFja1Nlc3Np
b25Db250ZXh0SWRlbnRpZmllciwgV2ViS2l0OjpMYXllckhvc3RpbmdDb250ZXh0SUQgdmlkZW9M
YXllcklELCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBpbml0aWFsUmVjdCwgY29uc3QgV2ViQ29y
ZTo6RmxvYXRTaXplJiB2aWRlb0RpbWVuc2lvbnMsIGZsb2F0IGhvc3RpbmdTY2FsZUZhY3Rvciwg
V2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlLCBib29s
IGFsbG93c1BpY3R1cmVJblBpY3R1cmUsIGJvb2wgc3RhbmRieSk7CisgICAgdm9pZCBzZXR1cEZ1
bGxzY3JlZW5XaXRoSUQoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIsIFdlYktpdDo6
TGF5ZXJIb3N0aW5nQ29udGV4dElEIHZpZGVvTGF5ZXJJRCwgY29uc3QgV2ViQ29yZTo6SW50UmVj
dCYgaW5pdGlhbFJlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgdmlkZW9EaW1lbnNpb25z
LCBmbG9hdCBob3N0aW5nU2NhbGVGYWN0b3IsIFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnRFbnVt
czo6VmlkZW9GdWxsc2NyZWVuTW9kZSwgYm9vbCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlLCBib29s
IHN0YW5kYnksIGJvb2wgYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1
cmUpOwogICAgIHZvaWQgc2V0SW5saW5lUmVjdChQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRp
ZmllciwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgaW5saW5lUmVjdCwgYm9vbCB2aXNpYmxlKTsK
ICAgICB2b2lkIHNldEhhc1ZpZGVvQ29udGVudExheWVyKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJ
ZGVudGlmaWVyLCBib29sIHZhbHVlKTsKICAgICB2b2lkIHNldEhhc1ZpZGVvKFBsYXliYWNrU2Vz
c2lvbkNvbnRleHRJZGVudGlmaWVyLCBib29sKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94
eS5tZXNzYWdlcy5pbgppbmRleCA0NDEyZWI4NTE0ZjA3MDVlNWZhMmY1MWNmNDU3OTJkNmIxYmQ5
ZWFiLi5jZWUxODBjMTZlN2Q5NTZjZDRlMzBhNTQzMzE3ZmNjYTkxYWE1YjQ0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJv
eHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9G
dWxsc2NyZWVuTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yNCw3ICsyNCw3IEBACiBtZXNz
YWdlcyAtPiBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkgewogICAgIFNldEhhc1ZpZGVvKFdl
YktpdDo6UGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkLCBib29sIGhh
c1ZpZGVvKQogICAgIFNldFZpZGVvRGltZW5zaW9ucyhXZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbkNv
bnRleHRJZGVudGlmaWVyIGNvbnRleHRJZCwgV2ViQ29yZTo6RmxvYXRTaXplIHZpZGVvRGltZW5z
aW9ucykKLSAgICBTZXR1cEZ1bGxzY3JlZW5XaXRoSUQoV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25D
b250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQsIFdlYktpdDo6TGF5ZXJIb3N0aW5nQ29udGV4dElE
IHZpZGVvTGF5ZXJJRCwgV2ViQ29yZTo6SW50UmVjdCBpbml0aWFsUmVjdCwgV2ViQ29yZTo6Rmxv
YXRTaXplIHZpZGVvRGltZW5zaW9ucywgZmxvYXQgaG9zdGluZ1NjYWxlRmFjdG9yLCBXZWJDb3Jl
OjpIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUgdmlkZW9GdWxsc2Ny
ZWVuTW9kZSwgYm9vbCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlLCBib29sIHN0YW5kYnkpCisgICAg
U2V0dXBGdWxsc2NyZWVuV2l0aElEKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50
aWZpZXIgY29udGV4dElkLCBXZWJLaXQ6OkxheWVySG9zdGluZ0NvbnRleHRJRCB2aWRlb0xheWVy
SUQsIFdlYkNvcmU6OkludFJlY3QgaW5pdGlhbFJlY3QsIFdlYkNvcmU6OkZsb2F0U2l6ZSB2aWRl
b0RpbWVuc2lvbnMsIGZsb2F0IGhvc3RpbmdTY2FsZUZhY3RvciwgV2ViQ29yZTo6SFRNTE1lZGlh
RWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlIHZpZGVvRnVsbHNjcmVlbk1vZGUsIGJv
b2wgYWxsb3dzUGljdHVyZUluUGljdHVyZSwgYm9vbCBzdGFuZGJ5LCBib29sIGJsb2Nrc1JldHVy
blRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlKQogI2lmICFQTEFURk9STShJT1NfRkFN
SUxZKQogICAgIEVudGVyRnVsbHNjcmVlbihXZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbkNvbnRleHRJ
ZGVudGlmaWVyIGNvbnRleHRJZCkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tCmluZGV4
IGM2OTE4NDcxMGYxOTE3ZDUwODljNzYyZTNiMTg4NzQ1Mzg3ZmZkZTMuLjA0YjNlNDJmNWQwOTg2
YjY0ZGRmNjk1MjRiNDk4MDM1ZWY0Y2RiNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0KQEAg
LTUwOCw3ICs1MDgsNyBAQCB2b2lkIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6aGFzVmlk
ZW9JblBpY3R1cmVJblBpY3R1cmVEaWRDaGFuZ2UoYm9vbCB2YWx1ZQogCiAjcHJhZ21hIG1hcmsg
TWVzc2FnZXMgZnJvbSBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyCiAKLXZvaWQgVmlkZW9GdWxsc2Ny
ZWVuTWFuYWdlclByb3h5OjpzZXR1cEZ1bGxzY3JlZW5XaXRoSUQoUGxheWJhY2tTZXNzaW9uQ29u
dGV4dElkZW50aWZpZXIgY29udGV4dElkLCBXZWJLaXQ6OkxheWVySG9zdGluZ0NvbnRleHRJRCB2
aWRlb0xheWVySUQsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGluaXRpYWxSZWN0LCBjb25zdCBX
ZWJDb3JlOjpGbG9hdFNpemUmIHZpZGVvRGltZW5zaW9ucywgZmxvYXQgaG9zdGluZ0RldmljZVNj
YWxlRmFjdG9yLCBIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGUgdmlk
ZW9GdWxsc2NyZWVuTW9kZSwgYm9vbCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlLCBib29sIHN0YW5k
YnkpCit2b2lkIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6c2V0dXBGdWxsc2NyZWVuV2l0
aElEKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGNvbnRleHRJZCwgV2ViS2l0OjpM
YXllckhvc3RpbmdDb250ZXh0SUQgdmlkZW9MYXllcklELCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0
JiBpbml0aWFsUmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiB2aWRlb0RpbWVuc2lvbnMs
IGZsb2F0IGhvc3RpbmdEZXZpY2VTY2FsZUZhY3RvciwgSFRNTE1lZGlhRWxlbWVudEVudW1zOjpW
aWRlb0Z1bGxzY3JlZW5Nb2RlIHZpZGVvRnVsbHNjcmVlbk1vZGUsIGJvb2wgYWxsb3dzUGljdHVy
ZUluUGljdHVyZSwgYm9vbCBzdGFuZGJ5LCBib29sIGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZy
b21QaWN0dXJlSW5QaWN0dXJlKQogewogICAgIE1FU1NBR0VfQ0hFQ0sodmlkZW9MYXllcklEKTsK
IApAQCAtNTQ0LDkgKzU0NCwxMCBAQCB2b2lkIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6
c2V0dXBGdWxsc2NyZWVuV2l0aElEKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZAogI2lmIFBMQVRG
T1JNKElPU19GQU1JTFkpCiAgICAgYXV0byogcm9vdE5vZGUgPSBkb3duY2FzdDxSZW1vdGVMYXll
clRyZWVEcmF3aW5nQXJlYVByb3h5PigqbV9wYWdlLT5kcmF3aW5nQXJlYSgpKS5yZW1vdGVMYXll
clRyZWVIb3N0KCkucm9vdE5vZGUoKTsKICAgICBVSVZpZXcgKnBhcmVudFZpZXcgPSByb290Tm9k
ZSA/IHJvb3ROb2RlLT51aVZpZXcoKSA6IG5pbDsKLSAgICBpbnRlcmZhY2UtPnNldHVwRnVsbHNj
cmVlbigqbW9kZWwtPmxheWVySG9zdFZpZXcoKSwgaW5pdGlhbFJlY3QsIHZpZGVvRGltZW5zaW9u
cywgcGFyZW50VmlldywgdmlkZW9GdWxsc2NyZWVuTW9kZSwgYWxsb3dzUGljdHVyZUluUGljdHVy
ZSwgc3RhbmRieSk7CisgICAgaW50ZXJmYWNlLT5zZXR1cEZ1bGxzY3JlZW4oKm1vZGVsLT5sYXll
ckhvc3RWaWV3KCksIGluaXRpYWxSZWN0LCB2aWRlb0RpbWVuc2lvbnMsIHBhcmVudFZpZXcsIHZp
ZGVvRnVsbHNjcmVlbk1vZGUsIGFsbG93c1BpY3R1cmVJblBpY3R1cmUsIHN0YW5kYnksIGJsb2Nr
c1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlKTsKICNlbHNlCiAgICAgVU5V
U0VEX1BBUkFNKHZpZGVvRGltZW5zaW9ucyk7CisgICAgVU5VU0VEX1BBUkFNKGJsb2Nrc1JldHVy
blRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlKTsKICAgICBJbnRSZWN0IGluaXRpYWxX
aW5kb3dSZWN0OwogICAgIG1fcGFnZS0+cm9vdFZpZXdUb1dpbmRvdyhpbml0aWFsUmVjdCwgaW5p
dGlhbFdpbmRvd1JlY3QpOwogICAgIGludGVyZmFjZS0+c2V0dXBGdWxsc2NyZWVuKCptb2RlbC0+
bGF5ZXJIb3N0VmlldygpLCBpbml0aWFsV2luZG93UmVjdCwgbV9wYWdlLT5wbGF0Zm9ybVdpbmRv
dygpLCB2aWRlb0Z1bGxzY3JlZW5Nb2RlLCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHku
Y3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eS5j
cHAKaW5kZXggZDQ4MzZmMTY0ZGY5NDljOWY2ODM5NWMwM2I3ODU1Y2ZmNTgxZmQ5OS4uNjMzMjQ4
OGEzZWY4MWE3ODZjMWY0MWM4YTFmOGEwY2U4ZWFjNzA3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eS5jcHAKQEAgLTE0Niw4
ICsxNDYsMTQgQEAgYm9vbCBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5Ojppc0Z1bGxTY3JlZW4o
KQogICAgIHJldHVybiBtX2NsaWVudC5pc0Z1bGxTY3JlZW4oKTsKIH0KIAotdm9pZCBXZWJGdWxs
U2NyZWVuTWFuYWdlclByb3h5OjplbnRlckZ1bGxTY3JlZW4oKQorYm9vbCBXZWJGdWxsU2NyZWVu
TWFuYWdlclByb3h5OjpibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVy
ZSgpIGNvbnN0CiB7CisgICAgcmV0dXJuIG1fYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBp
Y3R1cmVJblBpY3R1cmU7Cit9CisKK3ZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6ZW50
ZXJGdWxsU2NyZWVuKGJvb2wgYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJblBp
Y3R1cmUpCit7CisgICAgbV9ibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGlj
dHVyZSA9IGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlOwogICAg
IG1fY2xpZW50LmVudGVyRnVsbFNjcmVlbigpOwogfQogCkBAIC0xNTUsNyArMTYxLDcgQEAgdm9p
ZCBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpleGl0RnVsbFNjcmVlbigpCiB7CiAgICAgbV9j
bGllbnQuZXhpdEZ1bGxTY3JlZW4oKTsKIH0KLSAgICAKKwogdm9pZCBXZWJGdWxsU2NyZWVuTWFu
YWdlclByb3h5OjpiZWdhbkVudGVyRnVsbFNjcmVlbihjb25zdCBJbnRSZWN0JiBpbml0aWFsRnJh
bWUsIGNvbnN0IEludFJlY3QmIGZpbmFsRnJhbWUpCiB7CiAgICAgbV9jbGllbnQuYmVnYW5FbnRl
ckZ1bGxTY3JlZW4oaW5pdGlhbEZyYW1lLCBmaW5hbEZyYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkuaAppbmRleCAwMGQzZDBh
YTIzZjQwYjBiYjcxMjg4MjYzMmE0MTllODYwOGJhNjdjLi4yZDJlMjdhYTE1YzBlNjgxN2U3YzZk
MmQxYjk1YmE5N2IwYWY1ZDQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eS5oCkBAIC02Miw2ICs2Miw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIH5XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5KCk7CiAKICAgICBib29sIGlzRnVs
bFNjcmVlbigpOworICAgIGJvb2wgYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJ
blBpY3R1cmUoKSBjb25zdDsKICAgICB2b2lkIGNsb3NlKCk7CiAKICAgICB2b2lkIHdpbGxFbnRl
ckZ1bGxTY3JlZW4oKTsKQEAgLTc5LDcgKzgwLDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAg
IHZvaWQgc3VwcG9ydHNGdWxsU2NyZWVuKGJvb2wgd2l0aEtleWJvYXJkLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKGJvb2wpPiYmKTsKLSAgICB2b2lkIGVudGVyRnVsbFNjcmVlbigpOworICAgIHZv
aWQgZW50ZXJGdWxsU2NyZWVuKGJvb2wgYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1
cmVJblBpY3R1cmUpOwogICAgIHZvaWQgZXhpdEZ1bGxTY3JlZW4oKTsKICAgICB2b2lkIGJlZ2Fu
RW50ZXJGdWxsU2NyZWVuKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGluaXRpYWxGcmFtZSwgY29u
c3QgV2ViQ29yZTo6SW50UmVjdCYgZmluYWxGcmFtZSk7CiAgICAgdm9pZCBiZWdhbkV4aXRGdWxs
U2NyZWVuKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGluaXRpYWxGcmFtZSwgY29uc3QgV2ViQ29y
ZTo6SW50UmVjdCYgZmluYWxGcmFtZSk7CkBAIC04OSw2ICs5MCw3IEBAIHByaXZhdGU6CiAKICAg
ICBXZWJQYWdlUHJveHkmIG1fcGFnZTsKICAgICBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5Q2xp
ZW50JiBtX2NsaWVudDsKKyAgICBib29sIG1fYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBp
Y3R1cmVJblBpY3R1cmUgeyBmYWxzZSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclBy
b3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRnVsbFNjcmVlbk1h
bmFnZXJQcm94eS5tZXNzYWdlcy5pbgppbmRleCBkMDk1ZGRiNGRjMTQ0NjE4MjgzMGI5YTkzMGU3
YTMwNjA4OWQ4NmY1Li41ZDE0MzgzMzg5MWI1MjllMDE3YzlhNmY3YzlmOTRhMzQ0OWI4M2FlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclBy
b3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KQEAgLTIzLDcgKzIzLDcgQEAKICNpZiBFTkFCTEUo
RlVMTFNDUkVFTl9BUEkpCiBtZXNzYWdlcyAtPiBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5IE5v
dFJlZkNvdW50ZWQgewogICAgIFN1cHBvcnRzRnVsbFNjcmVlbihib29sIHdpdGhLZXlib2FyZCkg
LT4gKGJvb2wgc3VwcG9ydHNGdWxsU2NyZWVuKSBTeW5jaHJvbm91cwotICAgIEVudGVyRnVsbFNj
cmVlbigpCisgICAgRW50ZXJGdWxsU2NyZWVuKGJvb2wgYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVu
RnJvbVBpY3R1cmVJblBpY3R1cmUpCiAgICAgRXhpdEZ1bGxTY3JlZW4oKQogICAgIEJlZ2FuRW50
ZXJGdWxsU2NyZWVuKFdlYkNvcmU6OkludFJlY3QgaW5pdGlhbFJlY3QsIFdlYkNvcmU6OkludFJl
Y3QgZmluYWxSZWN0KQogICAgIEJlZ2FuRXhpdEZ1bGxTY3JlZW4oV2ViQ29yZTo6SW50UmVjdCBp
bml0aWFsUmVjdCwgV2ViQ29yZTo6SW50UmVjdCBmaW5hbFJlY3QpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZnVsbHNjcmVlbi9XS0Z1bGxTY3JlZW5XaW5kb3dDb250
cm9sbGVySU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Z1bGxzY3JlZW4vV0tG
dWxsU2NyZWVuV2luZG93Q29udHJvbGxlcklPUy5tbQppbmRleCBhOWFjNmQxYTQ5ZjdjN2EwZmI1
NDBhOWQ4ZjkwNWI1ODk0NTg3ZWU0Li4zNzk0NTA2MmFiZGRmMjdlMWNjYTQwMTdlMzFiNDQzMzg4
ZjQxOTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZnVsbHNjcmVl
bi9XS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVySU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9mdWxsc2NyZWVuL1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXJJT1Mu
bW0KQEAgLTQ3MSw2ICs0NzEsNyBAQCBwcml2YXRlOgogICAgIEJPT0wgX3Nob3VsZFJldHVyblRv
RnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlOwogICAgIEJPT0wgX2VudGVyRnVsbHNjcmVl
bk5lZWRzRXhpdFBpY3R1cmVJblBpY3R1cmU7CiAgICAgQk9PTCBfcmV0dXJuVG9GdWxsc2NyZWVu
RnJvbVBpY3R1cmVJblBpY3R1cmU7CisgICAgQk9PTCBfYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVu
RnJvbVBpY3R1cmVJblBpY3R1cmU7CiAKICAgICBDR1JlY3QgX2luaXRpYWxGcmFtZTsKICAgICBD
R1JlY3QgX2ZpbmFsRnJhbWU7CkBAIC01NDAsNiArNTQxLDcgQEAgcHJpdmF0ZToKICAgICBbc2Vs
ZiBfaW52YWxpZGF0ZUVWT3JnYW5pemF0aW9uTmFtZV07CiAKICAgICBfZnVsbFNjcmVlblN0YXRl
ID0gV2ViS2l0OjpXYWl0aW5nVG9FbnRlckZ1bGxTY3JlZW47CisgICAgX2Jsb2Nrc1JldHVyblRv
RnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlID0gbWFuYWdlci0+YmxvY2tzUmV0dXJuVG9G
dWxsc2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1cmUoKTsKIAogICAgIF93aW5kb3cgPSBhZG9wdE5T
KFtbVUlXaW5kb3cgYWxsb2NdIGluaXRXaXRoV2luZG93U2NlbmU6W1t3ZWJWaWV3IHdpbmRvd10g
d2luZG93U2NlbmVdXSk7CiAgICAgW193aW5kb3cgc2V0QmFja2dyb3VuZENvbG9yOltVSUNvbG9y
IGNsZWFyQ29sb3JdXTsKQEAgLTg4Nyw3ICs4ODksOSBAQCBwcml2YXRlOgogCiAtICh2b2lkKWRp
ZEVudGVyUGljdHVyZUluUGljdHVyZQogewotICAgIF9zaG91bGRSZXR1cm5Ub0Z1bGxzY3JlZW5G
cm9tUGljdHVyZUluUGljdHVyZSA9IFlFUzsKKyAgICBpZiAoIV9ibG9ja3NSZXR1cm5Ub0Z1bGxz
Y3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZSkKKyAgICAgICAgX3Nob3VsZFJldHVyblRvRnVsbHNj
cmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlID0gWUVTOworCiAgICAgaWYgKF9mdWxsU2NyZWVuU3Rh
dGUgPT0gV2ViS2l0OjpJbkZ1bGxTY3JlZW4pCiAgICAgICAgIFtzZWxmIHJlcXVlc3RFeGl0RnVs
bFNjcmVlbl07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRnVsbFNj
cmVlbi9XZWJGdWxsU2NyZWVuTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
RnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFuYWdlci5jcHAKaW5kZXggMWJiN2MwOWMwNjFhM2U5
NWNiODNiYmRiMDVhZGVmNzNlMzMxZDFiMC4uNGQ4MDc2YTMzNWQxODM0MDc1NzExZjY4ZmRmMjdm
NDJhYTcwMTMzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0Z1bGxTY3Jl
ZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9GdWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLmNwcApAQCAtMzgsNiArMzgsNyBAQAog
I2luY2x1ZGUgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GdWxsc2Ny
ZWVuTWFuYWdlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSFRNTFZpZGVvRWxlbWVudC5oPgorI2lu
Y2x1ZGUgPFdlYkNvcmUvUXVpcmtzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZW5kZXJMYXllckJh
Y2tpbmcuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1JlbmRlclZpZXcuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL1NldHRpbmdzLmg+CkBAIC0xNDQsNyArMTQ1LDcgQEAgdm9pZCBXZWJGdWxsU2NyZWVuTWFu
YWdlcjo6ZW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudChXZWJDb3JlOjpFbGVtZW50KiBlbGVtZW50
KQogI2VuZGlmCiAKICAgICBtX2luaXRpYWxGcmFtZSA9IHNjcmVlblJlY3RPZkNvbnRlbnRzKG1f
ZWxlbWVudC5nZXQoKSk7Ci0gICAgbV9wYWdlLT5pbmplY3RlZEJ1bmRsZUZ1bGxTY3JlZW5DbGll
bnQoKS5lbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KG1fcGFnZS5nZXQoKSwgZWxlbWVudCk7Cisg
ICAgbV9wYWdlLT5pbmplY3RlZEJ1bmRsZUZ1bGxTY3JlZW5DbGllbnQoKS5lbnRlckZ1bGxTY3Jl
ZW5Gb3JFbGVtZW50KG1fcGFnZS5nZXQoKSwgZWxlbWVudCwgbV9lbGVtZW50LT5kb2N1bWVudCgp
LnF1aXJrcygpLmJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlUXVp
cmsoKSk7CiB9CiAKIHZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXI6OmV4aXRGdWxsU2NyZWVuRm9y
RWxlbWVudChXZWJDb3JlOjpFbGVtZW50KiBlbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3Jl
ZW5DbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQuY3BwCmluZGV4IGY3MTNiNWE0MjNmYzc5
ZWE2YzVmYjYwMjQzZTc2ODJmMDUwOWY2OWMuLjFkNmY3M2I4YWI1NDRjMTYwNWFlZDlhNDJmYTYz
NTVjMTg3MDFiYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRnVs
bFNjcmVlbkNsaWVudC5jcHAKQEAgLTUxLDEzICs1MSwxMyBAQCBib29sIEluamVjdGVkQnVuZGxl
UGFnZUZ1bGxTY3JlZW5DbGllbnQ6OnN1cHBvcnRzRnVsbFNjcmVlbihXZWJQYWdlICpwYWdlLCBi
b29sCiAgICAgcmV0dXJuIHN1cHBvcnRzOwogfQogCi12b2lkIEluamVjdGVkQnVuZGxlUGFnZUZ1
bGxTY3JlZW5DbGllbnQ6OmVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViUGFnZSAqcGFnZSwg
V2ViQ29yZTo6RWxlbWVudCAqZWxlbWVudCkKK3ZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNj
cmVlbkNsaWVudDo6ZW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudChXZWJQYWdlICpwYWdlLCBXZWJD
b3JlOjpFbGVtZW50ICplbGVtZW50LCBib29sIGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21Q
aWN0dXJlSW5QaWN0dXJlKQogewogICAgIGlmIChtX2NsaWVudC5lbnRlckZ1bGxTY3JlZW5Gb3JF
bGVtZW50KSB7CiAgICAgICAgIFJlZlB0cjxJbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGU+IG5vZGVI
YW5kbGUgPSBJbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGU6OmdldE9yQ3JlYXRlKGVsZW1lbnQpOwog
ICAgICAgICBtX2NsaWVudC5lbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KHRvQVBJKHBhZ2UpLCB0
b0FQSShub2RlSGFuZGxlLmdldCgpKSk7CiAgICAgfSBlbHNlCi0gICAgICAgIHBhZ2UtPnNlbmQo
TWVzc2FnZXM6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OkVudGVyRnVsbFNjcmVlbigpKTsK
KyAgICAgICAgcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6
RW50ZXJGdWxsU2NyZWVuKGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0
dXJlKSk7CiB9CiAKIHZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudDo6ZXhp
dEZ1bGxTY3JlZW5Gb3JFbGVtZW50KFdlYlBhZ2UgKnBhZ2UsIFdlYkNvcmU6OkVsZW1lbnQgKmVs
ZW1lbnQpCkBAIC02OSw3ICs2OSw2IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVl
bkNsaWVudDo6ZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KFdlYlBhZ2UgKnBhZ2UsCiAgICAgICAg
IHBhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OkV4aXRGdWxs
U2NyZWVuKCkpOwogfQogCi0KIHZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVu
dDo6YmVnYW5FbnRlckZ1bGxTY3JlZW4oV2ViUGFnZSAqcGFnZSwgSW50UmVjdCYgaW5pdGlhbEZy
YW1lLCBJbnRSZWN0JiBmaW5hbEZyYW1lKQogewogICAgIGlmIChtX2NsaWVudC5iZWdhbkVudGVy
RnVsbFNjcmVlbikKQEAgLTc4LDcgKzc3LDYgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2VGdWxs
U2NyZWVuQ2xpZW50OjpiZWdhbkVudGVyRnVsbFNjcmVlbihXZWJQYWdlICpwYWdlLCBJbnQKICAg
ICAgICAgcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6QmVn
YW5FbnRlckZ1bGxTY3JlZW4oaW5pdGlhbEZyYW1lLCBmaW5hbEZyYW1lKSk7CiB9CiAKLQogdm9p
ZCBJbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50OjpiZWdhbkV4aXRGdWxsU2NyZWVu
KFdlYlBhZ2UgKnBhZ2UsIEludFJlY3QmIGluaXRpYWxGcmFtZSwgSW50UmVjdCYgZmluYWxGcmFt
ZSkKIHsKICAgICBpZiAobV9jbGllbnQuYmVnYW5FeGl0RnVsbFNjcmVlbikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBh
Z2VGdWxsU2NyZWVuQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5oCmluZGV4IDY1NjNiNmM2
ZGYzODMzNzlmYjhhYmYxMDlkN2U1OTg1NWE3YzkzOGIuLjNlMmM2N2YxODdkYzQwMjU2ODI2ZDM3
YWM5M2QwMTFjMjg5YWNlMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50LmgKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFn
ZUZ1bGxTY3JlZW5DbGllbnQuaApAQCAtNTAsNyArNTAsNyBAQCBjbGFzcyBXZWJQYWdlOwogY2xh
c3MgSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudCA6IHB1YmxpYyBBUEk6OkNsaWVu
dDxXS0J1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50QmFzZT4gewogcHVibGljOgogICAgIGJvb2wg
c3VwcG9ydHNGdWxsU2NyZWVuKFdlYlBhZ2UqLCBib29sIHdpdGhLZXlib2FyZCk7Ci0gICAgdm9p
ZCBlbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KFdlYlBhZ2UqLCBXZWJDb3JlOjpFbGVtZW50Kik7
CisgICAgdm9pZCBlbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KFdlYlBhZ2UqLCBXZWJDb3JlOjpF
bGVtZW50KiwgYm9vbCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVy
ZSk7CiAgICAgdm9pZCBleGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViUGFnZSosIFdlYkNvcmU6
OkVsZW1lbnQqKTsKICAgICB2b2lkIGJlZ2FuRW50ZXJGdWxsU2NyZWVuKFdlYlBhZ2UqLCBXZWJD
b3JlOjpJbnRSZWN0JiBpbml0aWFsRnJhbWUsIFdlYkNvcmU6OkludFJlY3QmIGZpbmFsRnJhbWUp
OwogICAgIHZvaWQgYmVnYW5FeGl0RnVsbFNjcmVlbihXZWJQYWdlKiwgV2ViQ29yZTo6SW50UmVj
dCYgaW5pdGlhbEZyYW1lLCBXZWJDb3JlOjpJbnRSZWN0JiBmaW5hbEZyYW1lKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2Vy
Lm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFn
ZXIubW0KaW5kZXggNzc3MDNjNjI4ZjBlNjdjMTgwZTFhYTkyODE4MDgxM2Y5ZTkwZTUzYS4uYzcz
ZGUwZWUxYmRmMTBlMjRkNjcxMTY3Nzk5OGE5M2Y4OTUzZGIyZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubW0KKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubW0K
QEAgLTQ1LDYgKzQ1LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvSFRNTFZpZGVvRWxlbWVudC5oPgog
I2ltcG9ydCA8V2ViQ29yZS9QaWN0dXJlSW5QaWN0dXJlU3VwcG9ydC5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9QbGF0Zm9ybUNBTGF5ZXIuaD4KKyNpbXBvcnQgPFdlYkNvcmUvUXVpcmtzLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL1JlbmRlckxheWVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1JlbmRlckxheWVy
QmFja2luZy5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZW5kZXJWaWRlby5oPgpAQCAtMjkxLDcgKzI5
Miw3IEBAIHZvaWQgVmlkZW9GdWxsc2NyZWVuTWFuYWdlcjo6ZW50ZXJWaWRlb0Z1bGxzY3JlZW5G
b3JWaWRlb0VsZW1lbnQoSFRNTFZpZGVvRWxlbWVuCiAgICAgICAgIGludGVyZmFjZS0+bGF5ZXJI
b3N0aW5nQ29udGV4dCgpLT5zZXRSb290TGF5ZXIodmlkZW9MYXllci5nZXQoKSk7CiAgICAgfQog
Ci0gICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6
OlNldHVwRnVsbHNjcmVlbldpdGhJRChjb250ZXh0SWQsIGludGVyZmFjZS0+bGF5ZXJIb3N0aW5n
Q29udGV4dCgpLT5jb250ZXh0SUQoKSwgdmlkZW9SZWN0LCBGbG9hdFNpemUodmlkZW9FbGVtZW50
LnZpZGVvV2lkdGgoKSwgdmlkZW9FbGVtZW50LnZpZGVvSGVpZ2h0KCkpLCBtX3BhZ2UtPmRldmlj
ZVNjYWxlRmFjdG9yKCksIGludGVyZmFjZS0+ZnVsbHNjcmVlbk1vZGUoKSwgYWxsb3dzUGljdHVy
ZUluUGljdHVyZSwgc3RhbmRieSkpOworICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6VmlkZW9G
dWxsc2NyZWVuTWFuYWdlclByb3h5OjpTZXR1cEZ1bGxzY3JlZW5XaXRoSUQoY29udGV4dElkLCBp
bnRlcmZhY2UtPmxheWVySG9zdGluZ0NvbnRleHQoKS0+Y29udGV4dElEKCksIHZpZGVvUmVjdCwg
RmxvYXRTaXplKHZpZGVvRWxlbWVudC52aWRlb1dpZHRoKCksIHZpZGVvRWxlbWVudC52aWRlb0hl
aWdodCgpKSwgbV9wYWdlLT5kZXZpY2VTY2FsZUZhY3RvcigpLCBpbnRlcmZhY2UtPmZ1bGxzY3Jl
ZW5Nb2RlKCksIGFsbG93c1BpY3R1cmVJblBpY3R1cmUsIHN0YW5kYnksIHZpZGVvRWxlbWVudC5k
b2N1bWVudCgpLnF1aXJrcygpLmJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5Q
aWN0dXJlUXVpcmsoKSkpOwogfQogCiB2b2lkIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXI6OmV4aXRW
aWRlb0Z1bGxzY3JlZW5Gb3JWaWRlb0VsZW1lbnQoV2ViQ29yZTo6SFRNTFZpZGVvRWxlbWVudCYg
dmlkZW9FbGVtZW50LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25I
YW5kbGVyKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417652</attachid>
            <date>2021-01-14 14:17:54 -0800</date>
            <delta_ts>2021-01-14 15:17:26 -0800</delta_ts>
            <desc>Revise the patch based on Eric&apos;s comment</desc>
            <filename>bug-220606-20210114141754.patch</filename>
            <type>text/plain</type>
            <size>26142</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNDk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjQzMmZlNjQzNzZiMWJi
OTk3ZmVlYzg2ZDQ2YTdiNjZhMmJkOGFkOC4uNTliNzQ5NmM1NjM4ZTZlNGZkZWEzMWRkZGQ5M2I1
MDg5YjA0YWYwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTAxLTE0ICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgcXVpcmsgdG8gZGlz
YWJsZSAicmV0dXJuIHRvIGVsZW1lbnQgZnVsbHNjcmVlbiBmcm9tIHBpY3R1cmUtaW4tcGljdHVy
ZSIgZm9yIHNvbWUgc2l0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMDYwNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEZvciBpUGFkcywgd2UgYWRkIHRoZSBzdXBwb3J0IG9mICJyZXR1cm4gdG8gZWxl
bWVudCBmdWxsc2NyZWVuIGZyb20gcGljdHVyZS1pbi1waWN0dXJlIiBpbiByMjY1NTYyLgorICAg
ICAgICBVbmZvcnR1bmF0ZWx5LCBzb21lIHNpdGVzIGRvIG5vdCBzZXQgZWxlbWVudCdzIHN0eWxl
cyBwcm9wZXJseSB3aGVuIGEgdmlkZW8gcmV0dXJucyB0byBmdWxsc2NyZWVuCisgICAgICAgIGZy
b20gcGljdHVyZS1pbi1waWN0dXJlLiBUaGlzIHBhdGNoIGFkZHMgYSBxdWlyayB0byBkaXNhYmxl
IHRoZSBmZWF0dXJlIGZvciB0aG9zZSBzaXRlcyBmb3Igbm93LgorCisgICAgICAgICogcGFnZS9R
dWlya3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UXVpcmtzOjpibG9ja3NSZXR1cm5Ub0Z1bGxz
Y3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJrIGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1F1
aXJrcy5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdC5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdC5tbToKKyAgICAgICAgKFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpzZXR1cEZ1
bGxzY3JlZW4pOgorICAgICAgICAoVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmRpZFN0
YXJ0UGljdHVyZUluUGljdHVyZSk6CisgICAgICAgICogcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVs
bHNjcmVlbkNvbnRyb2xsZXJBVktpdC5tbToKKyAgICAgICAgKFZpZGVvRnVsbHNjcmVlbkNvbnRy
b2xsZXJDb250ZXh0OjpzZXRVcEZ1bGxzY3JlZW4pOgorCiAyMDIxLTAxLTE0ICBMYXVybyBNb3Vy
YSAgPGxtb3VyYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIFJlbW92ZSB1bnVz
ZWQgdmFyaWFibGUgd2FybmluZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNTJiZTVjYzdlYmEwY2MwYmQ3MDI4MTU0
OGI0OTQ0YjE2MDU2OTIxZC4uNDFiMzkzNjAxN2VmNzhkZjAyYzgzMmM0YzQ2YzM1MDg2ODQwYzUy
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAyMS0wMS0xNCAgUGVuZyBMaXUgIDxwZW5n
LmxpdTZAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIHF1aXJrIHRvIGRpc2FibGUgInJldHVy
biB0byBlbGVtZW50IGZ1bGxzY3JlZW4gZnJvbSBwaWN0dXJlLWluLXBpY3R1cmUiIGZvciBzb21l
IHNpdGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjA2MDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmlu
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHku
bW06CisgICAgICAgIChXZWJLaXQ6OlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6c2V0dXBG
dWxsc2NyZWVuV2l0aElEKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRnVsbFNjcmVlbk1hbmFn
ZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6
OmJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlIGNvbnN0KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6ZW50ZXJGdWxsU2NyZWVu
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eS5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvZnVsbHNjcmVlbi9XS0Z1bGxTY3JlZW5XaW5kb3dDb250
cm9sbGVySU9TLm1tOgorICAgICAgICAoLVtXS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyIGVu
dGVyRnVsbFNjcmVlbl0pOgorICAgICAgICAoLVtXS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVy
IGRpZEVudGVyUGljdHVyZUluUGljdHVyZV0pOgorICAgICAgICAqIFdlYlByb2Nlc3MvRnVsbFNj
cmVlbi9XZWJGdWxsU2NyZWVuTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZ1bGxT
Y3JlZW5NYW5hZ2VyOjplbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50
OjplbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQuaDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL2NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubW06CisgICAgICAgIChX
ZWJLaXQ6OlZpZGVvRnVsbHNjcmVlbk1hbmFnZXI6OmVudGVyVmlkZW9GdWxsc2NyZWVuRm9yVmlk
ZW9FbGVtZW50KToKKwogMjAyMS0wMS0xNCAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29t
PgogCiAgICAgICAgIFtDb2NvYV0gQWRkIGEgc2NyaXB0IHRvIGdlbmVyYXRlIHRoZSAiRmVhdHVy
ZSBGbGFncyIgcGxpc3QgZmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9RdWly
a3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9RdWlya3MuY3BwCmluZGV4IDFkMjgzNDgzYWFl
ZDE4OWQ5ZmQxNDQzNDhhY2FkNDJmMzdmMjI3ZDguLmM2NzY3MWVmOWZkYTA4MDdmOWRlNGFlMzM2
YmQ3MmRhNWI3NjRkMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5jcHAKQEAgLTEyNzMsNCArMTI3Mywy
NSBAQCBib29sIFF1aXJrczo6cmVxdWlyZXNVc2VyR2VzdHVyZVRvUGF1c2VJblBpY3R1cmVJblBp
Y3R1cmUoKSBjb25zdAogICAgIHJldHVybiAqbV9yZXF1aXJlc1VzZXJHZXN0dXJlVG9QYXVzZUlu
UGljdHVyZUluUGljdHVyZTsKIH0KIAorYm9vbCBRdWlya3M6OmJsb2Nrc1JldHVyblRvRnVsbHNj
cmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlUXVpcmsoKSBjb25zdAoreworI2lmIEVOQUJMRShGVUxM
U0NSRUVOX0FQSSkgJiYgRU5BQkxFKFZJREVPX1BSRVNFTlRBVElPTl9NT0RFKQorICAgIC8vIFNv
bWUgc2l0ZXMgKGUuZy4sIHdvd2hlYWQuY29tIGFuZCB2aW1lby5jb20pIGRvIG5vdCBzZXQgZWxl
bWVudCdzIHN0eWxlcyBwcm9wZXJseSB3aGVuIGEgdmlkZW8KKyAgICAvLyByZXR1cm5zIHRvIGZ1
bGxzY3JlZW4gZnJvbSBwaWN0dXJlLWluLXBpY3R1cmUuIFRoaXMgcXVpcmsgZGlzYWJsZXMgdGhl
ICJyZXR1cm4gdG8gZnVsbHNjcmVlbgorICAgIC8vIGZyb20gcGljdHVyZS1pbi1waWN0dXJlIiBm
ZWF0dXJlIGZvciB0aG9zZSBzaXRlcy4gV2Ugc2hvdWxkIHJlbW92ZSB0aGUgcXVpcmsgb25jZSBy
ZGFyOi8vcHJvYmxlbS83MzE2Nzg2MQorICAgIC8vIGFuZCByZGFyOi8vcHJvYmxlbS83MzE2Nzkz
MSBoYXZlIGJlZW4gZml4ZWQuCisgICAgaWYgKCFuZWVkc1F1aXJrcygpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBpZiAoIW1fYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1
cmVJblBpY3R1cmVRdWlyaykgeworICAgICAgICBhdXRvIGRvbWFpbiA9IFJlZ2lzdHJhYmxlRG9t
YWluIHsgbV9kb2N1bWVudC0+dG9wRG9jdW1lbnQoKS51cmwoKSB9OworICAgICAgICBtX2Jsb2Nr
c1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlUXVpcmsgPSBkb21haW4gPT0g
InZpbWVvLmNvbSJfcyB8fCBkb21haW4gPT0gIndvd2hlYWQuY29tIl9zOworICAgIH0KKworICAg
IHJldHVybiAqbV9ibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1
aXJrOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9RdWlya3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUXVp
cmtzLmgKaW5kZXggYjk4NmI4NmE2MGViODlhM2IxMTg5ODE4OTRjYzI1YmUyNjcyMTU5OS4uZWVj
ZjI2MDQyMzhjYTk5ZDhmMzQ3OGZmYThhODAxZDVmMDI2YzJhYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9RdWlya3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5o
CkBAIC0xMjksNiArMTI5LDggQEAgcHVibGljOgogCiAgICAgYm9vbCByZXF1aXJlc1VzZXJHZXN0
dXJlVG9QYXVzZUluUGljdHVyZUluUGljdHVyZSgpIGNvbnN0OwogCisgICAgV0VCQ09SRV9FWFBP
UlQgYm9vbCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJr
KCkgY29uc3Q7CisKICNpZiBFTkFCTEUoUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQogICAgIHN0
YXRpYyBib29sIGlzTWljcm9zb2Z0VGVhbXNSZWRpcmVjdFVSTChjb25zdCBVUkwmKTsKICAgICBz
dGF0aWMgYm9vbCBoYXNTdG9yYWdlQWNjZXNzRm9yQWxsTG9naW5Eb21haW5zKGNvbnN0IEhhc2hT
ZXQ8UmVnaXN0cmFibGVEb21haW4+JiwgY29uc3QgUmVnaXN0cmFibGVEb21haW4mKTsKQEAgLTE3
MCw2ICsxNzIsNyBAQCBwcml2YXRlOgogICAgIG11dGFibGUgT3B0aW9uYWw8Ym9vbD4gbV9uZWVk
c0hEUlBpeGVsRGVwdGhRdWlyazsKICAgICBtdXRhYmxlIE9wdGlvbmFsPGJvb2w+IG1fbmVlZHNC
bGFja0Z1bGxzY3JlZW5CYWNrZ3JvdW5kUXVpcms7CiAgICAgbXV0YWJsZSBPcHRpb25hbDxib29s
PiBtX3JlcXVpcmVzVXNlckdlc3R1cmVUb1BhdXNlSW5QaWN0dXJlSW5QaWN0dXJlOworICAgIG11
dGFibGUgT3B0aW9uYWw8Ym9vbD4gbV9ibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVy
ZUluUGljdHVyZVF1aXJrOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFW
S2l0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVuSW50ZXJm
YWNlQVZLaXQuaAppbmRleCBiOTdlOTg3NTlmYjIzNTliNzlhZTk5ZmI5NzNjZDA0NzZjMWZmYTRj
Li5mYjQxMzZhYjgzNThlNmRhMjA3ZmFhOGVjZTExZDllNDAzZDFkN2ExIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVuSW50ZXJm
YWNlQVZLaXQuaApAQCAtNzksNyArNzksNyBAQCBwdWJsaWM6CiAgICAgLy8gUGxheWJhY2tTZXNz
aW9uTW9kZWxDbGllbnQKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGV4dGVybmFsUGxheWJhY2tD
aGFuZ2VkKGJvb2wgZW5hYmxlZCwgUGxheWJhY2tTZXNzaW9uTW9kZWw6OkV4dGVybmFsUGxheWJh
Y2tUYXJnZXRUeXBlLCBjb25zdCBTdHJpbmcmIGxvY2FsaXplZERldmljZU5hbWUpIGZpbmFsOwog
Ci0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXR1cEZ1bGxzY3JlZW4oVUlWaWV3JiB2aWRlb1Zp
ZXcsIGNvbnN0IEludFJlY3QmIGluaXRpYWxSZWN0LCBjb25zdCBGbG9hdFNpemUmIHZpZGVvRGlt
ZW5zaW9ucywgVUlWaWV3KiBwYXJlbnRWaWV3LCBIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVv
RnVsbHNjcmVlbk1vZGUsIGJvb2wgYWxsb3dzUGljdHVyZUluUGljdHVyZVBsYXliYWNrLCBib29s
IHN0YW5kYnkpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0dXBGdWxsc2NyZWVuKFVJVmll
dyYgdmlkZW9WaWV3LCBjb25zdCBJbnRSZWN0JiBpbml0aWFsUmVjdCwgY29uc3QgRmxvYXRTaXpl
JiB2aWRlb0RpbWVuc2lvbnMsIFVJVmlldyogcGFyZW50VmlldywgSFRNTE1lZGlhRWxlbWVudEVu
dW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlLCBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmVQbGF5
YmFjaywgYm9vbCBzdGFuZGJ5LCBib29sIGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0
dXJlSW5QaWN0dXJlKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGVudGVyRnVsbHNjcmVlbigp
OwogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgZXhpdEZ1bGxzY3JlZW4oY29uc3QgSW50UmVjdCYg
ZmluYWxSZWN0KTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGNsZWFudXBGdWxsc2NyZWVuKCk7
CkBAIC0xOTIsNiArMTkyLDcgQEAgcHJvdGVjdGVkOgogICAgIGJvb2wgbV9hbGxvd3NQaWN0dXJl
SW5QaWN0dXJlUGxheWJhY2sgeyBmYWxzZSB9OwogICAgIGJvb2wgbV93aXJlbGVzc1ZpZGVvUGxh
eWJhY2tEaXNhYmxlZCB7IHRydWUgfTsKICAgICBib29sIG1fc2hvdWxkUmV0dXJuVG9GdWxsc2Ny
ZWVuV2hlblN0b3BwaW5nUGljdHVyZUluUGljdHVyZSB7IGZhbHNlIH07CisgICAgYm9vbCBtX2Js
b2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlIHsgZmFsc2UgfTsKICAg
ICBib29sIG1fcmVzdG9yaW5nRnVsbHNjcmVlbkZvclBpY3R1cmVJblBpY3R1cmVTdG9wIHsgZmFs
c2UgfTsKICAgICBib29sIG1fcmV0dXJuaW5nVG9TdGFuZGJ5IHsgZmFsc2UgfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNjcmVlbkludGVyZmFj
ZUFWS2l0Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNjcmVlbklu
dGVyZmFjZUFWS2l0Lm1tCmluZGV4IGI1ZjA1NjRmMDE5NDQ1YTJhZDRjZjYwZjIxMWEyOTRjZDNi
ZmMwZDUuLjljMDdkNzgzNDVhMDE3MzFkMjM5NWQ4YjFmOTEwNTk0ZGIzNTZlZmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVu
SW50ZXJmYWNlQVZLaXQubW0KQEAgLTkyNiw3ICs5MjYsNyBAQCB2b2lkIFZpZGVvRnVsbHNjcmVl
bkludGVyZmFjZUFWS2l0OjphcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZSgpCiAgICAgTE9HKEZ1
bGxzY3JlZW4sICJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6YXBwbGljYXRpb25EaWRC
ZWNvbWVBY3RpdmUoJXApIiwgdGhpcyk7CiB9CiAKLXZvaWQgVmlkZW9GdWxsc2NyZWVuSW50ZXJm
YWNlQVZLaXQ6OnNldHVwRnVsbHNjcmVlbihVSVZpZXcmIHZpZGVvVmlldywgY29uc3QgSW50UmVj
dCYgaW5pdGlhbFJlY3QsIGNvbnN0IEZsb2F0U2l6ZSYgdmlkZW9EaW1lbnNpb25zLCBVSVZpZXcq
IHBhcmVudFZpZXcsIEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSBt
b2RlLCBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmVQbGF5YmFjaywgYm9vbCBzdGFuZGJ5KQor
dm9pZCBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6c2V0dXBGdWxsc2NyZWVuKFVJVmll
dyYgdmlkZW9WaWV3LCBjb25zdCBJbnRSZWN0JiBpbml0aWFsUmVjdCwgY29uc3QgRmxvYXRTaXpl
JiB2aWRlb0RpbWVuc2lvbnMsIFVJVmlldyogcGFyZW50VmlldywgSFRNTE1lZGlhRWxlbWVudEVu
dW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlIG1vZGUsIGJvb2wgYWxsb3dzUGljdHVyZUluUGljdHVy
ZVBsYXliYWNrLCBib29sIHN0YW5kYnksIGJvb2wgYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJv
bVBpY3R1cmVJblBpY3R1cmUpCiB7CiAgICAgQVNTRVJUKHN0YW5kYnkgfHwgbW9kZSAhPSBIVE1M
TWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVOb25lKTsKICAgICBMT0coRnVs
bHNjcmVlbiwgIlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpzZXR1cEZ1bGxzY3JlZW4o
JXApIiwgdGhpcyk7CkBAIC05NDQsNiArOTQ0LDcgQEAgdm9pZCBWaWRlb0Z1bGxzY3JlZW5JbnRl
cmZhY2VBVktpdDo6c2V0dXBGdWxsc2NyZWVuKFVJVmlldyYgdmlkZW9WaWV3LCBjb25zdCBJbnQK
IAogICAgIG1fdGFyZ2V0U3RhbmRieSA9IHN0YW5kYnk7CiAgICAgbV90YXJnZXRNb2RlID0gbW9k
ZTsKKyAgICBtX2Jsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlID0g
YmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1cmU7CiAgICAgc2V0SW5s
aW5lUmVjdChpbml0aWFsUmVjdCwgdHJ1ZSk7CiAgICAgZG9TZXR1cCgpOwogfQpAQCAtMTEzMiw3
ICsxMTMzLDcgQEAgdm9pZCBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6ZGlkU3RhcnRQ
aWN0dXJlSW5QaWN0dXJlKCkKICAgICAgICAgICAgIGV4aXRGdWxsc2NyZWVuSGFuZGxlcihzdWNj
ZXNzLCBlcnJvcik7CiAgICAgICAgIH1dOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIGlmIChtX3N0
YW5kYnkpCisgICAgICAgIGlmIChtX3N0YW5kYnkgJiYgIW1fYmxvY2tzUmV0dXJuVG9GdWxsc2Ny
ZWVuRnJvbVBpY3R1cmVJblBpY3R1cmUpCiAgICAgICAgICAgICBtX3Nob3VsZFJldHVyblRvRnVs
bHNjcmVlbldoZW5TdG9wcGluZ1BpY3R1cmVJblBpY3R1cmUgPSB0cnVlOwogCiAgICAgICAgIFtt
X3dpbmRvdyBzZXRIaWRkZW46WUVTXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZLaXQubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckFWS2l0Lm1tCmlu
ZGV4IDNhZjk2MjhiZjE2YjFiMzA0ZmRjZTEwYTA5MmVhNzdlNWMwNjk5OWIuLjRiOGEwM2I2NzVj
ZGUxMWRkZWZjODI2OWRmN2JlYzY5NWMzOTQ3OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZLaXQubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJB
VktpdC5tbQpAQCAtOTk0LDcgKzk5NCw3IEBAIHZvaWQgVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxl
ckNvbnRleHQ6OnNldFVwRnVsbHNjcmVlbihIVE1MVmlkZW9FbGVtZW50JiB2aWRlb0VsCiAKICAg
ICAgICAgbV92aWRlb0Z1bGxzY3JlZW5WaWV3ID0gYWRvcHROUyhbUEFMOjphbGxvY1VJVmlld0lu
c3RhbmNlKCkgaW5pdF0pOwogCi0gICAgICAgIG1faW50ZXJmYWNlLT5zZXR1cEZ1bGxzY3JlZW4o
Km1fdmlkZW9GdWxsc2NyZWVuVmlldy5nZXQoKSwgdmlkZW9FbGVtZW50Q2xpZW50UmVjdCwgdmlk
ZW9EaW1lbnNpb25zLCB2aWV3UmVmLmdldCgpLCBtb2RlLCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJl
LCBmYWxzZSk7CisgICAgICAgIG1faW50ZXJmYWNlLT5zZXR1cEZ1bGxzY3JlZW4oKm1fdmlkZW9G
dWxsc2NyZWVuVmlldy5nZXQoKSwgdmlkZW9FbGVtZW50Q2xpZW50UmVjdCwgdmlkZW9EaW1lbnNp
b25zLCB2aWV3UmVmLmdldCgpLCBtb2RlLCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlLCBmYWxzZSwg
ZmFsc2UpOwogICAgIH0pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oCmluZGV4IDVmMzgxNDVl
OTJhZTY2ODdjZmE5Y2ZmMTVhZDE2N2Y3NTQ5MzA3OTQuLjgwNzVhMmM1ZDM1NzBkMGJmYWJhZjli
ZjlmYjFjMjA2YTQ5M2YxOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oCkBAIC0xNzMsNyArMTcz
LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlRGlkQ2hh
bmdlKGJvb2wpOwogCiAgICAgLy8gTWVzc2FnZXMgZnJvbSBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2Vy
Ci0gICAgdm9pZCBzZXR1cEZ1bGxzY3JlZW5XaXRoSUQoUGxheWJhY2tTZXNzaW9uQ29udGV4dElk
ZW50aWZpZXIsIFdlYktpdDo6TGF5ZXJIb3N0aW5nQ29udGV4dElEIHZpZGVvTGF5ZXJJRCwgY29u
c3QgV2ViQ29yZTo6SW50UmVjdCYgaW5pdGlhbFJlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6
ZSYgdmlkZW9EaW1lbnNpb25zLCBmbG9hdCBob3N0aW5nU2NhbGVGYWN0b3IsIFdlYkNvcmU6OkhU
TUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSwgYm9vbCBhbGxvd3NQaWN0
dXJlSW5QaWN0dXJlLCBib29sIHN0YW5kYnkpOworICAgIHZvaWQgc2V0dXBGdWxsc2NyZWVuV2l0
aElEKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyLCBXZWJLaXQ6OkxheWVySG9zdGlu
Z0NvbnRleHRJRCB2aWRlb0xheWVySUQsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGluaXRpYWxS
ZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIHZpZGVvRGltZW5zaW9ucywgZmxvYXQgaG9z
dGluZ1NjYWxlRmFjdG9yLCBXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVs
bHNjcmVlbk1vZGUsIGJvb2wgYWxsb3dzUGljdHVyZUluUGljdHVyZSwgYm9vbCBzdGFuZGJ5LCBi
b29sIGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlKTsKICAgICB2
b2lkIHNldElubGluZVJlY3QoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIsIGNvbnN0
IFdlYkNvcmU6OkludFJlY3QmIGlubGluZVJlY3QsIGJvb2wgdmlzaWJsZSk7CiAgICAgdm9pZCBz
ZXRIYXNWaWRlb0NvbnRlbnRMYXllcihQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciwg
Ym9vbCB2YWx1ZSk7CiAgICAgdm9pZCBzZXRIYXNWaWRlbyhQbGF5YmFja1Nlc3Npb25Db250ZXh0
SWRlbnRpZmllciwgYm9vbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMu
aW4KaW5kZXggNDQxMmViODUxNGYwNzA1ZTVmYTJmNTFjZjQ1NzkyZDZiMWJkOWVhYi4uY2VlMTgw
YzE2ZTdkOTU2Y2Q0ZTMwYTU0MzMxN2ZjY2E5MWFhNWI0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1lc3NhZ2Vz
LmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1h
bmFnZXJQcm94eS5tZXNzYWdlcy5pbgpAQCAtMjQsNyArMjQsNyBAQAogbWVzc2FnZXMgLT4gVmlk
ZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5IHsKICAgICBTZXRIYXNWaWRlbyhXZWJLaXQ6OlBsYXli
YWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGNvbnRleHRJZCwgYm9vbCBoYXNWaWRlbykKICAg
ICBTZXRWaWRlb0RpbWVuc2lvbnMoV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRp
ZmllciBjb250ZXh0SWQsIFdlYkNvcmU6OkZsb2F0U2l6ZSB2aWRlb0RpbWVuc2lvbnMpCi0gICAg
U2V0dXBGdWxsc2NyZWVuV2l0aElEKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50
aWZpZXIgY29udGV4dElkLCBXZWJLaXQ6OkxheWVySG9zdGluZ0NvbnRleHRJRCB2aWRlb0xheWVy
SUQsIFdlYkNvcmU6OkludFJlY3QgaW5pdGlhbFJlY3QsIFdlYkNvcmU6OkZsb2F0U2l6ZSB2aWRl
b0RpbWVuc2lvbnMsIGZsb2F0IGhvc3RpbmdTY2FsZUZhY3RvciwgV2ViQ29yZTo6SFRNTE1lZGlh
RWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlIHZpZGVvRnVsbHNjcmVlbk1vZGUsIGJv
b2wgYWxsb3dzUGljdHVyZUluUGljdHVyZSwgYm9vbCBzdGFuZGJ5KQorICAgIFNldHVwRnVsbHNj
cmVlbldpdGhJRChXZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGNvbnRl
eHRJZCwgV2ViS2l0OjpMYXllckhvc3RpbmdDb250ZXh0SUQgdmlkZW9MYXllcklELCBXZWJDb3Jl
OjpJbnRSZWN0IGluaXRpYWxSZWN0LCBXZWJDb3JlOjpGbG9hdFNpemUgdmlkZW9EaW1lbnNpb25z
LCBmbG9hdCBob3N0aW5nU2NhbGVGYWN0b3IsIFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnRFbnVt
czo6VmlkZW9GdWxsc2NyZWVuTW9kZSB2aWRlb0Z1bGxzY3JlZW5Nb2RlLCBib29sIGFsbG93c1Bp
Y3R1cmVJblBpY3R1cmUsIGJvb2wgc3RhbmRieSwgYm9vbCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3Jl
ZW5Gcm9tUGljdHVyZUluUGljdHVyZSkKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBF
bnRlckZ1bGxzY3JlZW4oV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBj
b250ZXh0SWQpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbQppbmRleCBjNjkxODQ3MTBm
MTkxN2Q1MDg5Yzc2MmUzYjE4ODc0NTM4N2ZmZGUzLi4wNGIzZTQyZjVkMDk4NmI2NGRkZjY5NTI0
YjQ5ODAzNWVmNGNkYjRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tCkBAIC01MDgsNyArNTA4
LDcgQEAgdm9pZCBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6Omhhc1ZpZGVvSW5QaWN0dXJl
SW5QaWN0dXJlRGlkQ2hhbmdlKGJvb2wgdmFsdWUKIAogI3ByYWdtYSBtYXJrIE1lc3NhZ2VzIGZy
b20gVmlkZW9GdWxsc2NyZWVuTWFuYWdlcgogCi12b2lkIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQ
cm94eTo6c2V0dXBGdWxsc2NyZWVuV2l0aElEKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlm
aWVyIGNvbnRleHRJZCwgV2ViS2l0OjpMYXllckhvc3RpbmdDb250ZXh0SUQgdmlkZW9MYXllcklE
LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBpbml0aWFsUmVjdCwgY29uc3QgV2ViQ29yZTo6Rmxv
YXRTaXplJiB2aWRlb0RpbWVuc2lvbnMsIGZsb2F0IGhvc3RpbmdEZXZpY2VTY2FsZUZhY3Rvciwg
SFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlIHZpZGVvRnVsbHNjcmVl
bk1vZGUsIGJvb2wgYWxsb3dzUGljdHVyZUluUGljdHVyZSwgYm9vbCBzdGFuZGJ5KQordm9pZCBW
aWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OnNldHVwRnVsbHNjcmVlbldpdGhJRChQbGF5YmFj
a1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQsIFdlYktpdDo6TGF5ZXJIb3N0aW5n
Q29udGV4dElEIHZpZGVvTGF5ZXJJRCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgaW5pdGlhbFJl
Y3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgdmlkZW9EaW1lbnNpb25zLCBmbG9hdCBob3N0
aW5nRGV2aWNlU2NhbGVGYWN0b3IsIEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2Ny
ZWVuTW9kZSB2aWRlb0Z1bGxzY3JlZW5Nb2RlLCBib29sIGFsbG93c1BpY3R1cmVJblBpY3R1cmUs
IGJvb2wgc3RhbmRieSwgYm9vbCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUlu
UGljdHVyZSkKIHsKICAgICBNRVNTQUdFX0NIRUNLKHZpZGVvTGF5ZXJJRCk7CiAKQEAgLTU0NCw5
ICs1NDQsMTAgQEAgdm9pZCBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OnNldHVwRnVsbHNj
cmVlbldpdGhJRChQbGF5YmFja1Nlc3Npb25Db250ZXh0SWQKICNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQogICAgIGF1dG8qIHJvb3ROb2RlID0gZG93bmNhc3Q8UmVtb3RlTGF5ZXJUcmVlRHJhd2lu
Z0FyZWFQcm94eT4oKm1fcGFnZS0+ZHJhd2luZ0FyZWEoKSkucmVtb3RlTGF5ZXJUcmVlSG9zdCgp
LnJvb3ROb2RlKCk7CiAgICAgVUlWaWV3ICpwYXJlbnRWaWV3ID0gcm9vdE5vZGUgPyByb290Tm9k
ZS0+dWlWaWV3KCkgOiBuaWw7Ci0gICAgaW50ZXJmYWNlLT5zZXR1cEZ1bGxzY3JlZW4oKm1vZGVs
LT5sYXllckhvc3RWaWV3KCksIGluaXRpYWxSZWN0LCB2aWRlb0RpbWVuc2lvbnMsIHBhcmVudFZp
ZXcsIHZpZGVvRnVsbHNjcmVlbk1vZGUsIGFsbG93c1BpY3R1cmVJblBpY3R1cmUsIHN0YW5kYnkp
OworICAgIGludGVyZmFjZS0+c2V0dXBGdWxsc2NyZWVuKCptb2RlbC0+bGF5ZXJIb3N0Vmlldygp
LCBpbml0aWFsUmVjdCwgdmlkZW9EaW1lbnNpb25zLCBwYXJlbnRWaWV3LCB2aWRlb0Z1bGxzY3Jl
ZW5Nb2RlLCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlLCBzdGFuZGJ5LCBibG9ja3NSZXR1cm5Ub0Z1
bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZSk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTSh2
aWRlb0RpbWVuc2lvbnMpOworICAgIFVOVVNFRF9QQVJBTShibG9ja3NSZXR1cm5Ub0Z1bGxzY3Jl
ZW5Gcm9tUGljdHVyZUluUGljdHVyZSk7CiAgICAgSW50UmVjdCBpbml0aWFsV2luZG93UmVjdDsK
ICAgICBtX3BhZ2UtPnJvb3RWaWV3VG9XaW5kb3coaW5pdGlhbFJlY3QsIGluaXRpYWxXaW5kb3dS
ZWN0KTsKICAgICBpbnRlcmZhY2UtPnNldHVwRnVsbHNjcmVlbigqbW9kZWwtPmxheWVySG9zdFZp
ZXcoKSwgaW5pdGlhbFdpbmRvd1JlY3QsIG1fcGFnZS0+cGxhdGZvcm1XaW5kb3coKSwgdmlkZW9G
dWxsc2NyZWVuTW9kZSwgYWxsb3dzUGljdHVyZUluUGljdHVyZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkuY3BwCmluZGV4IGQ0
ODM2ZjE2NGRmOTQ5YzlmNjgzOTVjMDNiNzg1NWNmZjU4MWZkOTkuLjYzMzI0ODhhM2VmODFhNzg2
YzFmNDFjOGExZjhhMGNlOGVhYzcwNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkuY3BwCkBAIC0xNDYsOCArMTQ2LDE0IEBA
IGJvb2wgV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6aXNGdWxsU2NyZWVuKCkKICAgICByZXR1
cm4gbV9jbGllbnQuaXNGdWxsU2NyZWVuKCk7CiB9CiAKLXZvaWQgV2ViRnVsbFNjcmVlbk1hbmFn
ZXJQcm94eTo6ZW50ZXJGdWxsU2NyZWVuKCkKK2Jvb2wgV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94
eTo6YmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1cmUoKSBjb25zdAog
eworICAgIHJldHVybiBtX2Jsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0
dXJlOworfQorCit2b2lkIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OmVudGVyRnVsbFNjcmVl
bihib29sIGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlKQorewor
ICAgIG1fYmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1cmUgPSBibG9j
a3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZTsKICAgICBtX2NsaWVudC5l
bnRlckZ1bGxTY3JlZW4oKTsKIH0KIApAQCAtMTU1LDcgKzE2MSw3IEBAIHZvaWQgV2ViRnVsbFNj
cmVlbk1hbmFnZXJQcm94eTo6ZXhpdEZ1bGxTY3JlZW4oKQogewogICAgIG1fY2xpZW50LmV4aXRG
dWxsU2NyZWVuKCk7CiB9Ci0gICAgCisKIHZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6
YmVnYW5FbnRlckZ1bGxTY3JlZW4oY29uc3QgSW50UmVjdCYgaW5pdGlhbEZyYW1lLCBjb25zdCBJ
bnRSZWN0JiBmaW5hbEZyYW1lKQogewogICAgIG1fY2xpZW50LmJlZ2FuRW50ZXJGdWxsU2NyZWVu
KGluaXRpYWxGcmFtZSwgZmluYWxGcmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5LmgKaW5kZXggMDBkM2QwYWEyM2Y0MGIwYmI3
MTI4ODI2MzJhNDE5ZTg2MDhiYTY3Yy4uMmQyZTI3YWExNWMwZTY4MTdlN2M2ZDJkMWI5NWJhOTdi
MGFmNWQ0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRnVsbFNjcmVl
bk1hbmFnZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyUHJveHkuaApAQCAtNjIsNiArNjIsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+
V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eSgpOwogCiAgICAgYm9vbCBpc0Z1bGxTY3JlZW4oKTsK
KyAgICBib29sIGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlKCkg
Y29uc3Q7CiAgICAgdm9pZCBjbG9zZSgpOwogCiAgICAgdm9pZCB3aWxsRW50ZXJGdWxsU2NyZWVu
KCk7CkBAIC03OSw3ICs4MCw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICB2b2lkIHN1cHBv
cnRzRnVsbFNjcmVlbihib29sIHdpdGhLZXlib2FyZCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChi
b29sKT4mJik7Ci0gICAgdm9pZCBlbnRlckZ1bGxTY3JlZW4oKTsKKyAgICB2b2lkIGVudGVyRnVs
bFNjcmVlbihib29sIGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJl
KTsKICAgICB2b2lkIGV4aXRGdWxsU2NyZWVuKCk7CiAgICAgdm9pZCBiZWdhbkVudGVyRnVsbFNj
cmVlbihjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBpbml0aWFsRnJhbWUsIGNvbnN0IFdlYkNvcmU6
OkludFJlY3QmIGZpbmFsRnJhbWUpOwogICAgIHZvaWQgYmVnYW5FeGl0RnVsbFNjcmVlbihjb25z
dCBXZWJDb3JlOjpJbnRSZWN0JiBpbml0aWFsRnJhbWUsIGNvbnN0IFdlYkNvcmU6OkludFJlY3Qm
IGZpbmFsRnJhbWUpOwpAQCAtODksNiArOTAsNyBAQCBwcml2YXRlOgogCiAgICAgV2ViUGFnZVBy
b3h5JiBtX3BhZ2U7CiAgICAgV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eUNsaWVudCYgbV9jbGll
bnQ7CisgICAgYm9vbCBtX2Jsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0
dXJlIHsgZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eS5tZXNzYWdl
cy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHku
bWVzc2FnZXMuaW4KaW5kZXggZDA5NWRkYjRkYzE0NDYxODI4MzBiOWE5MzBlN2EzMDYwODlkODZm
NS4uNWQxNDM4MzM4OTFiNTI5ZTAxN2M5YTZmN2M5Zjk0YTM0NDliODNhZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eS5tZXNzYWdl
cy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclBy
b3h5Lm1lc3NhZ2VzLmluCkBAIC0yMyw3ICsyMyw3IEBACiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5f
QVBJKQogbWVzc2FnZXMgLT4gV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eSBOb3RSZWZDb3VudGVk
IHsKICAgICBTdXBwb3J0c0Z1bGxTY3JlZW4oYm9vbCB3aXRoS2V5Ym9hcmQpIC0+IChib29sIHN1
cHBvcnRzRnVsbFNjcmVlbikgU3luY2hyb25vdXMKLSAgICBFbnRlckZ1bGxTY3JlZW4oKQorICAg
IEVudGVyRnVsbFNjcmVlbihib29sIGJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJl
SW5QaWN0dXJlKQogICAgIEV4aXRGdWxsU2NyZWVuKCkKICAgICBCZWdhbkVudGVyRnVsbFNjcmVl
bihXZWJDb3JlOjpJbnRSZWN0IGluaXRpYWxSZWN0LCBXZWJDb3JlOjpJbnRSZWN0IGZpbmFsUmVj
dCkKICAgICBCZWdhbkV4aXRGdWxsU2NyZWVuKFdlYkNvcmU6OkludFJlY3QgaW5pdGlhbFJlY3Qs
IFdlYkNvcmU6OkludFJlY3QgZmluYWxSZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL2Z1bGxzY3JlZW4vV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlcklPUy5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mdWxsc2NyZWVuL1dLRnVsbFNjcmVlbldp
bmRvd0NvbnRyb2xsZXJJT1MubW0KaW5kZXggMTdmNmE1YzIwODU4ZjI5NjAyNTdmODczMTU2Zjkw
ZmUwNjliMDdjYS4uNmY3MTliMGI3ZWI1YTMwYzJjOWZjZjJiMzNiMTA0YTZiMWMyZTRmNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Z1bGxzY3JlZW4vV0tGdWxsU2Ny
ZWVuV2luZG93Q29udHJvbGxlcklPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvZnVsbHNjcmVlbi9XS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVySU9TLm1tCkBAIC00NzEs
NiArNDcxLDcgQEAgcHJpdmF0ZToKICAgICBCT09MIF9zaG91bGRSZXR1cm5Ub0Z1bGxzY3JlZW5G
cm9tUGljdHVyZUluUGljdHVyZTsKICAgICBCT09MIF9lbnRlckZ1bGxzY3JlZW5OZWVkc0V4aXRQ
aWN0dXJlSW5QaWN0dXJlOwogICAgIEJPT0wgX3JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJl
SW5QaWN0dXJlOworICAgIEJPT0wgX2Jsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJl
SW5QaWN0dXJlOwogCiAgICAgQ0dSZWN0IF9pbml0aWFsRnJhbWU7CiAgICAgQ0dSZWN0IF9maW5h
bEZyYW1lOwpAQCAtNTQwLDYgKzU0MSw3IEBAIHByaXZhdGU6CiAgICAgW3NlbGYgX2ludmFsaWRh
dGVFVk9yZ2FuaXphdGlvbk5hbWVdOwogCiAgICAgX2Z1bGxTY3JlZW5TdGF0ZSA9IFdlYktpdDo6
V2FpdGluZ1RvRW50ZXJGdWxsU2NyZWVuOworICAgIF9ibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5G
cm9tUGljdHVyZUluUGljdHVyZSA9IG1hbmFnZXItPmJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZy
b21QaWN0dXJlSW5QaWN0dXJlKCk7CiAKICAgICBfd2luZG93ID0gYWRvcHROUyhbW1VJV2luZG93
IGFsbG9jXSBpbml0V2l0aFdpbmRvd1NjZW5lOltbd2ViVmlldyB3aW5kb3ddIHdpbmRvd1NjZW5l
XV0pOwogICAgIFtfd2luZG93IHNldEJhY2tncm91bmRDb2xvcjpbVUlDb2xvciBjbGVhckNvbG9y
XV07CkBAIC04ODcsNyArODg5LDggQEAgcHJpdmF0ZToKIAogLSAodm9pZClkaWRFbnRlclBpY3R1
cmVJblBpY3R1cmUKIHsKLSAgICBfc2hvdWxkUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJ
blBpY3R1cmUgPSBZRVM7CisgICAgX3Nob3VsZFJldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJl
SW5QaWN0dXJlID0gIV9ibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVy
ZTsKKwogICAgIGlmIChfZnVsbFNjcmVlblN0YXRlID09IFdlYktpdDo6SW5GdWxsU2NyZWVuKQog
ICAgICAgICBbc2VsZiByZXF1ZXN0RXhpdEZ1bGxTY3JlZW5dOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFnZXIuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0Z1bGxTY3JlZW4vV2ViRnVsbFNjcmVlbk1hbmFn
ZXIuY3BwCmluZGV4IDFiYjdjMDljMDYxYTNlOTVjYjgzYmJkYjA1YWRlZjczZTMzMWQxYjAuLjRk
ODA3NmEzMzVkMTgzNDA3NTcxMWY2OGZkZjI3ZjQyYWE3MDEzMzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9GdWxsU2NyZWVuL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRnVsbFNjcmVlbi9XZWJGdWxsU2NyZWVuTWFu
YWdlci5jcHAKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lVmlldy5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvRnVsbHNjcmVlbk1hbmFnZXIuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL0hUTUxWaWRlb0VsZW1lbnQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1F1aXJrcy5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUmVuZGVyTGF5ZXJCYWNraW5nLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9S
ZW5kZXJWaWV3Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZXR0aW5ncy5oPgpAQCAtMTQ0LDcgKzE0
NSw3IEBAIHZvaWQgV2ViRnVsbFNjcmVlbk1hbmFnZXI6OmVudGVyRnVsbFNjcmVlbkZvckVsZW1l
bnQoV2ViQ29yZTo6RWxlbWVudCogZWxlbWVudCkKICNlbmRpZgogCiAgICAgbV9pbml0aWFsRnJh
bWUgPSBzY3JlZW5SZWN0T2ZDb250ZW50cyhtX2VsZW1lbnQuZ2V0KCkpOwotICAgIG1fcGFnZS0+
aW5qZWN0ZWRCdW5kbGVGdWxsU2NyZWVuQ2xpZW50KCkuZW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVu
dChtX3BhZ2UuZ2V0KCksIGVsZW1lbnQpOworICAgIG1fcGFnZS0+aW5qZWN0ZWRCdW5kbGVGdWxs
U2NyZWVuQ2xpZW50KCkuZW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudChtX3BhZ2UuZ2V0KCksIGVs
ZW1lbnQsIG1fZWxlbWVudC0+ZG9jdW1lbnQoKS5xdWlya3MoKS5ibG9ja3NSZXR1cm5Ub0Z1bGxz
Y3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJrKCkpOwogfQogCiB2b2lkIFdlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyOjpleGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViQ29yZTo6RWxlbWVudCogZWxl
bWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9JbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xp
ZW50LmNwcAppbmRleCBmNzEzYjVhNDIzZmM3OWVhNmM1ZmI2MDI0M2U3NjgyZjA1MDlmNjljLi4x
ZDZmNzNiOGFiNTQ0YzE2MDVhZWQ5YTQyZmE2MzU1YzE4NzAxYmJhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRnVs
bFNjcmVlbkNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQuY3BwCkBAIC01MSwxMyAr
NTEsMTMgQEAgYm9vbCBJbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50OjpzdXBwb3J0
c0Z1bGxTY3JlZW4oV2ViUGFnZSAqcGFnZSwgYm9vbAogICAgIHJldHVybiBzdXBwb3J0czsKIH0K
IAotdm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50OjplbnRlckZ1bGxTY3Jl
ZW5Gb3JFbGVtZW50KFdlYlBhZ2UgKnBhZ2UsIFdlYkNvcmU6OkVsZW1lbnQgKmVsZW1lbnQpCit2
b2lkIEluamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQ6OmVudGVyRnVsbFNjcmVlbkZv
ckVsZW1lbnQoV2ViUGFnZSAqcGFnZSwgV2ViQ29yZTo6RWxlbWVudCAqZWxlbWVudCwgYm9vbCBi
bG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZSkKIHsKICAgICBpZiAo
bV9jbGllbnQuZW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudCkgewogICAgICAgICBSZWZQdHI8SW5q
ZWN0ZWRCdW5kbGVOb2RlSGFuZGxlPiBub2RlSGFuZGxlID0gSW5qZWN0ZWRCdW5kbGVOb2RlSGFu
ZGxlOjpnZXRPckNyZWF0ZShlbGVtZW50KTsKICAgICAgICAgbV9jbGllbnQuZW50ZXJGdWxsU2Ny
ZWVuRm9yRWxlbWVudCh0b0FQSShwYWdlKSwgdG9BUEkobm9kZUhhbmRsZS5nZXQoKSkpOwogICAg
IH0gZWxzZQotICAgICAgICBwYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJGdWxsU2NyZWVuTWFuYWdl
clByb3h5OjpFbnRlckZ1bGxTY3JlZW4oKSk7CisgICAgICAgIHBhZ2UtPnNlbmQoTWVzc2FnZXM6
OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OkVudGVyRnVsbFNjcmVlbihibG9ja3NSZXR1cm5U
b0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZSkpOwogfQogCiB2b2lkIEluamVjdGVkQnVu
ZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQ6OmV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChXZWJQYWdl
ICpwYWdlLCBXZWJDb3JlOjpFbGVtZW50ICplbGVtZW50KQpAQCAtNjksNyArNjksNiBAQCB2b2lk
IEluamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQ6OmV4aXRGdWxsU2NyZWVuRm9yRWxl
bWVudChXZWJQYWdlICpwYWdlLAogICAgICAgICBwYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJGdWxs
U2NyZWVuTWFuYWdlclByb3h5OjpFeGl0RnVsbFNjcmVlbigpKTsKIH0KIAotCiB2b2lkIEluamVj
dGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQ6OmJlZ2FuRW50ZXJGdWxsU2NyZWVuKFdlYlBh
Z2UgKnBhZ2UsIEludFJlY3QmIGluaXRpYWxGcmFtZSwgSW50UmVjdCYgZmluYWxGcmFtZSkKIHsK
ICAgICBpZiAobV9jbGllbnQuYmVnYW5FbnRlckZ1bGxTY3JlZW4pCkBAIC03OCw3ICs3Nyw2IEBA
IHZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudDo6YmVnYW5FbnRlckZ1bGxT
Y3JlZW4oV2ViUGFnZSAqcGFnZSwgSW50CiAgICAgICAgIHBhZ2UtPnNlbmQoTWVzc2FnZXM6Oldl
YkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OkJlZ2FuRW50ZXJGdWxsU2NyZWVuKGluaXRpYWxGcmFt
ZSwgZmluYWxGcmFtZSkpOwogfQogCi0KIHZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVl
bkNsaWVudDo6YmVnYW5FeGl0RnVsbFNjcmVlbihXZWJQYWdlICpwYWdlLCBJbnRSZWN0JiBpbml0
aWFsRnJhbWUsIEludFJlY3QmIGZpbmFsRnJhbWUpCiB7CiAgICAgaWYgKG1fY2xpZW50LmJlZ2Fu
RXhpdEZ1bGxTY3JlZW4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5oIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUZ1bGxT
Y3JlZW5DbGllbnQuaAppbmRleCA2NTYzYjZjNmRmMzgzMzc5ZmI4YWJmMTA5ZDdlNTk4NTVhN2M5
MzhiLi4zZTJjNjdmMTg3ZGM0MDI1NjgyNmQzN2FjOTNkMDExYzI4OWFjZTE2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQ
YWdlRnVsbFNjcmVlbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50LmgKQEAgLTUwLDcg
KzUwLDcgQEAgY2xhc3MgV2ViUGFnZTsKIGNsYXNzIEluamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3Jl
ZW5DbGllbnQgOiBwdWJsaWMgQVBJOjpDbGllbnQ8V0tCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVu
dEJhc2U+IHsKIHB1YmxpYzoKICAgICBib29sIHN1cHBvcnRzRnVsbFNjcmVlbihXZWJQYWdlKiwg
Ym9vbCB3aXRoS2V5Ym9hcmQpOwotICAgIHZvaWQgZW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudChX
ZWJQYWdlKiwgV2ViQ29yZTo6RWxlbWVudCopOworICAgIHZvaWQgZW50ZXJGdWxsU2NyZWVuRm9y
RWxlbWVudChXZWJQYWdlKiwgV2ViQ29yZTo6RWxlbWVudCosIGJvb2wgYmxvY2tzUmV0dXJuVG9G
dWxsc2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1cmUpOwogICAgIHZvaWQgZXhpdEZ1bGxTY3JlZW5G
b3JFbGVtZW50KFdlYlBhZ2UqLCBXZWJDb3JlOjpFbGVtZW50Kik7CiAgICAgdm9pZCBiZWdhbkVu
dGVyRnVsbFNjcmVlbihXZWJQYWdlKiwgV2ViQ29yZTo6SW50UmVjdCYgaW5pdGlhbEZyYW1lLCBX
ZWJDb3JlOjpJbnRSZWN0JiBmaW5hbEZyYW1lKTsKICAgICB2b2lkIGJlZ2FuRXhpdEZ1bGxTY3Jl
ZW4oV2ViUGFnZSosIFdlYkNvcmU6OkludFJlY3QmIGluaXRpYWxGcmFtZSwgV2ViQ29yZTo6SW50
UmVjdCYgZmluYWxGcmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
Y29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlci5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9jb2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLm1tCmluZGV4IDIyZDBjNTJmNzczNWQwMmU0
ZDJkOTI2YzA5OTgxZWNkYTY5MzQwNmUuLjRjN2VhM2E3Yzk4OWViMDIxMjEyZjA2ZTNmZDNjODcx
ZmZkYTNiNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9WaWRl
b0Z1bGxzY3JlZW5NYW5hZ2VyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2Nv
YS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLm1tCkBAIC00NSw2ICs0NSw3IEBACiAjaW1wb3J0IDxX
ZWJDb3JlL0hUTUxWaWRlb0VsZW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGljdHVyZUluUGlj
dHVyZVN1cHBvcnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGxhdGZvcm1DQUxheWVyLmg+CisjaW1w
b3J0IDxXZWJDb3JlL1F1aXJrcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZW5kZXJMYXllci5oPgog
I2ltcG9ydCA8V2ViQ29yZS9SZW5kZXJMYXllckJhY2tpbmcuaD4KICNpbXBvcnQgPFdlYkNvcmUv
UmVuZGVyVmlkZW8uaD4KQEAgLTI5MSw3ICsyOTIsNyBAQCB2b2lkIFZpZGVvRnVsbHNjcmVlbk1h
bmFnZXI6OmVudGVyVmlkZW9GdWxsc2NyZWVuRm9yVmlkZW9FbGVtZW50KEhUTUxWaWRlb0VsZW1l
bgogICAgICAgICBpbnRlcmZhY2UtPmxheWVySG9zdGluZ0NvbnRleHQoKS0+c2V0Um9vdExheWVy
KHZpZGVvTGF5ZXIuZ2V0KCkpOwogICAgIH0KIAotICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6
VmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpTZXR1cEZ1bGxzY3JlZW5XaXRoSUQoY29udGV4
dElkLCBpbnRlcmZhY2UtPmxheWVySG9zdGluZ0NvbnRleHQoKS0+Y29udGV4dElEKCksIHZpZGVv
UmVjdCwgRmxvYXRTaXplKHZpZGVvRWxlbWVudC52aWRlb1dpZHRoKCksIHZpZGVvRWxlbWVudC52
aWRlb0hlaWdodCgpKSwgbV9wYWdlLT5kZXZpY2VTY2FsZUZhY3RvcigpLCBpbnRlcmZhY2UtPmZ1
bGxzY3JlZW5Nb2RlKCksIGFsbG93c1BpY3R1cmVJblBpY3R1cmUsIHN0YW5kYnkpKTsKKyAgICBt
X3BhZ2UtPnNlbmQoTWVzc2FnZXM6OlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6U2V0dXBG
dWxsc2NyZWVuV2l0aElEKGNvbnRleHRJZCwgaW50ZXJmYWNlLT5sYXllckhvc3RpbmdDb250ZXh0
KCktPmNvbnRleHRJRCgpLCB2aWRlb1JlY3QsIEZsb2F0U2l6ZSh2aWRlb0VsZW1lbnQudmlkZW9X
aWR0aCgpLCB2aWRlb0VsZW1lbnQudmlkZW9IZWlnaHQoKSksIG1fcGFnZS0+ZGV2aWNlU2NhbGVG
YWN0b3IoKSwgaW50ZXJmYWNlLT5mdWxsc2NyZWVuTW9kZSgpLCBhbGxvd3NQaWN0dXJlSW5QaWN0
dXJlLCBzdGFuZGJ5LCB2aWRlb0VsZW1lbnQuZG9jdW1lbnQoKS5xdWlya3MoKS5ibG9ja3NSZXR1
cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJrKCkpKTsKIH0KIAogdm9pZCBW
aWRlb0Z1bGxzY3JlZW5NYW5hZ2VyOjpleGl0VmlkZW9GdWxsc2NyZWVuRm9yVmlkZW9FbGVtZW50
KFdlYkNvcmU6OkhUTUxWaWRlb0VsZW1lbnQmIHZpZGVvRWxlbWVudCwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikK
</data>

          </attachment>
      

    </bug>

</bugzilla>