<?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>82254</bug_id>
          
          <creation_ts>2012-03-26 16:09:29 -0700</creation_ts>
          <short_desc>Fix typo in method name - WebCore::miminumValueForLength should be WebCore::minimumValueForLength</short_desc>
          <delta_ts>2012-03-26 19:45:25 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Pratik Solanki">psolanki</reporter>
          <assigned_to name="Pratik Solanki">psolanki</assigned_to>
          <cc>joethomas</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>psolanki</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>588262</commentid>
    <comment_count>0</comment_count>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2012-03-26 16:09:29 -0700</bug_when>
    <thetext>There was a typo in the method name originally added in r111126

http://trac.webkit.org/changeset/111126
https://bugs.webkit.org/show_bug.cgi?id=80897</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588266</commentid>
    <comment_count>1</comment_count>
      <attachid>133920</attachid>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2012-03-26 16:11:34 -0700</bug_when>
    <thetext>Created attachment 133920
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588281</commentid>
    <comment_count>2</comment_count>
    <who name="Joe Thomas">joethomas</who>
    <bug_when>2012-03-26 16:28:40 -0700</bug_when>
    <thetext>Sorry for the trouble. I did not notice it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588282</commentid>
    <comment_count>3</comment_count>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2012-03-26 16:29:35 -0700</bug_when>
    <thetext>np. I think Antti made the typo in a bug comment and that just got copy pasted :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588303</commentid>
    <comment_count>4</comment_count>
    <who name="Joe Thomas">joethomas</who>
    <bug_when>2012-03-26 16:39:52 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; np. I think Antti made the typo in a bug comment and that just got copy pasted :)

Oh ok.. Thanks for the fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588498</commentid>
    <comment_count>5</comment_count>
      <attachid>133920</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-26 19:45:20 -0700</bug_when>
    <thetext>Comment on attachment 133920
Patch

Clearing flags on attachment: 133920

Committed r112198: &lt;http://trac.webkit.org/changeset/112198&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588499</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-26 19:45:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133920</attachid>
            <date>2012-03-26 16:11:34 -0700</date>
            <delta_ts>2012-03-26 19:45:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82254-20120326161133.patch</filename>
            <type>text/plain</type>
            <size>39837</size>
            <attacher name="Pratik Solanki">psolanki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExOTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGViMmM3OGRlMjQ1M2Yx
NzQ4ZWZmNWUyMmQwZWE0ZDQ3NGM5MGEwNy4uYTc0NDRjZjczM2Y4MmQ3ZjFiYTQ2MmJiNzY1NmI4
Mzg5NWZjNzkyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY5IEBACisyMDEyLTAzLTI2ICBQcmF0
aWsgU29sYW5raSAgPHBzb2xhbmtpQGFwcGxlLmNvbT4KKworICAgICAgICBGaXggdHlwbyBpbiBt
ZXRob2QgbmFtZSAtIFdlYkNvcmU6Om1pbWludW1WYWx1ZUZvckxlbmd0aCBzaG91bGQgYmUgV2Vi
Q29yZTo6bWluaW11bVZhbHVlRm9yTGVuZ3RoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04MjI1NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIG5vIGZ1bmN0aW9uYWwgY2hh
bmdlcy4KKworICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0
eUNTU1ZhbHVlKToKKyAgICAgICAgKiBjc3MvTGVuZ3RoRnVuY3Rpb25zLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Om1pbmltdW1WYWx1ZUZvckxlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjp2YWx1
ZUZvckxlbmd0aCk6CisgICAgICAgICogY3NzL0xlbmd0aEZ1bmN0aW9ucy5oOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgICogaHRtbC9IVE1MQXJlYUVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTEFyZWFFbGVtZW50OjpnZXRSZWdpb24pOgorICAgICAgICAqIHBsYXRmb3Jt
L3dpbi9Qb3B1cE1lbnVXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UG9wdXBNZW51V2luOjpw
YWludCk6CisgICAgICAgICogcmVuZGVyaW5nL0F1dG9UYWJsZUxheW91dC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpBdXRvVGFibGVMYXlvdXQ6OmxheW91dCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjp0ZXh0SW5k
ZW50T2Zmc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5l
UHJlZmVycmVkTG9naWNhbFdpZHRocyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbXB1dGVMb2dpY2FsV2lkdGhJblJl
Z2lvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbXB1dGVMb2dpY2FsV2lkdGhJ
blJlZ2lvblVzaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29tcHV0ZUlubGlu
ZURpcmVjdGlvbk1hcmdpbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpjb21wdXRl
UmVwbGFjZWRMb2dpY2FsV2lkdGhVc2luZyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6
OmNvbXB1dGVCbG9ja0RpcmVjdGlvbk1hcmdpbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
Qm94Ojpjb21wdXRlUG9zaXRpb25lZExvZ2ljYWxXaWR0aFVzaW5nKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckJveDo6Y29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsSGVpZ2h0VXNpbmcpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFkZGluZ1RvcCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFkZGluZ0JvdHRvbSk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFkZGluZ0xlZnQpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQm94TW9kZWxPYmplY3Q6OnBhZGRpbmdSaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFkZGluZ0JlZm9yZSk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFkZGluZ0FmdGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJveE1vZGVsT2JqZWN0OjpwYWRkaW5nU3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyQm94TW9kZWxPYmplY3Q6OnBhZGRpbmdFbmQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
Qm94TW9kZWxPYmplY3Q6OmNhbGN1bGF0ZUJhY2tncm91bmRJbWFnZUdlb21ldHJ5KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyRmxleGlibGVCb3g6OnByZWZlcnJlZE1haW5BeGlzQ29udGVudEV4dGVudEZvckNoaWxk
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94Ojpjb21wdXRlTWFpbkF4aXNQ
cmVmZXJyZWRTaXplcyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpjb21wdXRlTWFyZ2luKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyTWVudUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWVudUxpc3Q6OnVwZGF0
ZU9wdGlvbnNXaWR0aCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJlcGxhY2VkOjpjb21wdXRlUmVwbGFjZWRMb2dpY2Fs
V2lkdGgpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJQYXJ0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmNhbGNTY3JvbGxiYXJUaGlja25lc3NVc2luZyk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJTY3JvbGxiYXJQYXJ0Ojpjb21wdXRlU2Nyb2xsYmFyV2lkdGgpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU2Nyb2xsYmFyUGFydDo6Y29tcHV0ZVNjcm9sbGJhckhlaWdo
dCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRhYmxlOjpjb21wdXRlTG9naWNhbFdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRhYmxlOjpjb252ZXJ0U3R5bGVMb2dpY2FsV2lkdGhUb0NvbXB1dGVkV2lkdGgpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpjYWxjUm93TG9naWNhbEhlaWdodCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlclRleHQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6
Om1hcmdpbkxlZnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dDo6bWFyZ2luUmlnaHQp
OgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorCiAyMDEyLTAzLTIz
ICBTaGF3biBTaW5naCAgPHNoYXduc2luZ2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJv
bWl1bV0gRml4IHJhY2UgYnVnIHRoYXQgY2xvYmJlcnMgQ0NMYXllckltcGwgdXBkYXRlUmVjdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCmluZGV4IGU2NmRiMzdlNzkzODlhNjNiY2YyMWM1MDA0NTJjMWQyNmQ1YjFjNzMuLmI5
NjQ4ZmVhNDE4MmQxNDczZTBmNDNhZGRhNmE3YjMwZjExYWY2ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxMi0wMy0yNiAgUHJhdGlrIFNvbGFua2kgIDxwc29sYW5raUBhcHBsZS5j
b20+CisKKyAgICAgICAgRml4IHR5cG8gaW4gbWV0aG9kIG5hbWUgLSBXZWJDb3JlOjptaW1pbnVt
VmFsdWVGb3JMZW5ndGggc2hvdWxkIGJlIFdlYkNvcmU6Om1pbmltdW1WYWx1ZUZvckxlbmd0aAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODIyNTQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvd2luL1dlYlBvcHVwTWVudVdpbi5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlBvcHVwTWVudTo6c2V0VXBQbGF0Zm9ybURhdGEpOgorCiAyMDEyLTAzLTIzICBBbGV4
ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWNdIE5vIG5lZWQg
Zm9yIHBsYXRmb3JtLXNwZWNpZmljIEVOQUJMRV9CTE9CIHZhbHVlcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCAwYTk0ZGU5
NGM5MjRjZDkxYzY4ZjIwYTI0NmQ5OWZjMTkyY2EyMGZmLi43NzM4NzA2ZWQ2OTg3MWQ2ODE4YWYz
NjUxYzU3NmY3MTBlMWMxZDBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29t
cHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29t
cHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMTc3Nyw3ICsxNzc3LDcgQEAgUGFzc1JlZlB0
cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1Zh
bHVlKGludCBwcm9wZXIKICAgICAgICAgICAgICAgICAvLyBSZW5kZXJCb3ggZ2l2ZXMgYSBtYXJn
aW5SaWdodCgpIHRoYXQgaXMgdGhlIGRpc3RhbmNlIGJldHdlZW4gdGhlIHJpZ2h0LWVkZ2Ugb2Yg
dGhlIGNoaWxkIGJveAogICAgICAgICAgICAgICAgIC8vIGFuZCB0aGUgcmlnaHQtZWRnZSBvZiB0
aGUgY29udGFpbmluZyBib3gsIHdoZW4gZGlzcGxheSA9PSBCTE9DSy4gTGV0J3MgY2FsY3VsYXRl
IHRoZSBhYnNvbHV0ZQogICAgICAgICAgICAgICAgIC8vIHZhbHVlIG9mIHRoZSBzcGVjaWZpZWQg
bWFyZ2luLXJpZ2h0ICUgaW5zdGVhZCBvZiByZWx5aW5nIG9uIFJlbmRlckJveCdzIG1hcmdpblJp
Z2h0KCkgdmFsdWUuCi0gICAgICAgICAgICAgICAgdmFsdWUgPSBtaW1pbnVtVmFsdWVGb3JMZW5n
dGgobWFyZ2luUmlnaHQsIHRvUmVuZGVyQm94KHJlbmRlcmVyKS0+Y29udGFpbmluZ0Jsb2NrTG9n
aWNhbFdpZHRoRm9yQ29udGVudCgpKTsKKyAgICAgICAgICAgICAgICB2YWx1ZSA9IG1pbmltdW1W
YWx1ZUZvckxlbmd0aChtYXJnaW5SaWdodCwgdG9SZW5kZXJCb3gocmVuZGVyZXIpLT5jb250YWlu
aW5nQmxvY2tMb2dpY2FsV2lkdGhGb3JDb250ZW50KCkpOwogICAgICAgICAgICAgZWxzZQogICAg
ICAgICAgICAgICAgIHZhbHVlID0gdG9SZW5kZXJCb3gocmVuZGVyZXIpLT5tYXJnaW5SaWdodCgp
OwogICAgICAgICAgICAgcmV0dXJuIHpvb21BZGp1c3RlZFBpeGVsVmFsdWUodmFsdWUsIHN0eWxl
LmdldCgpLCBjc3NWYWx1ZVBvb2wpOwpAQCAtMjE4OSw4ICsyMTg5LDggQEAgUGFzc1JlZlB0cjxD
U1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVl
KGludCBwcm9wZXIKICAgICAgICAgICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IGxpc3QgPSBDU1NW
YWx1ZUxpc3Q6OmNyZWF0ZVNwYWNlU2VwYXJhdGVkKCk7CiAgICAgICAgICAgICBpZiAocmVuZGVy
ZXIpIHsKICAgICAgICAgICAgICAgICBMYXlvdXRSZWN0IGJveCA9IHNpemluZ0JveChyZW5kZXJl
cik7Ci0gICAgICAgICAgICAgICAgbGlzdC0+YXBwZW5kKHpvb21BZGp1c3RlZFBpeGVsVmFsdWUo
bWltaW51bVZhbHVlRm9yTGVuZ3RoKHN0eWxlLT5wZXJzcGVjdGl2ZU9yaWdpblgoKSwgYm94Lndp
ZHRoKCkpLCBzdHlsZS5nZXQoKSwgY3NzVmFsdWVQb29sKSk7Ci0gICAgICAgICAgICAgICAgbGlz
dC0+YXBwZW5kKHpvb21BZGp1c3RlZFBpeGVsVmFsdWUobWltaW51bVZhbHVlRm9yTGVuZ3RoKHN0
eWxlLT5wZXJzcGVjdGl2ZU9yaWdpblkoKSwgYm94LmhlaWdodCgpKSwgc3R5bGUuZ2V0KCksIGNz
c1ZhbHVlUG9vbCkpOworICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVuZCh6b29tQWRqdXN0ZWRQ
aXhlbFZhbHVlKG1pbmltdW1WYWx1ZUZvckxlbmd0aChzdHlsZS0+cGVyc3BlY3RpdmVPcmlnaW5Y
KCksIGJveC53aWR0aCgpKSwgc3R5bGUuZ2V0KCksIGNzc1ZhbHVlUG9vbCkpOworICAgICAgICAg
ICAgICAgIGxpc3QtPmFwcGVuZCh6b29tQWRqdXN0ZWRQaXhlbFZhbHVlKG1pbmltdW1WYWx1ZUZv
ckxlbmd0aChzdHlsZS0+cGVyc3BlY3RpdmVPcmlnaW5ZKCksIGJveC5oZWlnaHQoKSksIHN0eWxl
LmdldCgpLCBjc3NWYWx1ZVBvb2wpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2Ug
ewogICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVuZCh6b29tQWRqdXN0ZWRQaXhlbFZhbHVlRm9y
TGVuZ3RoKHN0eWxlLT5wZXJzcGVjdGl2ZU9yaWdpblgoKSwgc3R5bGUuZ2V0KCksIGNzc1ZhbHVl
UG9vbCkpOwpAQCAtMjIzNSw4ICsyMjM1LDggQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTQ29t
cHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKGludCBwcm9wZXIKICAg
ICAgICAgICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IGxpc3QgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0
ZVNwYWNlU2VwYXJhdGVkKCk7CiAgICAgICAgICAgICBpZiAocmVuZGVyZXIpIHsKICAgICAgICAg
ICAgICAgICBJbnRSZWN0IGJveCA9IHNpemluZ0JveChyZW5kZXJlcik7Ci0gICAgICAgICAgICAg
ICAgbGlzdC0+YXBwZW5kKHpvb21BZGp1c3RlZFBpeGVsVmFsdWUobWltaW51bVZhbHVlRm9yTGVu
Z3RoKHN0eWxlLT50cmFuc2Zvcm1PcmlnaW5YKCksIGJveC53aWR0aCgpKSwgc3R5bGUuZ2V0KCks
IGNzc1ZhbHVlUG9vbCkpOwotICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVuZCh6b29tQWRqdXN0
ZWRQaXhlbFZhbHVlKG1pbWludW1WYWx1ZUZvckxlbmd0aChzdHlsZS0+dHJhbnNmb3JtT3JpZ2lu
WSgpLCBib3guaGVpZ2h0KCkpLCBzdHlsZS5nZXQoKSwgY3NzVmFsdWVQb29sKSk7CisgICAgICAg
ICAgICAgICAgbGlzdC0+YXBwZW5kKHpvb21BZGp1c3RlZFBpeGVsVmFsdWUobWluaW11bVZhbHVl
Rm9yTGVuZ3RoKHN0eWxlLT50cmFuc2Zvcm1PcmlnaW5YKCksIGJveC53aWR0aCgpKSwgc3R5bGUu
Z2V0KCksIGNzc1ZhbHVlUG9vbCkpOworICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVuZCh6b29t
QWRqdXN0ZWRQaXhlbFZhbHVlKG1pbmltdW1WYWx1ZUZvckxlbmd0aChzdHlsZS0+dHJhbnNmb3Jt
T3JpZ2luWSgpLCBib3guaGVpZ2h0KCkpLCBzdHlsZS5nZXQoKSwgY3NzVmFsdWVQb29sKSk7CiAg
ICAgICAgICAgICAgICAgaWYgKHN0eWxlLT50cmFuc2Zvcm1PcmlnaW5aKCkgIT0gMCkKICAgICAg
ICAgICAgICAgICAgICAgbGlzdC0+YXBwZW5kKHpvb21BZGp1c3RlZFBpeGVsVmFsdWUoc3R5bGUt
PnRyYW5zZm9ybU9yaWdpblooKSwgc3R5bGUuZ2V0KCksIGNzc1ZhbHVlUG9vbCkpOwogICAgICAg
ICAgICAgfSBlbHNlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9MZW5ndGhGdW5j
dGlvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0xlbmd0aEZ1bmN0aW9ucy5jcHAKaW5kZXgg
ZmU0ZDNlOWJlYzkzMThiMDZhN2IzZGM1Zjk3OTdmNDlmZjdlZjE2Yy4uMzc1OGZjNDE4M2Y2YjZj
ZDA1MDc0ZTZiNjExN2RhMzBiOTIxZjU5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0xlbmd0aEZ1bmN0aW9ucy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0xlbmd0aEZ1bmN0
aW9ucy5jcHAKQEAgLTI4LDcgKzI4LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1pbnQg
bWltaW51bVZhbHVlRm9yTGVuZ3RoKExlbmd0aCBsZW5ndGgsIGludCBtYXhpbXVtVmFsdWUsIGJv
b2wgcm91bmRQZXJjZW50YWdlcykKK2ludCBtaW5pbXVtVmFsdWVGb3JMZW5ndGgoTGVuZ3RoIGxl
bmd0aCwgaW50IG1heGltdW1WYWx1ZSwgYm9vbCByb3VuZFBlcmNlbnRhZ2VzKQogewogICAgIHN3
aXRjaCAobGVuZ3RoLnR5cGUoKSkgewogICAgIGNhc2UgRml4ZWQ6CkBAIC01OSw3ICs1OSw3IEBA
IGludCB2YWx1ZUZvckxlbmd0aChMZW5ndGggbGVuZ3RoLCBpbnQgbWF4aW11bVZhbHVlLCBib29s
IHJvdW5kUGVyY2VudGFnZXMpCiAgICAgY2FzZSBGaXhlZDoKICAgICBjYXNlIFBlcmNlbnQ6CiAg
ICAgY2FzZSBDYWxjdWxhdGVkOgotICAgICAgICByZXR1cm4gbWltaW51bVZhbHVlRm9yTGVuZ3Ro
KGxlbmd0aCwgbWF4aW11bVZhbHVlLCByb3VuZFBlcmNlbnRhZ2VzKTsKKyAgICAgICAgcmV0dXJu
IG1pbmltdW1WYWx1ZUZvckxlbmd0aChsZW5ndGgsIG1heGltdW1WYWx1ZSwgcm91bmRQZXJjZW50
YWdlcyk7CiAgICAgY2FzZSBBdXRvOgogICAgICAgICByZXR1cm4gbWF4aW11bVZhbHVlOwogICAg
IGNhc2UgUmVsYXRpdmU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTGVuZ3RoRnVu
Y3Rpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTGVuZ3RoRnVuY3Rpb25zLmgKaW5kZXggMjVj
MzkzM2I1ZDdkZGYzYjM2YTNlNDczZjZmMDdjM2YzOGM5NzcxMS4uZjI1MTBkNTY5YjQ3YWI3YTYz
YTU5ODE1NTA1MDc3ODczNTBiN2M5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0xl
bmd0aEZ1bmN0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9MZW5ndGhGdW5jdGlvbnMu
aApAQCAtMjgsNyArMjgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBMZW5ndGg7
CiAKLWludCBtaW1pbnVtVmFsdWVGb3JMZW5ndGgoTGVuZ3RoLCBpbnQgbWF4aW11bVZhbHVlLCBi
b29sIHJvdW5kUGVyY2VudGFnZXMgPSBmYWxzZSk7CitpbnQgbWluaW11bVZhbHVlRm9yTGVuZ3Ro
KExlbmd0aCwgaW50IG1heGltdW1WYWx1ZSwgYm9vbCByb3VuZFBlcmNlbnRhZ2VzID0gZmFsc2Up
OwogaW50IHZhbHVlRm9yTGVuZ3RoKExlbmd0aCwgaW50IG1heGltdW1WYWx1ZSwgYm9vbCByb3Vu
ZFBlcmNlbnRhZ2VzID0gZmFsc2UpOwogZmxvYXQgZmxvYXRWYWx1ZUZvckxlbmd0aChMZW5ndGgs
IGludCBtYXhpbXVtVmFsdWUpOwogZmxvYXQgZmxvYXRWYWx1ZUZvckxlbmd0aChMZW5ndGgsIGZs
b2F0IG1heGltdW1WYWx1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxB
cmVhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBcmVhRWxlbWVudC5jcHAK
aW5kZXggNWNjZTE2OTE1NDcwMjIxNzA2NWI4ODQyYjFlZTA2OGZkZTY3NGZhMC4uMjUyY2I5M2Fj
MmRhYTgyZDBmNzgxZDg0ZGU1ZDNkOWE0NjYwYjRlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQXJlYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEFyZWFFbGVtZW50LmNwcApAQCAtMTQ3LDI1ICsxNDcsMjUgQEAgUGF0aCBIVE1MQXJlYUVsZW1l
bnQ6OmdldFJlZ2lvbihjb25zdCBMYXlvdXRTaXplJiBzaXplKSBjb25zdAogICAgICAgICBjYXNl
IFBvbHk6CiAgICAgICAgICAgICBpZiAobV9jb29yZHNMZW4gPj0gNikgewogICAgICAgICAgICAg
ICAgIGludCBudW1Qb2ludHMgPSBtX2Nvb3Jkc0xlbiAvIDI7Ci0gICAgICAgICAgICAgICAgcGF0
aC5tb3ZlVG8oRmxvYXRQb2ludChtaW1pbnVtVmFsdWVGb3JMZW5ndGgobV9jb29yZHNbMF0sIHdp
ZHRoKSwgbWltaW51bVZhbHVlRm9yTGVuZ3RoKG1fY29vcmRzWzFdLCBoZWlnaHQpKSk7CisgICAg
ICAgICAgICAgICAgcGF0aC5tb3ZlVG8oRmxvYXRQb2ludChtaW5pbXVtVmFsdWVGb3JMZW5ndGgo
bV9jb29yZHNbMF0sIHdpZHRoKSwgbWluaW11bVZhbHVlRm9yTGVuZ3RoKG1fY29vcmRzWzFdLCBo
ZWlnaHQpKSk7CiAgICAgICAgICAgICAgICAgZm9yIChpbnQgaSA9IDE7IGkgPCBudW1Qb2ludHM7
ICsraSkKLSAgICAgICAgICAgICAgICAgICAgcGF0aC5hZGRMaW5lVG8oRmxvYXRQb2ludChtaW1p
bnVtVmFsdWVGb3JMZW5ndGgobV9jb29yZHNbaSAqIDJdLCB3aWR0aCksIG1pbWludW1WYWx1ZUZv
ckxlbmd0aChtX2Nvb3Jkc1tpICogMiArIDFdLCBoZWlnaHQpKSk7CisgICAgICAgICAgICAgICAg
ICAgIHBhdGguYWRkTGluZVRvKEZsb2F0UG9pbnQobWluaW11bVZhbHVlRm9yTGVuZ3RoKG1fY29v
cmRzW2kgKiAyXSwgd2lkdGgpLCBtaW5pbXVtVmFsdWVGb3JMZW5ndGgobV9jb29yZHNbaSAqIDIg
KyAxXSwgaGVpZ2h0KSkpOwogICAgICAgICAgICAgICAgIHBhdGguY2xvc2VTdWJwYXRoKCk7CiAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDaXJjbGU6CiAg
ICAgICAgICAgICBpZiAobV9jb29yZHNMZW4gPj0gMykgewogICAgICAgICAgICAgICAgIExlbmd0
aCByYWRpdXMgPSBtX2Nvb3Jkc1syXTsKLSAgICAgICAgICAgICAgICBpbnQgciA9IG1pbihtaW1p
bnVtVmFsdWVGb3JMZW5ndGgocmFkaXVzLCB3aWR0aCksIG1pbWludW1WYWx1ZUZvckxlbmd0aChy
YWRpdXMsIGhlaWdodCkpOwotICAgICAgICAgICAgICAgIHBhdGguYWRkRWxsaXBzZShGbG9hdFJl
Y3QobWltaW51bVZhbHVlRm9yTGVuZ3RoKG1fY29vcmRzWzBdLCB3aWR0aCkgLSByLCBtaW1pbnVt
VmFsdWVGb3JMZW5ndGgobV9jb29yZHNbMV0sIGhlaWdodCkgLSByLCAyICogciwgMiAqIHIpKTsK
KyAgICAgICAgICAgICAgICBpbnQgciA9IG1pbihtaW5pbXVtVmFsdWVGb3JMZW5ndGgocmFkaXVz
LCB3aWR0aCksIG1pbmltdW1WYWx1ZUZvckxlbmd0aChyYWRpdXMsIGhlaWdodCkpOworICAgICAg
ICAgICAgICAgIHBhdGguYWRkRWxsaXBzZShGbG9hdFJlY3QobWluaW11bVZhbHVlRm9yTGVuZ3Ro
KG1fY29vcmRzWzBdLCB3aWR0aCkgLSByLCBtaW5pbXVtVmFsdWVGb3JMZW5ndGgobV9jb29yZHNb
MV0sIGhlaWdodCkgLSByLCAyICogciwgMiAqIHIpKTsKICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBjYXNlIFJlY3Q6CiAgICAgICAgICAgICBpZiAobV9jb29yZHNM
ZW4gPj0gNCkgewotICAgICAgICAgICAgICAgIGludCB4MCA9IG1pbWludW1WYWx1ZUZvckxlbmd0
aChtX2Nvb3Jkc1swXSwgd2lkdGgpOwotICAgICAgICAgICAgICAgIGludCB5MCA9IG1pbWludW1W
YWx1ZUZvckxlbmd0aChtX2Nvb3Jkc1sxXSwgaGVpZ2h0KTsKLSAgICAgICAgICAgICAgICBpbnQg
eDEgPSBtaW1pbnVtVmFsdWVGb3JMZW5ndGgobV9jb29yZHNbMl0sIHdpZHRoKTsKLSAgICAgICAg
ICAgICAgICBpbnQgeTEgPSBtaW1pbnVtVmFsdWVGb3JMZW5ndGgobV9jb29yZHNbM10sIGhlaWdo
dCk7CisgICAgICAgICAgICAgICAgaW50IHgwID0gbWluaW11bVZhbHVlRm9yTGVuZ3RoKG1fY29v
cmRzWzBdLCB3aWR0aCk7CisgICAgICAgICAgICAgICAgaW50IHkwID0gbWluaW11bVZhbHVlRm9y
TGVuZ3RoKG1fY29vcmRzWzFdLCBoZWlnaHQpOworICAgICAgICAgICAgICAgIGludCB4MSA9IG1p
bmltdW1WYWx1ZUZvckxlbmd0aChtX2Nvb3Jkc1syXSwgd2lkdGgpOworICAgICAgICAgICAgICAg
IGludCB5MSA9IG1pbmltdW1WYWx1ZUZvckxlbmd0aChtX2Nvb3Jkc1szXSwgaGVpZ2h0KTsKICAg
ICAgICAgICAgICAgICBwYXRoLmFkZFJlY3QoRmxvYXRSZWN0KHgwLCB5MCwgeDEgLSB4MCwgeTEg
LSB5MCkpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4uY3BwCmluZGV4IGIyYmM0Y2MzZWQxY2MzNzRi
ZGUyZjhjMjY3MWQwNjRiYTI3MmJhMjUuLmViYmI2NDk0ZDgxN2EyOGUyZmYxMDA0M2Y5MGFiZDY1
ZjU5OGYxMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Qb3B1cE1l
bnVXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4u
Y3BwCkBAIC02NTUsNyArNjU1LDcgQEAgdm9pZCBQb3B1cE1lbnVXaW46OnBhaW50KGNvbnN0IElu
dFJlY3QmIGRhbWFnZVJlY3QsIEhEQyBoZGMpCiAgICAgICAgIGlmIChpdGVtU3R5bGUuaXNWaXNp
YmxlKCkpIHsKICAgICAgICAgICAgIGludCB0ZXh0WCA9IG1heCgwLCBjbGllbnQoKS0+Y2xpZW50
UGFkZGluZ0xlZnQoKSAtIGNsaWVudCgpLT5jbGllbnRJbnNldExlZnQoKSk7CiAgICAgICAgICAg
ICBpZiAoUmVuZGVyVGhlbWU6OmRlZmF1bHRUaGVtZSgpLT5wb3B1cE9wdGlvblN1cHBvcnRzVGV4
dEluZGVudCgpICYmIGl0ZW1TdHlsZS50ZXh0RGlyZWN0aW9uKCkgPT0gTFRSKQotICAgICAgICAg
ICAgICAgIHRleHRYICs9IG1pbWludW1WYWx1ZUZvckxlbmd0aChpdGVtU3R5bGUudGV4dEluZGVu
dCgpLCBpdGVtUmVjdC53aWR0aCgpKTsKKyAgICAgICAgICAgICAgICB0ZXh0WCArPSBtaW5pbXVt
VmFsdWVGb3JMZW5ndGgoaXRlbVN0eWxlLnRleHRJbmRlbnQoKSwgaXRlbVJlY3Qud2lkdGgoKSk7
CiAgICAgICAgICAgICBpbnQgdGV4dFkgPSBpdGVtUmVjdC55KCkgKyBpdGVtRm9udC5mb250TWV0
cmljcygpLmFzY2VudCgpICsgKGl0ZW1SZWN0LmhlaWdodCgpIC0gaXRlbUZvbnQuZm9udE1ldHJp
Y3MoKS5oZWlnaHQoKSkgLyAyOwogICAgICAgICAgICAgY29udGV4dC5kcmF3QmlkaVRleHQoaXRl
bUZvbnQsIHRleHRSdW4sIEludFBvaW50KHRleHRYLCB0ZXh0WSkpOwogICAgICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQXV0b1RhYmxlTGF5b3V0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9BdXRvVGFibGVMYXlvdXQuY3BwCmluZGV4IDAzOTIzMjQx
NzAwNGFkNGIxN2E2OTBhMzNjYTU1ODk1ZDQxMjA4ZDIuLjY2NTZhOTQyN2MxMWY5ZGZhYmNhMDBi
NjJlNTc0MmU1ZTlkYTA4ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9B
dXRvVGFibGVMYXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9BdXRvVGFi
bGVMYXlvdXQuY3BwCkBAIC01NTEsNyArNTUxLDcgQEAgdm9pZCBBdXRvVGFibGVMYXlvdXQ6Omxh
eW91dCgpCiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbkVmZkNvbHM7ICsraSkgewog
ICAgICAgICAgICAgTGVuZ3RoJiBsb2dpY2FsV2lkdGggPSBtX2xheW91dFN0cnVjdFtpXS5lZmZl
Y3RpdmVMb2dpY2FsV2lkdGg7CiAgICAgICAgICAgICBpZiAobG9naWNhbFdpZHRoLmlzUGVyY2Vu
dCgpKSB7Ci0gICAgICAgICAgICAgICAgaW50IGNlbGxMb2dpY2FsV2lkdGggPSBtYXg8aW50Piht
X2xheW91dFN0cnVjdFtpXS5lZmZlY3RpdmVNaW5Mb2dpY2FsV2lkdGgsIG1pbWludW1WYWx1ZUZv
ckxlbmd0aChsb2dpY2FsV2lkdGgsIHRhYmxlTG9naWNhbFdpZHRoKSk7CisgICAgICAgICAgICAg
ICAgaW50IGNlbGxMb2dpY2FsV2lkdGggPSBtYXg8aW50PihtX2xheW91dFN0cnVjdFtpXS5lZmZl
Y3RpdmVNaW5Mb2dpY2FsV2lkdGgsIG1pbmltdW1WYWx1ZUZvckxlbmd0aChsb2dpY2FsV2lkdGgs
IHRhYmxlTG9naWNhbFdpZHRoKSk7CiAgICAgICAgICAgICAgICAgYXZhaWxhYmxlICs9IG1fbGF5
b3V0U3RydWN0W2ldLmNvbXB1dGVkTG9naWNhbFdpZHRoIC0gY2VsbExvZ2ljYWxXaWR0aDsKICAg
ICAgICAgICAgICAgICBtX2xheW91dFN0cnVjdFtpXS5jb21wdXRlZExvZ2ljYWxXaWR0aCA9IGNl
bGxMb2dpY2FsV2lkdGg7CiAgICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrLmNwcAppbmRleCBkNzM5ZjE4YzlmNDRkNzBkZTczMjM3NWNjYzE3ODFjZTgzZDJm
YzViLi4xZjEzMGUxMmQ1ZDE1MTkyNGQyOGRhMjdhMGE3OWY4YjQ3ZDI5NmI4IDEwMDc1NQotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTM5MjEsNyArMzkyMSw3IEBAIExh
eW91dFVuaXQgUmVuZGVyQmxvY2s6OnRleHRJbmRlbnRPZmZzZXQoKSBjb25zdAogICAgIExheW91
dFVuaXQgY3cgPSAwOwogICAgIGlmIChzdHlsZSgpLT50ZXh0SW5kZW50KCkuaXNQZXJjZW50KCkp
CiAgICAgICAgIGN3ID0gY29udGFpbmluZ0Jsb2NrKCktPmF2YWlsYWJsZUxvZ2ljYWxXaWR0aCgp
OwotICAgIHJldHVybiBtaW1pbnVtVmFsdWVGb3JMZW5ndGgoc3R5bGUoKS0+dGV4dEluZGVudCgp
LCBjdyk7CisgICAgcmV0dXJuIG1pbmltdW1WYWx1ZUZvckxlbmd0aChzdHlsZSgpLT50ZXh0SW5k
ZW50KCksIGN3KTsKIH0KIAogTGF5b3V0VW5pdCBSZW5kZXJCbG9jazo6bG9naWNhbExlZnRPZmZz
ZXRGb3JDb250ZW50KFJlbmRlclJlZ2lvbiogcmVnaW9uLCBMYXlvdXRVbml0IG9mZnNldEZyb21M
b2dpY2FsVG9wT2ZGaXJzdFBhZ2UpIGNvbnN0CkBAIC01NTYxLDcgKzU1NjEsNyBAQCB2b2lkIFJl
bmRlckJsb2NrOjpjb21wdXRlSW5saW5lUHJlZmVycmVkTG9naWNhbFdpZHRocygpCiAgICAgICAg
ICAgICAgICAgTGF5b3V0VW5pdCB0aSA9IDA7CiAgICAgICAgICAgICAgICAgaWYgKCFhZGRlZFRl
eHRJbmRlbnQpIHsKICAgICAgICAgICAgICAgICAgICAgYWRkZWRUZXh0SW5kZW50ID0gdHJ1ZTsK
LSAgICAgICAgICAgICAgICAgICAgdGkgPSBtaW1pbnVtVmFsdWVGb3JMZW5ndGgoc3R5bGVUb1Vz
ZS0+dGV4dEluZGVudCgpLCBjdyk7CisgICAgICAgICAgICAgICAgICAgIHRpID0gbWluaW11bVZh
bHVlRm9yTGVuZ3RoKHN0eWxlVG9Vc2UtPnRleHRJbmRlbnQoKSwgY3cpOwogICAgICAgICAgICAg
ICAgICAgICBjaGlsZE1pbiArPSB0aTsKICAgICAgICAgICAgICAgICAgICAgY2hpbGRNYXggKz0g
dGk7CiAgICAgICAgICAgICAgICAgfQpAQCAtNTYzMiw3ICs1NjMyLDcgQEAgdm9pZCBSZW5kZXJC
bG9jazo6Y29tcHV0ZUlubGluZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKQogICAgICAgICAgICAg
ICAgIExheW91dFVuaXQgdGkgPSAwOwogICAgICAgICAgICAgICAgIGlmICghYWRkZWRUZXh0SW5k
ZW50KSB7CiAgICAgICAgICAgICAgICAgICAgIGFkZGVkVGV4dEluZGVudCA9IHRydWU7Ci0gICAg
ICAgICAgICAgICAgICAgIHRpID0gbWltaW51bVZhbHVlRm9yTGVuZ3RoKHN0eWxlVG9Vc2UtPnRl
eHRJbmRlbnQoKSwgY3cpOworICAgICAgICAgICAgICAgICAgICB0aSA9IG1pbmltdW1WYWx1ZUZv
ckxlbmd0aChzdHlsZVRvVXNlLT50ZXh0SW5kZW50KCksIGN3KTsKICAgICAgICAgICAgICAgICAg
ICAgY2hpbGRNaW4rPXRpOyBiZWdpbk1pbiArPSB0aTsKICAgICAgICAgICAgICAgICAgICAgY2hp
bGRNYXgrPXRpOyBiZWdpbk1heCArPSB0aTsKICAgICAgICAgICAgICAgICB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IDk3Nzc5ZjQ1YjFhNjE3YmUwNDI4ZGZjZDhj
N2ZiZGJhNmMyMjJhNGYuLmM0ZWZmNzBiMTJhZjg0NWYzYzMyYWE0NjY5NTdiMTYxNzAzMDYwYTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC0xNzc5LDggKzE3Nzks
OCBAQCB2b2lkIFJlbmRlckJveDo6Y29tcHV0ZUxvZ2ljYWxXaWR0aEluUmVnaW9uKFJlbmRlclJl
Z2lvbiogcmVnaW9uLCBMYXlvdXRVbml0IG9mZgogICAgIAogICAgIGlmIChpc0lubGluZSgpICYm
ICFpc0lubGluZUJsb2NrT3JJbmxpbmVUYWJsZSgpKSB7CiAgICAgICAgIC8vIGp1c3QgY2FsY3Vs
YXRlIG1hcmdpbnMKLSAgICAgICAgc2V0TWFyZ2luU3RhcnQobWltaW51bVZhbHVlRm9yTGVuZ3Ro
KHN0eWxlVG9Vc2UtPm1hcmdpblN0YXJ0KCksIGNvbnRhaW5lckxvZ2ljYWxXaWR0aCkpOwotICAg
ICAgICBzZXRNYXJnaW5FbmQobWltaW51bVZhbHVlRm9yTGVuZ3RoKHN0eWxlVG9Vc2UtPm1hcmdp
bkVuZCgpLCBjb250YWluZXJMb2dpY2FsV2lkdGgpKTsKKyAgICAgICAgc2V0TWFyZ2luU3RhcnQo
bWluaW11bVZhbHVlRm9yTGVuZ3RoKHN0eWxlVG9Vc2UtPm1hcmdpblN0YXJ0KCksIGNvbnRhaW5l
ckxvZ2ljYWxXaWR0aCkpOworICAgICAgICBzZXRNYXJnaW5FbmQobWluaW11bVZhbHVlRm9yTGVu
Z3RoKHN0eWxlVG9Vc2UtPm1hcmdpbkVuZCgpLCBjb250YWluZXJMb2dpY2FsV2lkdGgpKTsKICAg
ICAgICAgaWYgKHRyZWF0QXNSZXBsYWNlZCkKICAgICAgICAgICAgIHNldExvZ2ljYWxXaWR0aCht
YXg8TGF5b3V0VW5pdD4oZmxvYXRWYWx1ZUZvckxlbmd0aChsb2dpY2FsV2lkdGhMZW5ndGgsIDAp
ICsgYm9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxXaWR0aCgpLCBtaW5QcmVmZXJyZWRMb2dpY2FsV2lk
dGgoKSkpOwogICAgICAgICByZXR1cm47CkBAIC0xODE4LDggKzE4MTgsOCBAQCB2b2lkIFJlbmRl
ckJveDo6Y29tcHV0ZUxvZ2ljYWxXaWR0aEluUmVnaW9uKFJlbmRlclJlZ2lvbiogcmVnaW9uLCBM
YXlvdXRVbml0IG9mZgogCiAgICAgLy8gTWFyZ2luIGNhbGN1bGF0aW9ucy4KICAgICBpZiAobG9n
aWNhbFdpZHRoTGVuZ3RoLmlzQXV0bygpIHx8IGhhc1BlcnBlbmRpY3VsYXJDb250YWluaW5nQmxv
Y2spIHsKLSAgICAgICAgc2V0TWFyZ2luU3RhcnQobWltaW51bVZhbHVlRm9yTGVuZ3RoKHN0eWxl
VG9Vc2UtPm1hcmdpblN0YXJ0KCksIGNvbnRhaW5lckxvZ2ljYWxXaWR0aCkpOwotICAgICAgICBz
ZXRNYXJnaW5FbmQobWltaW51bVZhbHVlRm9yTGVuZ3RoKHN0eWxlVG9Vc2UtPm1hcmdpbkVuZCgp
LCBjb250YWluZXJMb2dpY2FsV2lkdGgpKTsKKyAgICAgICAgc2V0TWFyZ2luU3RhcnQobWluaW11
bVZhbHVlRm9yTGVuZ3RoKHN0eWxlVG9Vc2UtPm1hcmdpblN0YXJ0KCksIGNvbnRhaW5lckxvZ2lj
YWxXaWR0aCkpOworICAgICAgICBzZXRNYXJnaW5FbmQobWluaW11bVZhbHVlRm9yTGVuZ3RoKHN0
eWxlVG9Vc2UtPm1hcmdpbkVuZCgpLCBjb250YWluZXJMb2dpY2FsV2lkdGgpKTsKICAgICB9IGVs
c2UKICAgICAgICAgY29tcHV0ZUlubGluZURpcmVjdGlvbk1hcmdpbnMoY2IsIGNvbnRhaW5lckxv
Z2ljYWxXaWR0aCwgbG9naWNhbFdpZHRoKCkpOwogCkBAIC0xODQyLDggKzE4NDIsOCBAQCBMYXlv
dXRVbml0IFJlbmRlckJveDo6Y29tcHV0ZUxvZ2ljYWxXaWR0aEluUmVnaW9uVXNpbmcoTG9naWNh
bFdpZHRoVHlwZSB3aWR0aFR5cAogICAgICAgICBsb2dpY2FsV2lkdGggPSBzdHlsZVRvVXNlLT5s
b2dpY2FsTWF4V2lkdGgoKTsKIAogICAgIGlmIChsb2dpY2FsV2lkdGguaXNJbnRyaW5zaWNPckF1
dG8oKSkgewotICAgICAgICBMYXlvdXRVbml0IG1hcmdpblN0YXJ0ID0gbWltaW51bVZhbHVlRm9y
TGVuZ3RoKHN0eWxlVG9Vc2UtPm1hcmdpblN0YXJ0KCksIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCk7
Ci0gICAgICAgIExheW91dFVuaXQgbWFyZ2luRW5kID0gbWltaW51bVZhbHVlRm9yTGVuZ3RoKHN0
eWxlVG9Vc2UtPm1hcmdpbkVuZCgpLCBhdmFpbGFibGVMb2dpY2FsV2lkdGgpOworICAgICAgICBM
YXlvdXRVbml0IG1hcmdpblN0YXJ0ID0gbWluaW11bVZhbHVlRm9yTGVuZ3RoKHN0eWxlVG9Vc2Ut
Pm1hcmdpblN0YXJ0KCksIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCk7CisgICAgICAgIExheW91dFVu
aXQgbWFyZ2luRW5kID0gbWluaW11bVZhbHVlRm9yTGVuZ3RoKHN0eWxlVG9Vc2UtPm1hcmdpbkVu
ZCgpLCBhdmFpbGFibGVMb2dpY2FsV2lkdGgpOwogICAgICAgICBsb2dpY2FsV2lkdGhSZXN1bHQg
PSBhdmFpbGFibGVMb2dpY2FsV2lkdGggLSBtYXJnaW5TdGFydCAtIG1hcmdpbkVuZDsKIAogICAg
ICAgICBpZiAoc2hyaW5rVG9Bdm9pZEZsb2F0cygpICYmIGNiLT5jb250YWluc0Zsb2F0cygpKQpA
QCAtMTkyNSw4ICsxOTI1LDggQEAgdm9pZCBSZW5kZXJCb3g6OmNvbXB1dGVJbmxpbmVEaXJlY3Rp
b25NYXJnaW5zKFJlbmRlckJsb2NrKiBjb250YWluaW5nQmxvY2ssIExheW8KIAogICAgIGlmIChp
c0Zsb2F0aW5nKCkgfHwgaXNJbmxpbmUoKSkgewogICAgICAgICAvLyBJbmxpbmUgYmxvY2tzL3Rh
YmxlcyBhbmQgZmxvYXRzIGRvbid0IGhhdmUgdGhlaXIgbWFyZ2lucyBpbmNyZWFzZWQuCi0gICAg
ICAgIGNvbnRhaW5pbmdCbG9jay0+c2V0TWFyZ2luU3RhcnRGb3JDaGlsZCh0aGlzLCBtaW1pbnVt
VmFsdWVGb3JMZW5ndGgobWFyZ2luU3RhcnRMZW5ndGgsIGNvbnRhaW5lcldpZHRoKSk7Ci0gICAg
ICAgIGNvbnRhaW5pbmdCbG9jay0+c2V0TWFyZ2luRW5kRm9yQ2hpbGQodGhpcywgbWltaW51bVZh
bHVlRm9yTGVuZ3RoKG1hcmdpbkVuZExlbmd0aCwgY29udGFpbmVyV2lkdGgpKTsKKyAgICAgICAg
Y29udGFpbmluZ0Jsb2NrLT5zZXRNYXJnaW5TdGFydEZvckNoaWxkKHRoaXMsIG1pbmltdW1WYWx1
ZUZvckxlbmd0aChtYXJnaW5TdGFydExlbmd0aCwgY29udGFpbmVyV2lkdGgpKTsKKyAgICAgICAg
Y29udGFpbmluZ0Jsb2NrLT5zZXRNYXJnaW5FbmRGb3JDaGlsZCh0aGlzLCBtaW5pbXVtVmFsdWVG
b3JMZW5ndGgobWFyZ2luRW5kTGVuZ3RoLCBjb250YWluZXJXaWR0aCkpOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCkBAIC0xOTU2LDggKzE5NTYsOCBAQCB2b2lkIFJlbmRlckJveDo6Y29tcHV0
ZUlubGluZURpcmVjdGlvbk1hcmdpbnMoUmVuZGVyQmxvY2sqIGNvbnRhaW5pbmdCbG9jaywgTGF5
bwogICAgIAogICAgIC8vIENhc2UgRm91cjogRWl0aGVyIG5vIGF1dG8gbWFyZ2lucywgb3Igb3Vy
IHdpZHRoIGlzID49IHRoZSBjb250YWluZXIgd2lkdGggKGNzczIuMSwgMTAuMy4zKS4gIEluIHRo
YXQgY2FzZQogICAgIC8vIGF1dG8gbWFyZ2lucyB3aWxsIGp1c3QgdHVybiBpbnRvIDAuCi0gICAg
Y29udGFpbmluZ0Jsb2NrLT5zZXRNYXJnaW5TdGFydEZvckNoaWxkKHRoaXMsIG1pbWludW1WYWx1
ZUZvckxlbmd0aChtYXJnaW5TdGFydExlbmd0aCwgY29udGFpbmVyV2lkdGgpKTsKLSAgICBjb250
YWluaW5nQmxvY2stPnNldE1hcmdpbkVuZEZvckNoaWxkKHRoaXMsIG1pbWludW1WYWx1ZUZvckxl
bmd0aChtYXJnaW5FbmRMZW5ndGgsIGNvbnRhaW5lcldpZHRoKSk7CisgICAgY29udGFpbmluZ0Js
b2NrLT5zZXRNYXJnaW5TdGFydEZvckNoaWxkKHRoaXMsIG1pbmltdW1WYWx1ZUZvckxlbmd0aCht
YXJnaW5TdGFydExlbmd0aCwgY29udGFpbmVyV2lkdGgpKTsKKyAgICBjb250YWluaW5nQmxvY2st
PnNldE1hcmdpbkVuZEZvckNoaWxkKHRoaXMsIG1pbmltdW1WYWx1ZUZvckxlbmd0aChtYXJnaW5F
bmRMZW5ndGgsIGNvbnRhaW5lcldpZHRoKSk7CiB9CiAKIFJlbmRlckJveFJlZ2lvbkluZm8qIFJl
bmRlckJveDo6cmVuZGVyQm94UmVnaW9uSW5mbyhSZW5kZXJSZWdpb24qIHJlZ2lvbiwgTGF5b3V0
VW5pdCBvZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlLCBSZW5kZXJCb3hSZWdpb25JbmZv
RmxhZ3MgY2FjaGVGbGFnKSBjb25zdApAQCAtMjI4MSw3ICsyMjgxLDcgQEAgTGF5b3V0VW5pdCBS
ZW5kZXJCb3g6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aFVzaW5nKExlbmd0aCBsb2dpY2Fs
V2lkdGgpIGNvbnMKICAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00NjQ5NgogICAgICAgICAgICAgY29uc3QgTGF5b3V0VW5pdCBjdyA9IGlzUG9z
aXRpb25lZCgpID8gY29udGFpbmluZ0Jsb2NrTG9naWNhbFdpZHRoRm9yUG9zaXRpb25lZCh0b1Jl
bmRlckJveE1vZGVsT2JqZWN0KGNvbnRhaW5lcigpKSkgOiBjb250YWluaW5nQmxvY2tMb2dpY2Fs
V2lkdGhGb3JDb250ZW50KCk7CiAgICAgICAgICAgICBpZiAoY3cgPiAwKQotICAgICAgICAgICAg
ICAgIHJldHVybiBjb21wdXRlQ29udGVudEJveExvZ2ljYWxXaWR0aChtaW1pbnVtVmFsdWVGb3JM
ZW5ndGgobG9naWNhbFdpZHRoLCBjdykpOworICAgICAgICAgICAgICAgIHJldHVybiBjb21wdXRl
Q29udGVudEJveExvZ2ljYWxXaWR0aChtaW5pbXVtVmFsdWVGb3JMZW5ndGgobG9naWNhbFdpZHRo
LCBjdykpOwogICAgICAgICB9CiAgICAgICAgIC8vIGZhbGwgdGhyb3VnaAogICAgICAgICBkZWZh
dWx0OgpAQCAtMjQxOCw4ICsyNDE4LDggQEAgdm9pZCBSZW5kZXJCb3g6OmNvbXB1dGVCbG9ja0Rp
cmVjdGlvbk1hcmdpbnMoUmVuZGVyQmxvY2sqIGNvbnRhaW5pbmdCbG9jaykKICAgICBMYXlvdXRV
bml0IGN3ID0gY29udGFpbmluZ0Jsb2NrTG9naWNhbFdpZHRoRm9yQ29udGVudCgpOwogCiAgICAg
UmVuZGVyU3R5bGUqIGNvbnRhaW5pbmdCbG9ja1N0eWxlID0gY29udGFpbmluZ0Jsb2NrLT5zdHls
ZSgpOwotICAgIGNvbnRhaW5pbmdCbG9jay0+c2V0TWFyZ2luQmVmb3JlRm9yQ2hpbGQodGhpcywg
bWltaW51bVZhbHVlRm9yTGVuZ3RoKHN0eWxlKCktPm1hcmdpbkJlZm9yZVVzaW5nKGNvbnRhaW5p
bmdCbG9ja1N0eWxlKSwgY3cpKTsKLSAgICBjb250YWluaW5nQmxvY2stPnNldE1hcmdpbkFmdGVy
Rm9yQ2hpbGQodGhpcywgbWltaW51bVZhbHVlRm9yTGVuZ3RoKHN0eWxlKCktPm1hcmdpbkFmdGVy
VXNpbmcoY29udGFpbmluZ0Jsb2NrU3R5bGUpLCBjdykpOworICAgIGNvbnRhaW5pbmdCbG9jay0+
c2V0TWFyZ2luQmVmb3JlRm9yQ2hpbGQodGhpcywgbWluaW11bVZhbHVlRm9yTGVuZ3RoKHN0eWxl
KCktPm1hcmdpbkJlZm9yZVVzaW5nKGNvbnRhaW5pbmdCbG9ja1N0eWxlKSwgY3cpKTsKKyAgICBj
b250YWluaW5nQmxvY2stPnNldE1hcmdpbkFmdGVyRm9yQ2hpbGQodGhpcywgbWluaW11bVZhbHVl
Rm9yTGVuZ3RoKHN0eWxlKCktPm1hcmdpbkFmdGVyVXNpbmcoY29udGFpbmluZ0Jsb2NrU3R5bGUp
LCBjdykpOwogfQogCiBMYXlvdXRVbml0IFJlbmRlckJveDo6Y29udGFpbmluZ0Jsb2NrTG9naWNh
bFdpZHRoRm9yUG9zaXRpb25lZChjb25zdCBSZW5kZXJCb3hNb2RlbE9iamVjdCogY29udGFpbmlu
Z0Jsb2NrLCBSZW5kZXJSZWdpb24qIHJlZ2lvbiwKQEAgLTI4NDIsOCArMjg0Miw4IEBAIHZvaWQg
UmVuZGVyQm94Ojpjb21wdXRlUG9zaXRpb25lZExvZ2ljYWxXaWR0aFVzaW5nKExlbmd0aCBsb2dp
Y2FsV2lkdGgsIGNvbnN0IFJlCiAgICAgICAgIC8vIGJlY2F1c2UgdGhlIHZhbHVlIGlzIG5vdCB1
c2VkIGZvciBhbnkgZnVydGhlciBjYWxjdWxhdGlvbnMuCiAKICAgICAgICAgLy8gQ2FsY3VsYXRl
IG1hcmdpbnMsICdhdXRvJyBtYXJnaW5zIGFyZSBpZ25vcmVkLgotICAgICAgICBtYXJnaW5Mb2dp
Y2FsTGVmdFZhbHVlID0gbWltaW51bVZhbHVlRm9yTGVuZ3RoKG1hcmdpbkxvZ2ljYWxMZWZ0LCBj
b250YWluZXJMb2dpY2FsV2lkdGgpOwotICAgICAgICBtYXJnaW5Mb2dpY2FsUmlnaHRWYWx1ZSA9
IG1pbWludW1WYWx1ZUZvckxlbmd0aChtYXJnaW5Mb2dpY2FsUmlnaHQsIGNvbnRhaW5lckxvZ2lj
YWxXaWR0aCk7CisgICAgICAgIG1hcmdpbkxvZ2ljYWxMZWZ0VmFsdWUgPSBtaW5pbXVtVmFsdWVG
b3JMZW5ndGgobWFyZ2luTG9naWNhbExlZnQsIGNvbnRhaW5lckxvZ2ljYWxXaWR0aCk7CisgICAg
ICAgIG1hcmdpbkxvZ2ljYWxSaWdodFZhbHVlID0gbWluaW11bVZhbHVlRm9yTGVuZ3RoKG1hcmdp
bkxvZ2ljYWxSaWdodCwgY29udGFpbmVyTG9naWNhbFdpZHRoKTsKIAogICAgICAgICBjb25zdCBM
YXlvdXRVbml0IGF2YWlsYWJsZVNwYWNlID0gY29udGFpbmVyTG9naWNhbFdpZHRoIC0gKG1hcmdp
bkxvZ2ljYWxMZWZ0VmFsdWUgKyBtYXJnaW5Mb2dpY2FsUmlnaHRWYWx1ZSArIGJvcmRlcnNQbHVz
UGFkZGluZyk7CiAKQEAgLTMxNDUsOCArMzE0NSw4IEBAIHZvaWQgUmVuZGVyQm94Ojpjb21wdXRl
UG9zaXRpb25lZExvZ2ljYWxIZWlnaHRVc2luZyhMZW5ndGggbG9naWNhbEhlaWdodExlbmd0aCwK
ICAgICAgICAgLy8gYmVjYXVzZSB0aGUgdmFsdWUgaXMgbm90IHVzZWQgZm9yIGFueSBmdXJ0aGVy
IGNhbGN1bGF0aW9ucy4KIAogICAgICAgICAvLyBDYWxjdWxhdGUgbWFyZ2lucywgJ2F1dG8nIG1h
cmdpbnMgYXJlIGlnbm9yZWQuCi0gICAgICAgIG1hcmdpbkJlZm9yZVZhbHVlID0gbWltaW51bVZh
bHVlRm9yTGVuZ3RoKG1hcmdpbkJlZm9yZSwgY29udGFpbmVyTG9naWNhbEhlaWdodCk7Ci0gICAg
ICAgIG1hcmdpbkFmdGVyVmFsdWUgPSBtaW1pbnVtVmFsdWVGb3JMZW5ndGgobWFyZ2luQWZ0ZXIs
IGNvbnRhaW5lckxvZ2ljYWxIZWlnaHQpOworICAgICAgICBtYXJnaW5CZWZvcmVWYWx1ZSA9IG1p
bmltdW1WYWx1ZUZvckxlbmd0aChtYXJnaW5CZWZvcmUsIGNvbnRhaW5lckxvZ2ljYWxIZWlnaHQp
OworICAgICAgICBtYXJnaW5BZnRlclZhbHVlID0gbWluaW11bVZhbHVlRm9yTGVuZ3RoKG1hcmdp
bkFmdGVyLCBjb250YWluZXJMb2dpY2FsSGVpZ2h0KTsKIAogICAgICAgICBjb25zdCBMYXlvdXRV
bml0IGF2YWlsYWJsZVNwYWNlID0gY29udGFpbmVyTG9naWNhbEhlaWdodCAtIChtYXJnaW5CZWZv
cmVWYWx1ZSArIG1hcmdpbkFmdGVyVmFsdWUgKyBib3JkZXJzUGx1c1BhZGRpbmcpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAppbmRl
eCA2MTkwNjlkY2U5YzRiMjllOGQzMDU1ZWU2YTdhNzNlNDFiMjY4Y2IxLi41ZDVmYTkxYTE2NzNl
MTY4YWZmZTRjODhiYjg2YzgyODYxZjJlYzZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKQEAgLTU1Niw3ICs1NTYsNyBAQCBMYXlv
dXRVbml0IFJlbmRlckJveE1vZGVsT2JqZWN0OjpwYWRkaW5nVG9wKFBhZGRpbmdPcHRpb25zKSBj
b25zdAogICAgIExlbmd0aCBwYWRkaW5nID0gc3R5bGUoKS0+cGFkZGluZ1RvcCgpOwogICAgIGlm
IChwYWRkaW5nLmlzUGVyY2VudCgpKQogICAgICAgICB3ID0gY29udGFpbmluZ0Jsb2NrKCktPmF2
YWlsYWJsZUxvZ2ljYWxXaWR0aCgpOwotICAgIHJldHVybiBtaW1pbnVtVmFsdWVGb3JMZW5ndGgo
cGFkZGluZywgdyk7CisgICAgcmV0dXJuIG1pbmltdW1WYWx1ZUZvckxlbmd0aChwYWRkaW5nLCB3
KTsKIH0KIAogTGF5b3V0VW5pdCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFkZGluZ0JvdHRvbShQ
YWRkaW5nT3B0aW9ucykgY29uc3QKQEAgLTU2NSw3ICs1NjUsNyBAQCBMYXlvdXRVbml0IFJlbmRl
ckJveE1vZGVsT2JqZWN0OjpwYWRkaW5nQm90dG9tKFBhZGRpbmdPcHRpb25zKSBjb25zdAogICAg
IExlbmd0aCBwYWRkaW5nID0gc3R5bGUoKS0+cGFkZGluZ0JvdHRvbSgpOwogICAgIGlmIChwYWRk
aW5nLmlzUGVyY2VudCgpKQogICAgICAgICB3ID0gY29udGFpbmluZ0Jsb2NrKCktPmF2YWlsYWJs
ZUxvZ2ljYWxXaWR0aCgpOwotICAgIHJldHVybiBtaW1pbnVtVmFsdWVGb3JMZW5ndGgocGFkZGlu
Zywgdyk7CisgICAgcmV0dXJuIG1pbmltdW1WYWx1ZUZvckxlbmd0aChwYWRkaW5nLCB3KTsKIH0K
IAogTGF5b3V0VW5pdCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFkZGluZ0xlZnQoUGFkZGluZ09w
dGlvbnMpIGNvbnN0CkBAIC01NzQsNyArNTc0LDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJCb3hNb2Rl
bE9iamVjdDo6cGFkZGluZ0xlZnQoUGFkZGluZ09wdGlvbnMpIGNvbnN0CiAgICAgTGVuZ3RoIHBh
ZGRpbmcgPSBzdHlsZSgpLT5wYWRkaW5nTGVmdCgpOwogICAgIGlmIChwYWRkaW5nLmlzUGVyY2Vu
dCgpKQogICAgICAgICB3ID0gY29udGFpbmluZ0Jsb2NrKCktPmF2YWlsYWJsZUxvZ2ljYWxXaWR0
aCgpOwotICAgIHJldHVybiBtaW1pbnVtVmFsdWVGb3JMZW5ndGgocGFkZGluZywgdyk7CisgICAg
cmV0dXJuIG1pbmltdW1WYWx1ZUZvckxlbmd0aChwYWRkaW5nLCB3KTsKIH0KIAogTGF5b3V0VW5p
dCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFkZGluZ1JpZ2h0KFBhZGRpbmdPcHRpb25zKSBjb25z
dApAQCAtNTgzLDcgKzU4Myw3IEBAIExheW91dFVuaXQgUmVuZGVyQm94TW9kZWxPYmplY3Q6OnBh
ZGRpbmdSaWdodChQYWRkaW5nT3B0aW9ucykgY29uc3QKICAgICBMZW5ndGggcGFkZGluZyA9IHN0
eWxlKCktPnBhZGRpbmdSaWdodCgpOwogICAgIGlmIChwYWRkaW5nLmlzUGVyY2VudCgpKQogICAg
ICAgICB3ID0gY29udGFpbmluZ0Jsb2NrKCktPmF2YWlsYWJsZUxvZ2ljYWxXaWR0aCgpOwotICAg
IHJldHVybiBtaW1pbnVtVmFsdWVGb3JMZW5ndGgocGFkZGluZywgdyk7CisgICAgcmV0dXJuIG1p
bmltdW1WYWx1ZUZvckxlbmd0aChwYWRkaW5nLCB3KTsKIH0KIAogTGF5b3V0VW5pdCBSZW5kZXJC
b3hNb2RlbE9iamVjdDo6cGFkZGluZ0JlZm9yZShQYWRkaW5nT3B0aW9ucykgY29uc3QKQEAgLTU5
Miw3ICs1OTIsNyBAQCBMYXlvdXRVbml0IFJlbmRlckJveE1vZGVsT2JqZWN0OjpwYWRkaW5nQmVm
b3JlKFBhZGRpbmdPcHRpb25zKSBjb25zdAogICAgIExlbmd0aCBwYWRkaW5nID0gc3R5bGUoKS0+
cGFkZGluZ0JlZm9yZSgpOwogICAgIGlmIChwYWRkaW5nLmlzUGVyY2VudCgpKQogICAgICAgICB3
ID0gY29udGFpbmluZ0Jsb2NrKCktPmF2YWlsYWJsZUxvZ2ljYWxXaWR0aCgpOwotICAgIHJldHVy
biBtaW1pbnVtVmFsdWVGb3JMZW5ndGgocGFkZGluZywgdyk7CisgICAgcmV0dXJuIG1pbmltdW1W
YWx1ZUZvckxlbmd0aChwYWRkaW5nLCB3KTsKIH0KIAogTGF5b3V0VW5pdCBSZW5kZXJCb3hNb2Rl
bE9iamVjdDo6cGFkZGluZ0FmdGVyKFBhZGRpbmdPcHRpb25zKSBjb25zdApAQCAtNjAxLDcgKzYw
MSw3IEBAIExheW91dFVuaXQgUmVuZGVyQm94TW9kZWxPYmplY3Q6OnBhZGRpbmdBZnRlcihQYWRk
aW5nT3B0aW9ucykgY29uc3QKICAgICBMZW5ndGggcGFkZGluZyA9IHN0eWxlKCktPnBhZGRpbmdB
ZnRlcigpOwogICAgIGlmIChwYWRkaW5nLmlzUGVyY2VudCgpKQogICAgICAgICB3ID0gY29udGFp
bmluZ0Jsb2NrKCktPmF2YWlsYWJsZUxvZ2ljYWxXaWR0aCgpOwotICAgIHJldHVybiBtaW1pbnVt
VmFsdWVGb3JMZW5ndGgocGFkZGluZywgdyk7CisgICAgcmV0dXJuIG1pbmltdW1WYWx1ZUZvckxl
bmd0aChwYWRkaW5nLCB3KTsKIH0KIAogTGF5b3V0VW5pdCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6
cGFkZGluZ1N0YXJ0KFBhZGRpbmdPcHRpb25zKSBjb25zdApAQCAtNjEwLDcgKzYxMCw3IEBAIExh
eW91dFVuaXQgUmVuZGVyQm94TW9kZWxPYmplY3Q6OnBhZGRpbmdTdGFydChQYWRkaW5nT3B0aW9u
cykgY29uc3QKICAgICBMZW5ndGggcGFkZGluZyA9IHN0eWxlKCktPnBhZGRpbmdTdGFydCgpOwog
ICAgIGlmIChwYWRkaW5nLmlzUGVyY2VudCgpKQogICAgICAgICB3ID0gY29udGFpbmluZ0Jsb2Nr
KCktPmF2YWlsYWJsZUxvZ2ljYWxXaWR0aCgpOwotICAgIHJldHVybiBtaW1pbnVtVmFsdWVGb3JM
ZW5ndGgocGFkZGluZywgdyk7CisgICAgcmV0dXJuIG1pbmltdW1WYWx1ZUZvckxlbmd0aChwYWRk
aW5nLCB3KTsKIH0KIAogTGF5b3V0VW5pdCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFkZGluZ0Vu
ZChQYWRkaW5nT3B0aW9ucykgY29uc3QKQEAgLTYxOSw3ICs2MTksNyBAQCBMYXlvdXRVbml0IFJl
bmRlckJveE1vZGVsT2JqZWN0OjpwYWRkaW5nRW5kKFBhZGRpbmdPcHRpb25zKSBjb25zdAogICAg
IExlbmd0aCBwYWRkaW5nID0gc3R5bGUoKS0+cGFkZGluZ0VuZCgpOwogICAgIGlmIChwYWRkaW5n
LmlzUGVyY2VudCgpKQogICAgICAgICB3ID0gY29udGFpbmluZ0Jsb2NrKCktPmF2YWlsYWJsZUxv
Z2ljYWxXaWR0aCgpOwotICAgIHJldHVybiBtaW1pbnVtVmFsdWVGb3JMZW5ndGgocGFkZGluZywg
dyk7CisgICAgcmV0dXJuIG1pbmltdW1WYWx1ZUZvckxlbmd0aChwYWRkaW5nLCB3KTsKIH0KIAog
Um91bmRlZFJlY3QgUmVuZGVyQm94TW9kZWxPYmplY3Q6OmdldEJhY2tncm91bmRSb3VuZGVkUmVj
dChjb25zdCBMYXlvdXRSZWN0JiBib3JkZXJSZWN0LCBJbmxpbmVGbG93Qm94KiBib3gsIExheW91
dFVuaXQgaW5saW5lQm94V2lkdGgsIExheW91dFVuaXQgaW5saW5lQm94SGVpZ2h0LApAQCAtMTEz
OSwxMyArMTEzOSwxMyBAQCB2b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0OjpjYWxjdWxhdGVCYWNr
Z3JvdW5kSW1hZ2VHZW9tZXRyeShjb25zdCBGaWxsTGF5ZXIqIGZpbAogICAgIEVGaWxsUmVwZWF0
IGJhY2tncm91bmRSZXBlYXRYID0gZmlsbExheWVyLT5yZXBlYXRYKCk7CiAgICAgRUZpbGxSZXBl
YXQgYmFja2dyb3VuZFJlcGVhdFkgPSBmaWxsTGF5ZXItPnJlcGVhdFkoKTsKIAotICAgIExheW91
dFVuaXQgeFBvc2l0aW9uID0gbWltaW51bVZhbHVlRm9yTGVuZ3RoKGZpbGxMYXllci0+eFBvc2l0
aW9uKCksIHBvc2l0aW9uaW5nQXJlYVNpemUud2lkdGgoKSAtIGdlb21ldHJ5LnRpbGVTaXplKCku
d2lkdGgoKSwgdHJ1ZSk7CisgICAgTGF5b3V0VW5pdCB4UG9zaXRpb24gPSBtaW5pbXVtVmFsdWVG
b3JMZW5ndGgoZmlsbExheWVyLT54UG9zaXRpb24oKSwgcG9zaXRpb25pbmdBcmVhU2l6ZS53aWR0
aCgpIC0gZ2VvbWV0cnkudGlsZVNpemUoKS53aWR0aCgpLCB0cnVlKTsKICAgICBpZiAoYmFja2dy
b3VuZFJlcGVhdFggPT0gUmVwZWF0RmlsbCkKICAgICAgICAgZ2VvbWV0cnkuc2V0UGhhc2VYKGdl
b21ldHJ5LnRpbGVTaXplKCkud2lkdGgoKSA/IGdlb21ldHJ5LnRpbGVTaXplKCkud2lkdGgoKSAt
ICh4UG9zaXRpb24gKyBsZWZ0KSAlIGdlb21ldHJ5LnRpbGVTaXplKCkud2lkdGgoKSA6IDApOwog
ICAgIGVsc2UKICAgICAgICAgZ2VvbWV0cnkuc2V0Tm9SZXBlYXRYKHhQb3NpdGlvbiArIGxlZnQp
OwogCi0gICAgTGF5b3V0VW5pdCB5UG9zaXRpb24gPSBtaW1pbnVtVmFsdWVGb3JMZW5ndGgoZmls
bExheWVyLT55UG9zaXRpb24oKSwgcG9zaXRpb25pbmdBcmVhU2l6ZS5oZWlnaHQoKSAtIGdlb21l
dHJ5LnRpbGVTaXplKCkuaGVpZ2h0KCksIHRydWUpOworICAgIExheW91dFVuaXQgeVBvc2l0aW9u
ID0gbWluaW11bVZhbHVlRm9yTGVuZ3RoKGZpbGxMYXllci0+eVBvc2l0aW9uKCksIHBvc2l0aW9u
aW5nQXJlYVNpemUuaGVpZ2h0KCkgLSBnZW9tZXRyeS50aWxlU2l6ZSgpLmhlaWdodCgpLCB0cnVl
KTsKICAgICBpZiAoYmFja2dyb3VuZFJlcGVhdFkgPT0gUmVwZWF0RmlsbCkKICAgICAgICAgZ2Vv
bWV0cnkuc2V0UGhhc2VZKGdlb21ldHJ5LnRpbGVTaXplKCkuaGVpZ2h0KCkgPyBnZW9tZXRyeS50
aWxlU2l6ZSgpLmhlaWdodCgpIC0gKHlQb3NpdGlvbiArIHRvcCkgJSBnZW9tZXRyeS50aWxlU2l6
ZSgpLmhlaWdodCgpIDogMCk7CiAgICAgZWxzZSAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRmxleGlibGVCb3guY3BwCmluZGV4IGNhYWJiYWE2YTdlYzNiMzhlZWVmZjBkY2Vl
NmZkNDdiYTVjYWMyMTUuLjFkMTg5YWNmNWU1YTRiYjgzYjY1ZTY4NjMwNDBhNjE4YTM2MDY2ODMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcApA
QCAtNTY1LDcgKzU2NSw3IEBAIExheW91dFVuaXQgUmVuZGVyRmxleGlibGVCb3g6OnByZWZlcnJl
ZE1haW5BeGlzQ29udGVudEV4dGVudEZvckNoaWxkKFJlbmRlckJveCoKICAgICAgICAgTGF5b3V0
VW5pdCBtYWluQXhpc0V4dGVudCA9IGhhc09ydGhvZ29uYWxGbG93KGNoaWxkKSA/IGNoaWxkLT5s
b2dpY2FsSGVpZ2h0KCkgOiBjaGlsZC0+bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKCk7CiAgICAg
ICAgIHJldHVybiBtYWluQXhpc0V4dGVudCAtIG1haW5BeGlzQm9yZGVyQW5kUGFkZGluZ0V4dGVu
dEZvckNoaWxkKGNoaWxkKTsKICAgICB9Ci0gICAgcmV0dXJuIG1pbWludW1WYWx1ZUZvckxlbmd0
aChtYWluQXhpc0xlbmd0aCwgbWFpbkF4aXNDb250ZW50RXh0ZW50KCkpOworICAgIHJldHVybiBt
aW5pbXVtVmFsdWVGb3JMZW5ndGgobWFpbkF4aXNMZW5ndGgsIG1haW5BeGlzQ29udGVudEV4dGVu
dCgpKTsKIH0KIAogTGF5b3V0VW5pdCBSZW5kZXJGbGV4aWJsZUJveDo6Y29tcHV0ZUF2YWlsYWJs
ZUZyZWVTcGFjZShMYXlvdXRVbml0IHByZWZlcnJlZE1haW5BeGlzRXh0ZW50KQpAQCAtNjY5LDEx
ICs2NjksMTEgQEAgdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6Y29tcHV0ZU1haW5BeGlzUHJlZmVy
cmVkU2l6ZXMoYm9vbCByZWxheW91dENoaWxkcmVuLCBGbGUKICAgICAgICAgLy8gb2YgMCBhbmQg
YmVjYXVzZSBpZiB3ZSdyZSBub3QgYXV0byBzaXppbmcsIHdlIGRvbid0IGRvIGEgbGF5b3V0IHRo
YXQKICAgICAgICAgLy8gY29tcHV0ZXMgdGhlIHN0YXJ0L2VuZCBtYXJnaW5zLgogICAgICAgICBp
ZiAoaXNIb3Jpem9udGFsRmxvdygpKSB7Ci0gICAgICAgICAgICBjaGlsZC0+c2V0TWFyZ2luTGVm
dChtaW1pbnVtVmFsdWVGb3JMZW5ndGgoY2hpbGQtPnN0eWxlKCktPm1hcmdpbkxlZnQoKSwgZmxl
eGJveEF2YWlsYWJsZUNvbnRlbnRFeHRlbnQpKTsKLSAgICAgICAgICAgIGNoaWxkLT5zZXRNYXJn
aW5SaWdodChtaW1pbnVtVmFsdWVGb3JMZW5ndGgoY2hpbGQtPnN0eWxlKCktPm1hcmdpblJpZ2h0
KCksIGZsZXhib3hBdmFpbGFibGVDb250ZW50RXh0ZW50KSk7CisgICAgICAgICAgICBjaGlsZC0+
c2V0TWFyZ2luTGVmdChtaW5pbXVtVmFsdWVGb3JMZW5ndGgoY2hpbGQtPnN0eWxlKCktPm1hcmdp
bkxlZnQoKSwgZmxleGJveEF2YWlsYWJsZUNvbnRlbnRFeHRlbnQpKTsKKyAgICAgICAgICAgIGNo
aWxkLT5zZXRNYXJnaW5SaWdodChtaW5pbXVtVmFsdWVGb3JMZW5ndGgoY2hpbGQtPnN0eWxlKCkt
Pm1hcmdpblJpZ2h0KCksIGZsZXhib3hBdmFpbGFibGVDb250ZW50RXh0ZW50KSk7CiAgICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICBjaGlsZC0+c2V0TWFyZ2luVG9wKG1pbWludW1WYWx1ZUZv
ckxlbmd0aChjaGlsZC0+c3R5bGUoKS0+bWFyZ2luVG9wKCksIGZsZXhib3hBdmFpbGFibGVDb250
ZW50RXh0ZW50KSk7Ci0gICAgICAgICAgICBjaGlsZC0+c2V0TWFyZ2luQm90dG9tKG1pbWludW1W
YWx1ZUZvckxlbmd0aChjaGlsZC0+c3R5bGUoKS0+bWFyZ2luQm90dG9tKCksIGZsZXhib3hBdmFp
bGFibGVDb250ZW50RXh0ZW50KSk7CisgICAgICAgICAgICBjaGlsZC0+c2V0TWFyZ2luVG9wKG1p
bmltdW1WYWx1ZUZvckxlbmd0aChjaGlsZC0+c3R5bGUoKS0+bWFyZ2luVG9wKCksIGZsZXhib3hB
dmFpbGFibGVDb250ZW50RXh0ZW50KSk7CisgICAgICAgICAgICBjaGlsZC0+c2V0TWFyZ2luQm90
dG9tKG1pbmltdW1WYWx1ZUZvckxlbmd0aChjaGlsZC0+c3R5bGUoKS0+bWFyZ2luQm90dG9tKCks
IGZsZXhib3hBdmFpbGFibGVDb250ZW50RXh0ZW50KSk7CiAgICAgICAgIH0KICAgICB9CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCmluZGV4IGI2YzRjYThlNjg0
NmQwYTBkMzRmZTMzNWRhN2Q3ZjVmMTdhYTU5Y2EuLjQ2MzFlNzc5Y2U4NmQzNmE4NGJlMWVhOWQw
YTFhMzhiMzBkYzc3NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbmxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUu
Y3BwCkBAIC03MDEsNyArNzAxLDcgQEAgc3RhdGljIExheW91dFVuaXQgY29tcHV0ZU1hcmdpbihj
b25zdCBSZW5kZXJJbmxpbmUqIHJlbmRlcmVyLCBjb25zdCBMZW5ndGgmIG1hcmcKICAgICBpZiAo
bWFyZ2luLmlzRml4ZWQoKSkKICAgICAgICAgcmV0dXJuIG1hcmdpbi52YWx1ZSgpOwogICAgIGlm
IChtYXJnaW4uaXNQZXJjZW50KCkpCi0gICAgICAgIHJldHVybiBtaW1pbnVtVmFsdWVGb3JMZW5n
dGgobWFyZ2luLCBtYXg8TGF5b3V0VW5pdD4oMCwgcmVuZGVyZXItPmNvbnRhaW5pbmdCbG9jaygp
LT5hdmFpbGFibGVMb2dpY2FsV2lkdGgoKSkpOworICAgICAgICByZXR1cm4gbWluaW11bVZhbHVl
Rm9yTGVuZ3RoKG1hcmdpbiwgbWF4PExheW91dFVuaXQ+KDAsIHJlbmRlcmVyLT5jb250YWluaW5n
QmxvY2soKS0+YXZhaWxhYmxlTG9naWNhbFdpZHRoKCkpKTsKICAgICByZXR1cm4gMDsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAKaW5kZXggMTdkZWJm
ODE4MTJjODRjY2U5OWFmMDZlNDA5M2VmZmM0ODAzMTA2Zi4uYmJjMDVlYWQwYzUyMWNjOWYzZGFm
MTM0N2Y3MTk3MjJlNWMwMDQ0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck1lbnVMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TWVudUxpc3QuY3BwCkBAIC0xNjIsNyArMTYyLDcgQEAgdm9pZCBSZW5kZXJNZW51TGlzdDo6dXBk
YXRlT3B0aW9uc1dpZHRoKCkKICAgICAgICAgICAgIC8vIEFkZCBpbiB0aGUgb3B0aW9uJ3MgdGV4
dCBpbmRlbnQuICBXZSBjYW4ndCBjYWxjdWxhdGUgcGVyY2VudGFnZSB2YWx1ZXMgZm9yIG5vdy4K
ICAgICAgICAgICAgIGZsb2F0IG9wdGlvbldpZHRoID0gMDsKICAgICAgICAgICAgIGlmIChSZW5k
ZXJTdHlsZSogb3B0aW9uU3R5bGUgPSBlbGVtZW50LT5yZW5kZXJTdHlsZSgpKQotICAgICAgICAg
ICAgICAgIG9wdGlvbldpZHRoICs9IG1pbWludW1WYWx1ZUZvckxlbmd0aChvcHRpb25TdHlsZS0+
dGV4dEluZGVudCgpLCAwKTsKKyAgICAgICAgICAgICAgICBvcHRpb25XaWR0aCArPSBtaW5pbXVt
VmFsdWVGb3JMZW5ndGgob3B0aW9uU3R5bGUtPnRleHRJbmRlbnQoKSwgMCk7CiAgICAgICAgICAg
ICBpZiAoIXRleHQuaXNFbXB0eSgpKQogICAgICAgICAgICAgICAgIG9wdGlvbldpZHRoICs9IHN0
eWxlKCktPmZvbnQoKS53aWR0aCh0ZXh0KTsKICAgICAgICAgICAgIG1heE9wdGlvbldpZHRoID0g
bWF4KG1heE9wdGlvbldpZHRoLCBvcHRpb25XaWR0aCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclJlcGxhY2VkLmNwcAppbmRleCBiZmI3YjZhOTllZjZhYTZjNGI5ZDM1ODQwNGQ1
YjM0MTAzNTViMWQ4Li45MTFkMzVjOGMzNWJlM2FiZmFlZGJmMzY3OTY0NTllOGEzOWYwZDUyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKQEAgLTMzNSw4
ICszMzUsOCBAQCBMYXlvdXRVbml0IFJlbmRlclJlcGxhY2VkOjpjb21wdXRlUmVwbGFjZWRMb2dp
Y2FsV2lkdGgoYm9vbCBpbmNsdWRlTWF4V2lkdGgpIGNvbgogICAgICAgICAgICAgICAgICAgICBs
b2dpY2FsV2lkdGggPSBjb250YWluaW5nQmxvY2soKS0+YXZhaWxhYmxlTG9naWNhbFdpZHRoKCk7
CiAKICAgICAgICAgICAgICAgICAvLyBUaGlzIHNvbHZlcyBhYm92ZSBlcXVhdGlvbiBmb3IgJ3dp
ZHRoJyAoPT0gbG9naWNhbFdpZHRoKS4KLSAgICAgICAgICAgICAgICBMYXlvdXRVbml0IG1hcmdp
blN0YXJ0ID0gbWltaW51bVZhbHVlRm9yTGVuZ3RoKHN0eWxlKCktPm1hcmdpblN0YXJ0KCksIGxv
Z2ljYWxXaWR0aCk7Ci0gICAgICAgICAgICAgICAgTGF5b3V0VW5pdCBtYXJnaW5FbmQgPSBtaW1p
bnVtVmFsdWVGb3JMZW5ndGgoc3R5bGUoKS0+bWFyZ2luRW5kKCksIGxvZ2ljYWxXaWR0aCk7Cisg
ICAgICAgICAgICAgICAgTGF5b3V0VW5pdCBtYXJnaW5TdGFydCA9IG1pbmltdW1WYWx1ZUZvckxl
bmd0aChzdHlsZSgpLT5tYXJnaW5TdGFydCgpLCBsb2dpY2FsV2lkdGgpOworICAgICAgICAgICAg
ICAgIExheW91dFVuaXQgbWFyZ2luRW5kID0gbWluaW11bVZhbHVlRm9yTGVuZ3RoKHN0eWxlKCkt
Pm1hcmdpbkVuZCgpLCBsb2dpY2FsV2lkdGgpOwogICAgICAgICAgICAgICAgIGxvZ2ljYWxXaWR0
aCA9IG1heCgwLCBsb2dpY2FsV2lkdGggLSAobWFyZ2luU3RhcnQgKyBtYXJnaW5FbmQgKyAod2lk
dGgoKSAtIGNsaWVudFdpZHRoKCkpKSk7CiAgICAgICAgICAgICAgICAgaWYgKGlzUGVyY2VudGFn
ZUludHJpbnNpY1NpemUpCiAgICAgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBSZW1vdmUgdW5u
ZWNlc3Nhcnkgcm91bmRpbmcgd2hlbiBsYXlvdXQgaXMgb2ZmIGludHM6IHdlYmtpdC5vcmcvYi82
MzY1NgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJh
clBhcnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclBhcnQu
Y3BwCmluZGV4IDcyZDMyOWM5MGM3MWUwN2NlMGRjZjJlNDY2OTNkOGU2Y2UyZmRiNGYuLjg1OGY1
NjAwZjI2Zjc0ZGVlYmZjZjc0ZjZkNTUzMGM0ZDc2M2NjYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJQYXJ0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyUGFydC5jcHAKQEAgLTgzLDcgKzgzLDcgQEAg
c3RhdGljIGludCBjYWxjU2Nyb2xsYmFyVGhpY2tuZXNzVXNpbmcoY29uc3QgTGVuZ3RoJiBsLCBp
bnQgY29udGFpbmluZ0xlbmd0aCkKIHsKICAgICBpZiAobC5pc0ludHJpbnNpY09yQXV0bygpKQog
ICAgICAgICByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCktPnNjcm9sbGJhclRoaWNrbmVz
cygpOwotICAgIHJldHVybiBtaW1pbnVtVmFsdWVGb3JMZW5ndGgobCwgY29udGFpbmluZ0xlbmd0
aCk7CisgICAgcmV0dXJuIG1pbmltdW1WYWx1ZUZvckxlbmd0aChsLCBjb250YWluaW5nTGVuZ3Ro
KTsKIH0KIAogdm9pZCBSZW5kZXJTY3JvbGxiYXJQYXJ0Ojpjb21wdXRlU2Nyb2xsYmFyV2lkdGgo
KQpAQCAtOTcsOCArOTcsOCBAQCB2b2lkIFJlbmRlclNjcm9sbGJhclBhcnQ6OmNvbXB1dGVTY3Jv
bGxiYXJXaWR0aCgpCiAgICAgc2V0V2lkdGgobWF4KG1pbldpZHRoLCBtaW4obWF4V2lkdGgsIHcp
KSk7CiAgICAgCiAgICAgLy8gQnV0dG9ucyBhbmQgdHJhY2sgcGllY2VzIGNhbiBhbGwgaGF2ZSBt
YXJnaW5zIGFsb25nIHRoZSBheGlzIG9mIHRoZSBzY3JvbGxiYXIuIAotICAgIG1fbWFyZ2luTGVm
dCA9IG1pbWludW1WYWx1ZUZvckxlbmd0aChzdHlsZSgpLT5tYXJnaW5MZWZ0KCksIHZpc2libGVT
aXplKTsKLSAgICBtX21hcmdpblJpZ2h0ID0gbWltaW51bVZhbHVlRm9yTGVuZ3RoKHN0eWxlKCkt
Pm1hcmdpblJpZ2h0KCksIHZpc2libGVTaXplKTsKKyAgICBtX21hcmdpbkxlZnQgPSBtaW5pbXVt
VmFsdWVGb3JMZW5ndGgoc3R5bGUoKS0+bWFyZ2luTGVmdCgpLCB2aXNpYmxlU2l6ZSk7CisgICAg
bV9tYXJnaW5SaWdodCA9IG1pbmltdW1WYWx1ZUZvckxlbmd0aChzdHlsZSgpLT5tYXJnaW5SaWdo
dCgpLCB2aXNpYmxlU2l6ZSk7CiB9CiAKIHZvaWQgUmVuZGVyU2Nyb2xsYmFyUGFydDo6Y29tcHV0
ZVNjcm9sbGJhckhlaWdodCgpCkBAIC0xMTIsOCArMTEyLDggQEAgdm9pZCBSZW5kZXJTY3JvbGxi
YXJQYXJ0Ojpjb21wdXRlU2Nyb2xsYmFySGVpZ2h0KCkKICAgICBzZXRIZWlnaHQobWF4KG1pbkhl
aWdodCwgbWluKG1heEhlaWdodCwgaCkpKTsKIAogICAgIC8vIEJ1dHRvbnMgYW5kIHRyYWNrIHBp
ZWNlcyBjYW4gYWxsIGhhdmUgbWFyZ2lucyBhbG9uZyB0aGUgYXhpcyBvZiB0aGUgc2Nyb2xsYmFy
LiAKLSAgICBtX21hcmdpblRvcCA9IG1pbWludW1WYWx1ZUZvckxlbmd0aChzdHlsZSgpLT5tYXJn
aW5Ub3AoKSwgdmlzaWJsZVNpemUpOwotICAgIG1fbWFyZ2luQm90dG9tID0gbWltaW51bVZhbHVl
Rm9yTGVuZ3RoKHN0eWxlKCktPm1hcmdpbkJvdHRvbSgpLCB2aXNpYmxlU2l6ZSk7CisgICAgbV9t
YXJnaW5Ub3AgPSBtaW5pbXVtVmFsdWVGb3JMZW5ndGgoc3R5bGUoKS0+bWFyZ2luVG9wKCksIHZp
c2libGVTaXplKTsKKyAgICBtX21hcmdpbkJvdHRvbSA9IG1pbmltdW1WYWx1ZUZvckxlbmd0aChz
dHlsZSgpLT5tYXJnaW5Cb3R0b20oKSwgdmlzaWJsZVNpemUpOwogfQogCiB2b2lkIFJlbmRlclNj
cm9sbGJhclBhcnQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwCmluZGV4IDBkZmQ3MGM3ZWQzZTZjMWU4MWY3MGQw
OWE1NzA5MTJhYmRlNDNmMzcuLjUzODIwM2U2YTc2NmVmMWI1MjYwOWNmNzA3MTZmMTE3YjYxMDY3
MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcApAQCAtMjMyLDgg
KzIzMiw4IEBAIHZvaWQgUmVuZGVyVGFibGU6OmNvbXB1dGVMb2dpY2FsV2lkdGgoKQogICAgICAg
ICBzZXRMb2dpY2FsV2lkdGgoY29udmVydFN0eWxlTG9naWNhbFdpZHRoVG9Db21wdXRlZFdpZHRo
KHN0eWxlTG9naWNhbFdpZHRoLCBjb250YWluZXJXaWR0aEluSW5saW5lRGlyZWN0aW9uKSk7CiAg
ICAgZWxzZSB7CiAgICAgICAgIC8vIFN1YnRyYWN0IG91dCBhbnkgZml4ZWQgbWFyZ2lucyBmcm9t
IG91ciBhdmFpbGFibGUgd2lkdGggZm9yIGF1dG8gd2lkdGggdGFibGVzLgotICAgICAgICBMYXlv
dXRVbml0IG1hcmdpblN0YXJ0ID0gbWltaW51bVZhbHVlRm9yTGVuZ3RoKHN0eWxlKCktPm1hcmdp
blN0YXJ0KCksIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCk7Ci0gICAgICAgIExheW91dFVuaXQgbWFy
Z2luRW5kID0gbWltaW51bVZhbHVlRm9yTGVuZ3RoKHN0eWxlKCktPm1hcmdpbkVuZCgpLCBhdmFp
bGFibGVMb2dpY2FsV2lkdGgpOworICAgICAgICBMYXlvdXRVbml0IG1hcmdpblN0YXJ0ID0gbWlu
aW11bVZhbHVlRm9yTGVuZ3RoKHN0eWxlKCktPm1hcmdpblN0YXJ0KCksIGF2YWlsYWJsZUxvZ2lj
YWxXaWR0aCk7CisgICAgICAgIExheW91dFVuaXQgbWFyZ2luRW5kID0gbWluaW11bVZhbHVlRm9y
TGVuZ3RoKHN0eWxlKCktPm1hcmdpbkVuZCgpLCBhdmFpbGFibGVMb2dpY2FsV2lkdGgpOwogICAg
ICAgICBMYXlvdXRVbml0IG1hcmdpblRvdGFsID0gbWFyZ2luU3RhcnQgKyBtYXJnaW5FbmQ7CiAg
ICAgICAgIAogICAgICAgICAvLyBTdWJ0cmFjdCBvdXQgb3VyIG1hcmdpbnMgdG8gZ2V0IHRoZSBh
dmFpbGFibGUgY29udGVudCB3aWR0aC4KQEAgLTI2MSw4ICsyNjEsOCBAQCB2b2lkIFJlbmRlclRh
YmxlOjpjb21wdXRlTG9naWNhbFdpZHRoKCkKICAgICBpZiAoIWhhc1BlcnBlbmRpY3VsYXJDb250
YWluaW5nQmxvY2spCiAgICAgICAgIGNvbXB1dGVJbmxpbmVEaXJlY3Rpb25NYXJnaW5zKGNiLCBh
dmFpbGFibGVMb2dpY2FsV2lkdGgsIGxvZ2ljYWxXaWR0aCgpKTsKICAgICBlbHNlIHsKLSAgICAg
ICAgc2V0TWFyZ2luU3RhcnQobWltaW51bVZhbHVlRm9yTGVuZ3RoKHN0eWxlKCktPm1hcmdpblN0
YXJ0KCksIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCkpOwotICAgICAgICBzZXRNYXJnaW5FbmQobWlt
aW51bVZhbHVlRm9yTGVuZ3RoKHN0eWxlKCktPm1hcmdpbkVuZCgpLCBhdmFpbGFibGVMb2dpY2Fs
V2lkdGgpKTsKKyAgICAgICAgc2V0TWFyZ2luU3RhcnQobWluaW11bVZhbHVlRm9yTGVuZ3RoKHN0
eWxlKCktPm1hcmdpblN0YXJ0KCksIGF2YWlsYWJsZUxvZ2ljYWxXaWR0aCkpOworICAgICAgICBz
ZXRNYXJnaW5FbmQobWluaW11bVZhbHVlRm9yTGVuZ3RoKHN0eWxlKCktPm1hcmdpbkVuZCgpLCBh
dmFpbGFibGVMb2dpY2FsV2lkdGgpKTsKICAgICB9CiB9CiAKQEAgLTI3Niw3ICsyNzYsNyBAQCBM
YXlvdXRVbml0IFJlbmRlclRhYmxlOjpjb252ZXJ0U3R5bGVMb2dpY2FsV2lkdGhUb0NvbXB1dGVk
V2lkdGgoY29uc3QgTGVuZ3RoJiBzdAogICAgICAgICByZWNhbGNCb3JkZXJzSW5Sb3dEaXJlY3Rp
b24oKTsKICAgICAgICAgYm9yZGVycyA9IGJvcmRlclN0YXJ0KCkgKyBib3JkZXJFbmQoKSArIChj
b2xsYXBzZUJvcmRlcnMoKSA/IDAgOiBwYWRkaW5nU3RhcnQoKSArIHBhZGRpbmdFbmQoKSk7CiAg
ICAgfQotICAgIHJldHVybiBtaW1pbnVtVmFsdWVGb3JMZW5ndGgoc3R5bGVMb2dpY2FsV2lkdGgs
IGF2YWlsYWJsZVdpZHRoKSArIGJvcmRlcnM7CisgICAgcmV0dXJuIG1pbmltdW1WYWx1ZUZvckxl
bmd0aChzdHlsZUxvZ2ljYWxXaWR0aCwgYXZhaWxhYmxlV2lkdGgpICsgYm9yZGVyczsKIH0KIAog
dm9pZCBSZW5kZXJUYWJsZTo6bGF5b3V0Q2FwdGlvbihSZW5kZXJUYWJsZUNhcHRpb24qIGNhcHRp
b24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3Bw
CmluZGV4IGU4NWU4MGI1YTZhMmRkODFlMjY3MTJhNjFkYTVhOTM1NTc2YmZmMzEuLjI1NDFmYmVh
NWExNTNmMTFkOTNjYzA4MmY2YThiMDI5NjM4MzJmYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwCkBAIC0zMzgsNyArMzM4LDcgQEAgaW50
IFJlbmRlclRhYmxlU2VjdGlvbjo6Y2FsY1Jvd0xvZ2ljYWxIZWlnaHQoKQogICAgICAgICBMYXlv
dXRVbml0IGJhc2VsaW5lRGVzY2VudCA9IDA7CiAKICAgICAgICAgLy8gT3VyIGJhc2Ugc2l6ZSBp
cyB0aGUgYmlnZ2VzdCBsb2dpY2FsIGhlaWdodCBmcm9tIG91ciBjZWxscycgc3R5bGVzIChleGNs
dWRpbmcgcm93IHNwYW5uaW5nIGNlbGxzKS4KLSAgICAgICAgbV9yb3dQb3NbciArIDFdID0gbWF4
KG1fcm93UG9zW3JdICsgbWltaW51bVZhbHVlRm9yTGVuZ3RoKG1fZ3JpZFtyXS5sb2dpY2FsSGVp
Z2h0LCAwKSwgMCk7CisgICAgICAgIG1fcm93UG9zW3IgKyAxXSA9IG1heChtX3Jvd1Bvc1tyXSAr
IG1pbmltdW1WYWx1ZUZvckxlbmd0aChtX2dyaWRbcl0ubG9naWNhbEhlaWdodCwgMCksIDApOwog
CiAgICAgICAgIFJvdyYgcm93ID0gbV9ncmlkW3JdLnJvdzsKICAgICAgICAgdW5zaWduZWQgdG90
YWxDb2xzID0gcm93LnNpemUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5oCmlu
ZGV4IGU5ZjNjYzQxMDE1MmIzMzU0YzFjYThkNmRmOTA4N2Q5MTUzMjQ5NzUuLmM0NDRkY2U5MDFk
YjY4YTcwZGNhNGE4NWFhZWY1ZWFlN2ExOTQzNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRleHQuaApAQCAtOTcsOCArOTcsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBMYXlvdXRS
ZWN0IHNlbGVjdGlvblJlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50
Q29udGFpbmVyLCBib29sIGNsaXBUb1Zpc2libGVDb250ZW50ID0gdHJ1ZSk7CiAgICAgdmlydHVh
bCBMYXlvdXRSZWN0IGxvY2FsQ2FyZXRSZWN0KElubGluZUJveCosIGludCBjYXJldE9mZnNldCwg
TGF5b3V0VW5pdCogZXh0cmFXaWR0aFRvRW5kT2ZMaW5lID0gMCk7CiAKLSAgICB2aXJ0dWFsIExh
eW91dFVuaXQgbWFyZ2luTGVmdCgpIGNvbnN0IHsgcmV0dXJuIG1pbWludW1WYWx1ZUZvckxlbmd0
aChzdHlsZSgpLT5tYXJnaW5MZWZ0KCksIDApOyB9Ci0gICAgdmlydHVhbCBMYXlvdXRVbml0IG1h
cmdpblJpZ2h0KCkgY29uc3QgeyByZXR1cm4gbWltaW51bVZhbHVlRm9yTGVuZ3RoKHN0eWxlKCkt
Pm1hcmdpblJpZ2h0KCksIDApOyB9CisgICAgdmlydHVhbCBMYXlvdXRVbml0IG1hcmdpbkxlZnQo
KSBjb25zdCB7IHJldHVybiBtaW5pbXVtVmFsdWVGb3JMZW5ndGgoc3R5bGUoKS0+bWFyZ2luTGVm
dCgpLCAwKTsgfQorICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBtYXJnaW5SaWdodCgpIGNvbnN0IHsg
cmV0dXJuIG1pbmltdW1WYWx1ZUZvckxlbmd0aChzdHlsZSgpLT5tYXJnaW5SaWdodCgpLCAwKTsg
fQogCiAgICAgdmlydHVhbCBMYXlvdXRSZWN0IGNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50
KFJlbmRlckJveE1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyKSBjb25zdDsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCBjNTY4MzFiZmI2
YjhkYjQyMjc1ZTY0MDk5NmExOGMzM2ViMzY2MDQxLi5lOWFjY2U4YWEzYjUyZmEwNjFhZDEyNWEx
OTE1MjU1Y2FmOGM0MzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGUuaApAQCAtNjMxLDcgKzYzMSw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJldHVy
biBmb250TWV0cmljcygpLmxpbmVTcGFjaW5nKCk7CiAKICAgICAgICAgaWYgKGxoLmlzUGVyY2Vu
dCgpKQotICAgICAgICAgICAgcmV0dXJuIG1pbWludW1WYWx1ZUZvckxlbmd0aChsaCwgZm9udFNp
emUoKSk7CisgICAgICAgICAgICByZXR1cm4gbWluaW11bVZhbHVlRm9yTGVuZ3RoKGxoLCBmb250
U2l6ZSgpKTsKIAogICAgICAgICByZXR1cm4gbGgudmFsdWUoKTsKICAgICB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L3dpbi9XZWJQb3B1cE1l
bnVXaW4uY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC93aW4v
V2ViUG9wdXBNZW51V2luLmNwcAppbmRleCA1OTVhOWM0NWZkZWMxODljYWNlNGIzMjBiNTE4YWE5
Mzk2YjliODcyLi4yMWZhYmEzYmQ5NjRkNGZhNzU5Nzc1NzY4M2M2ZGI1ODg0YzE2ZGE0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L3dpbi9XZWJQ
b3B1cE1lbnVXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvd2luL1dlYlBvcHVwTWVudVdpbi5jcHAKQEAgLTEzNiw3ICsxMzYsNyBAQCB2b2lkIFdl
YlBvcHVwTWVudTo6c2V0VXBQbGF0Zm9ybURhdGEoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgcGFn
ZUNvb3JkaW5hdGVzLCBQbAogICAgICAgICBpZiAoaXRlbVN0eWxlLmlzVmlzaWJsZSgpKSB7CiAg
ICAgICAgICAgICBpbnQgdGV4dFggPSBzdGQ6Om1heCgwLCBkYXRhLm1fY2xpZW50UGFkZGluZ0xl
ZnQgLSBkYXRhLm1fY2xpZW50SW5zZXRMZWZ0KTsKICAgICAgICAgICAgIGlmIChSZW5kZXJUaGVt
ZTo6ZGVmYXVsdFRoZW1lKCktPnBvcHVwT3B0aW9uU3VwcG9ydHNUZXh0SW5kZW50KCkgJiYgaXRl
bVN0eWxlLnRleHREaXJlY3Rpb24oKSA9PSBMVFIpCi0gICAgICAgICAgICAgICAgdGV4dFggKz0g
bWltaW51bVZhbHVlRm9yTGVuZ3RoKGl0ZW1TdHlsZS50ZXh0SW5kZW50KCksIGl0ZW1SZWN0Lndp
ZHRoKCkpOworICAgICAgICAgICAgICAgIHRleHRYICs9IG1pbmltdW1WYWx1ZUZvckxlbmd0aChp
dGVtU3R5bGUudGV4dEluZGVudCgpLCBpdGVtUmVjdC53aWR0aCgpKTsKICAgICAgICAgICAgIGlu
dCB0ZXh0WSA9IGl0ZW1SZWN0LnkoKSArIGl0ZW1Gb250LmZvbnRNZXRyaWNzKCkuYXNjZW50KCkg
KyAoaXRlbVJlY3QuaGVpZ2h0KCkgLSBpdGVtRm9udC5mb250TWV0cmljcygpLmhlaWdodCgpKSAv
IDI7CiAKICAgICAgICAgICAgIG5vdFNlbGVjdGVkQmFja2luZ1N0b3JlQ29udGV4dC0+ZHJhd0Jp
ZGlUZXh0KGl0ZW1Gb250LCB0ZXh0UnVuLCBJbnRQb2ludCh0ZXh0WCwgdGV4dFkpKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>