<?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>118727</bug_id>
          
          <creation_ts>2013-07-16 04:04:17 -0700</creation_ts>
          <short_desc>Use toHTMLMediaElement</short_desc>
          <delta_ts>2013-07-17 00:10:57 -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="Kangil Han">kangil.han</reporter>
          <assigned_to name="Kangil Han">kangil.han</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>908798</commentid>
    <comment_count>0</comment_count>
    <who name="Kangil Han">kangil.han</who>
    <bug_when>2013-07-16 04:04:17 -0700</bug_when>
    <thetext>Use toHTMLMediaElement and remove isMediaElement</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908800</commentid>
    <comment_count>1</comment_count>
      <attachid>206755</attachid>
    <who name="Kangil Han">kangil.han</who>
    <bug_when>2013-07-16 04:07:13 -0700</bug_when>
    <thetext>Created attachment 206755
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908834</commentid>
    <comment_count>2</comment_count>
      <attachid>206755</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-07-16 05:22:15 -0700</bug_when>
    <thetext>Comment on attachment 206755
Patch

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

&gt; Source/WebCore/html/HTMLTrackElement.cpp:90
&gt; +    if (!parentNode() &amp;&amp; insertionPoint-&gt;isElementNode() &amp;&amp; toElement(insertionPoint)-&gt;isMediaElement())

I don&apos;t think removing isMediaElement is a good idea in this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908869</commentid>
    <comment_count>3</comment_count>
      <attachid>206776</attachid>
    <who name="Kangil Han">kangil.han</who>
    <bug_when>2013-07-16 06:45:35 -0700</bug_when>
    <thetext>Created attachment 206776
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908870</commentid>
    <comment_count>4</comment_count>
    <who name="Kangil Han">kangil.han</who>
    <bug_when>2013-07-16 06:46:18 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 206755 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=206755&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/HTMLTrackElement.cpp:90
&gt; &gt; +    if (!parentNode() &amp;&amp; insertionPoint-&gt;isElementNode() &amp;&amp; toElement(insertionPoint)-&gt;isMediaElement())
&gt; 
&gt; I don&apos;t think removing isMediaElement is a good idea in this case.

Done, thx! :)
Took Ryosuke&apos;s comment into consideration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909199</commentid>
    <comment_count>5</comment_count>
      <attachid>206776</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-17 00:10:55 -0700</bug_when>
    <thetext>Comment on attachment 206776
Patch

Clearing flags on attachment: 206776

Committed r152763: &lt;http://trac.webkit.org/changeset/152763&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909200</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-17 00:10:57 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206755</attachid>
            <date>2013-07-16 04:07:13 -0700</date>
            <delta_ts>2013-07-16 06:45:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118727-20130716200654.patch</filename>
            <type>text/plain</type>
            <size>26839</size>
            <attacher name="Kangil Han">kangil.han</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyNzEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWQ3ZGE2YjJmMjYzNzM3
OWE5ZTMwMTBmNjUzYzQ0ODkwMzM0YWFjNC4uNmI4MjQ4MDc0ZmM3YTIxOWUwNDg1NzhkZWYxODJj
OWQyMzRlOGNiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDEzLTA3LTE2ICBLYW5n
aWwgSGFuICA8a2FuZ2lsLmhhbkBzYW1zdW5nLmNvbT4KKworICAgICAgICBVc2UgdG9IVE1MTWVk
aWFFbGVtZW50IGFuZCByZW1vdmUgaXNNZWRpYUVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODcyNworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRvIGF2b2lkIGRpcmVjdCB1c2Ugb2Ygc3RhdGlj
X2Nhc3QsIHRoaXMgcGF0Y2ggdXNlcyB0b0hUTUxNZWRpYUVsZW1lbnQgZm9yIGNvZGUgY2xlYW51
cC4KKyAgICAgICAgQWRkaXRpb25hbGx5LCB0aGlzIHBhdGNoIHJlbW92ZXMgaXNNZWRpYUVsZW1l
bnQgYmVjYXVzZSBub3QgYWxsIGVsZW1lbnQgc3ViY2xhc3NlcyBjYW4gYmUgY2hlY2tlZCBieSBh
IGNvbWJpbmF0aW9uIG9mIHRhZyBuYW1lcy4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTSFRN
TE1lZGlhRWxlbWVudEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0hUTUxNZWRpYUVs
ZW1lbnQ6OnNldENvbnRyb2xsZXIpOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5o
OgorICAgICAgICAoV2ViQ29yZTo6dG9IVE1MTWVkaWFFbGVtZW50KToKKyAgICAgICAgKiBodG1s
L0hUTUxTb3VyY2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTb3VyY2VFbGVt
ZW50OjppbnNlcnRlZEludG8pOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNvdXJjZUVsZW1lbnQ6
OnJlbW92ZWRGcm9tKToKKyAgICAgICAgKiBodG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTFRyYWNrRWxlbWVudDo6cmVtb3ZlZEZyb20pOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTFRyYWNrRWxlbWVudDo6bWVkaWFFbGVtZW50KToKKyAgICAgICAgKiBodG1s
L3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50VHlwZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
dG9QYXJlbnRNZWRpYUVsZW1lbnQpOgorICAgICAgICAqIGxvYWRlci9TdWJmcmFtZUxvYWRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTdWJmcmFtZUxvYWRlcjo6bG9hZE1lZGlhUGxheWVyUHJv
eHlQbHVnaW4pOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lVmlldzo6dXBkYXRlV2lkZ2V0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvUmVu
ZGVyVGhlbWVFZmwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVFZmw6OnBhaW50
TWVkaWFGdWxsc2NyZWVuQnV0dG9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lRWZs
OjpwYWludE1lZGlhTXV0ZUJ1dHRvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUVm
bDo6cGFpbnRNZWRpYVRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy93aW5jZS9NZWRpYVBsYXllclByb3h5LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OldlYk1lZGlhUGxheWVyUHJveHk6OmluaXRFbmdpbmUpOgorICAgICAgICAoV2ViQ29yZTo6
V2ViTWVkaWFQbGF5ZXJQcm94eTo6ZWxlbWVudCk6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Jl
bmRlclRoZW1lR3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdldE1lZGlhRWxlbWVudEZyb21S
ZW5kZXJPYmplY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ6Om1lZGlhRWxlbWVudCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdyYXBoaWNzTGF5ZXJDb25maWd1cmF0aW9uKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNDb21wb3NpdGluZ0ZvclZpZGVvKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWVkaWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTWVkaWE6Om1lZGlhRWxlbWVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRo
ZW1lTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OnBhaW50TWVkaWFT
bGlkZXJUcmFjayk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luQ0UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6bWVkaWFFbGVtZW50UGFyZW50KToKKyAgICAgICAgKiB0ZXN0aW5n
L0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnNpbXVsYXRlQXVk
aW9JbnRlcnJ1cHRpb24pOgorCiAyMDEzLTA3LTE2ICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExl
YWwgIDx2amFxdWV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0gdmVyaWZ5IGFu
ZCBsb2cgdGhlIHJlY2VpdmVkIGNhcHMgaW4gdGhlIHZpZGVvIHNpbmsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVy
cnkvQ2hhbmdlTG9nCmluZGV4IDhhZTNiZTBlOTI2NTk2NDEyNGNkYzE2ZDYwMmEzNTU2NmIwODdi
ZjcuLjVhNGQ1ZDg2NzI0MmYyNGExODcxYzE2YzY3YmQxNTk4Njg3NjNiMWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9i
bGFja2JlcnJ5L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIxIEBACiAyMDEzLTA3LTE2ICBLYW5naWwg
SGFuICA8a2FuZ2lsLmhhbkBzYW1zdW5nLmNvbT4KIAorICAgICAgICBVc2UgdG9IVE1MTWVkaWFF
bGVtZW50IGFuZCByZW1vdmUgaXNNZWRpYUVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODcyNworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRvIGF2b2lkIGRpcmVjdCB1c2Ugb2Ygc3RhdGljX2Nh
c3QsIHRoaXMgcGF0Y2ggdXNlcyB0b0hUTUxNZWRpYUVsZW1lbnQgZm9yIGNvZGUgY2xlYW51cC4K
KyAgICAgICAgQWRkaXRpb25hbGx5LCB0aGlzIHBhdGNoIHJlbW92ZXMgaXNNZWRpYUVsZW1lbnQg
YmVjYXVzZSBub3QgYWxsIGVsZW1lbnQgc3ViY2xhc3NlcyBjYW4gYmUgY2hlY2tlZCBieSBhIGNv
bWJpbmF0aW9uIG9mIHRhZyBuYW1lcy4KKworICAgICAgICAqIEFwaS9XZWJQYWdlLmNwcDoKKyAg
ICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6V2ViUGFnZVByaXZhdGU6OndlYkNvbnRleHQpOgor
ICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlOjpub3RpZnlGdWxsU2NyZWVuVmlk
ZW9FeGl0ZWQpOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6
ZW50ZXJGdWxsc2NyZWVuRm9yTm9kZSk6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6Oldl
YlBhZ2VQcml2YXRlOjpleGl0RnVsbHNjcmVlbkZvck5vZGUpOgorCisyMDEzLTA3LTE2ICBLYW5n
aWwgSGFuICA8a2FuZ2lsLmhhbkBzYW1zdW5nLmNvbT4KKwogICAgICAgICBVc2UgdG9IVE1MU2Vs
ZWN0RWxlbWVudCBhbmQgZGlzbWlzcyBpc0hUTUxTZWxlY3RFbGVtZW50CiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTg3MTQKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9n
CmluZGV4IGNhNmE0NWYyYjdlM2M2N2VhNjBhNGM5NzVkOWMyMGEzNzQzZDUyZDMuLjMwYjA5YjZm
NzhkZDk2MDIzOTBkODZmYTVlZThhNjY4MzU0MGE5NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxMy0wNy0xNiAgS2FuZ2lsIEhhbiAgPGthbmdpbC5oYW5Ac2Ftc3VuZy5j
b20+CisKKyAgICAgICAgVXNlIHRvSFRNTE1lZGlhRWxlbWVudCBhbmQgcmVtb3ZlIGlzTWVkaWFF
bGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MTg3MjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
byBhdm9pZCBkaXJlY3QgdXNlIG9mIHN0YXRpY19jYXN0LCB0aGlzIHBhdGNoIHVzZXMgdG9IVE1M
TWVkaWFFbGVtZW50IGZvciBjb2RlIGNsZWFudXAuCisgICAgICAgIEFkZGl0aW9uYWxseSwgdGhp
cyBwYXRjaCByZW1vdmVzIGlzTWVkaWFFbGVtZW50IGJlY2F1c2Ugbm90IGFsbCBlbGVtZW50IHN1
YmNsYXNzZXMgY2FuIGJlIGNoZWNrZWQgYnkgYSBjb21iaW5hdGlvbiBvZiB0YWcgbmFtZXMuCisK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwOgorICAgICAgICAo
V2ViS2l0OjpDaHJvbWVDbGllbnQ6OmVudGVyRnVsbHNjcmVlbkZvck5vZGUpOgorICAgICAgICAo
V2ViS2l0OjpDaHJvbWVDbGllbnQ6OmV4aXRGdWxsc2NyZWVuRm9yTm9kZSk6CisgICAgICAgIChX
ZWJLaXQ6OkNocm9tZUNsaWVudDo6ZW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudCk6CisgICAgICAg
IChXZWJLaXQ6OkNocm9tZUNsaWVudDo6ZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KToKKwogMjAx
My0wNy0wOSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgVW5yZXZpZXdlZC4gVXBkYXRlIE5FV1MgYW5kIFZlcnNpb25zLm00IGZvciAyLjEuMyBy
ZWxlYXNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGViMDA4NDM1NjZhNzY1MWFmOGRhZjRjNTgyOWUy
ZGRkOGY4NDY2MWUuLjQ3NjYwNWJmYTU5ODY3MjFhMDcyYzA2NjljMzQxMzVmOTU4MmU0OWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMy0wNy0xNiAgS2FuZ2lsIEhhbiAg
PGthbmdpbC5oYW5Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgVXNlIHRvSFRNTE1lZGlhRWxlbWVu
dCBhbmQgcmVtb3ZlIGlzTWVkaWFFbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMTg3MjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUbyBhdm9pZCBkaXJlY3QgdXNlIG9mIHN0YXRpY19jYXN0LCB0
aGlzIHBhdGNoIHVzZXMgdG9IVE1MTWVkaWFFbGVtZW50IGZvciBjb2RlIGNsZWFudXAuCisgICAg
ICAgIEFkZGl0aW9uYWxseSwgdGhpcyBwYXRjaCByZW1vdmVzIGlzTWVkaWFFbGVtZW50IGJlY2F1
c2Ugbm90IGFsbCBlbGVtZW50IHN1YmNsYXNzZXMgY2FuIGJlIGNoZWNrZWQgYnkgYSBjb21iaW5h
dGlvbiBvZiB0YWcgbmFtZXMuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAg
ICAgICgtW1dlYlZpZXcgX2VudGVyRnVsbHNjcmVlbkZvck5vZGU6V2ViQ29yZTo6XSk6CisKIDIw
MTMtMDctMTUgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgVXBkYXRlIGJsb2NrZWQvbWlzc2luZyBwbHVnLWluIFVJCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXgg
NDk2MDYzNTQxNzkyMWY3NDBkNDA4ZThjNWYzYWFlOTUyZDNmOGM5MC4uMjk2OTU1ODBiY2U1NjFi
YmYwMGE1MTIxODk4OTJlZmNlNDU2MTAxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4v
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE4
IEBACiAyMDEzLTA3LTE2ICBLYW5naWwgSGFuICA8a2FuZ2lsLmhhbkBzYW1zdW5nLmNvbT4KIAor
ICAgICAgICBVc2UgdG9IVE1MTWVkaWFFbGVtZW50IGFuZCByZW1vdmUgaXNNZWRpYUVsZW1lbnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODcyNwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRvIGF2b2lk
IGRpcmVjdCB1c2Ugb2Ygc3RhdGljX2Nhc3QsIHRoaXMgcGF0Y2ggdXNlcyB0b0hUTUxNZWRpYUVs
ZW1lbnQgZm9yIGNvZGUgY2xlYW51cC4KKyAgICAgICAgQWRkaXRpb25hbGx5LCB0aGlzIHBhdGNo
IHJlbW92ZXMgaXNNZWRpYUVsZW1lbnQgYmVjYXVzZSBub3QgYWxsIGVsZW1lbnQgc3ViY2xhc3Nl
cyBjYW4gYmUgY2hlY2tlZCBieSBhIGNvbWJpbmF0aW9uIG9mIHRhZyBuYW1lcy4KKworICAgICAg
ICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6ZW50ZXJGdWxsc2NyZWVuRm9yTm9k
ZSk6CisKKzIwMTMtMDctMTYgIEthbmdpbCBIYW4gIDxrYW5naWwuaGFuQHNhbXN1bmcuY29tPgor
CiAgICAgICAgIFVzZSB0b0hUTUxTZWxlY3RFbGVtZW50IGFuZCBkaXNtaXNzIGlzSFRNTFNlbGVj
dEVsZW1lbnQKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTExODcxNAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxN
ZWRpYUVsZW1lbnRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1M
TWVkaWFFbGVtZW50Q3VzdG9tLmNwcAppbmRleCA0NDMwMDY1NjQ4NTgxZDQ2M2EzMGQ0OWI0MmRk
Nzg3OTY0MjI4NmY5Li5iY2UwNzk0YzAxMTRiNGIwNjI5ODc0YWNkOTZmMTA1NTc1N2I3ODU2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxNZWRpYUVsZW1lbnRD
dXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTE1lZGlhRWxl
bWVudEN1c3RvbS5jcHAKQEAgLTM2LDcgKzM2LDcgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAog
dm9pZCBKU0hUTUxNZWRpYUVsZW1lbnQ6OnNldENvbnRyb2xsZXIoRXhlY1N0YXRlKiwgSlNWYWx1
ZSB2YWx1ZSkKIHsKLSAgICBIVE1MTWVkaWFFbGVtZW50KiBpbXAgPSBzdGF0aWNfY2FzdDxIVE1M
TWVkaWFFbGVtZW50Kj4oaW1wbCgpKTsKKyAgICBIVE1MTWVkaWFFbGVtZW50KiBpbXAgPSB0b0hU
TUxNZWRpYUVsZW1lbnQoaW1wbCgpKTsKICAgICAvLyA0LjguMTAuMTEuMiBNZWRpYSBjb250cm9s
bGVyczogY29udHJvbGxlciBhdHRyaWJ1dGUuCiAgICAgLy8gT24gc2V0dGluZywgaXQgbXVzdCBm
aXJzdCByZW1vdmUgdGhlIGVsZW1lbnQncyBtZWRpYWdyb3VwIGF0dHJpYnV0ZSwgaWYgYW55LCAK
ICAgICBpbXAtPnNldE1lZGlhR3JvdXAoU3RyaW5nKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuaAppbmRleCA2ZmE3OGQ1ODUxOTU0NjIxODVhMTEyYjAwZmI3OTIzYWE1NWEz
NDI1Li4zZTJmNmE4YmRjZmM3ZTRiNWYwY2MzNTY4YzE0MjE3MDZhZWY0MjBjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAtNzk3LDE0ICs3OTcsOSBAQCBzdHJ1Y3Qg
VmFsdWVUb1N0cmluZzxUZXh0VHJhY2tDdWUqPiB7CiAjZW5kaWYKICNlbmRpZgogCi1pbmxpbmUg
Ym9vbCBpc01lZGlhRWxlbWVudChOb2RlKiBub2RlKQoraW5saW5lIEhUTUxNZWRpYUVsZW1lbnQq
IHRvSFRNTE1lZGlhRWxlbWVudChOb2RlKiBub2RlKQogewotICAgIHJldHVybiBub2RlICYmIG5v
ZGUtPmlzRWxlbWVudE5vZGUoKSAmJiB0b0VsZW1lbnQobm9kZSktPmlzTWVkaWFFbGVtZW50KCk7
Ci19Ci0KLWlubGluZSBIVE1MTWVkaWFFbGVtZW50KiB0b01lZGlhRWxlbWVudChOb2RlKiBub2Rl
KQotewotICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFub2RlIHx8IGlzTWVk
aWFFbGVtZW50KG5vZGUpKTsKKyAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTigh
bm9kZSB8fCAobm9kZS0+aXNFbGVtZW50Tm9kZSgpICYmIHRvRWxlbWVudChub2RlKS0+aXNNZWRp
YUVsZW1lbnQoKSkpOwogICAgIHJldHVybiBzdGF0aWNfY2FzdDxIVE1MTWVkaWFFbGVtZW50Kj4o
bm9kZSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHAKaW5k
ZXggNDEwYzc5NzA3NmQzYjczNGI4MTRlYzFmMjYxNGFlMWQ0OTRiZTU4YS4uMTE3NDQ5NGM2MDIz
ZGM4ZjI5ZmExN2M2YmI3MzA0MWIwZWQxNWQ5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
U291cmNlRWxlbWVudC5jcHAKQEAgLTU4LDcgKzU4LDcgQEAgTm9kZTo6SW5zZXJ0aW9uTm90aWZp
Y2F0aW9uUmVxdWVzdCBIVE1MU291cmNlRWxlbWVudDo6aW5zZXJ0ZWRJbnRvKENvbnRhaW5lck5v
ZGUKICAgICBIVE1MRWxlbWVudDo6aW5zZXJ0ZWRJbnRvKGluc2VydGlvblBvaW50KTsKICAgICBF
bGVtZW50KiBwYXJlbnQgPSBwYXJlbnRFbGVtZW50KCk7CiAgICAgaWYgKHBhcmVudCAmJiBwYXJl
bnQtPmlzTWVkaWFFbGVtZW50KCkpCi0gICAgICAgIHN0YXRpY19jYXN0PEhUTUxNZWRpYUVsZW1l
bnQqPihwYXJlbnROb2RlKCkpLT5zb3VyY2VXYXNBZGRlZCh0aGlzKTsKKyAgICAgICAgdG9IVE1M
TWVkaWFFbGVtZW50KHBhcmVudE5vZGUoKSktPnNvdXJjZVdhc0FkZGVkKHRoaXMpOwogICAgIHJl
dHVybiBJbnNlcnRpb25Eb25lOwogfQogCkBAIC02OCw3ICs2OCw3IEBAIHZvaWQgSFRNTFNvdXJj
ZUVsZW1lbnQ6OnJlbW92ZWRGcm9tKENvbnRhaW5lck5vZGUqIHJlbW92YWxSb290KQogICAgIGlm
ICghcGFyZW50ICYmIHJlbW92YWxSb290LT5pc0VsZW1lbnROb2RlKCkpCiAgICAgICAgIHBhcmVu
dCA9IHRvRWxlbWVudChyZW1vdmFsUm9vdCk7CiAgICAgaWYgKHBhcmVudCAmJiBwYXJlbnQtPmlz
TWVkaWFFbGVtZW50KCkpCi0gICAgICAgIHRvTWVkaWFFbGVtZW50KHBhcmVudCktPnNvdXJjZVdh
c1JlbW92ZWQodGhpcyk7CisgICAgICAgIHRvSFRNTE1lZGlhRWxlbWVudChwYXJlbnQpLT5zb3Vy
Y2VXYXNSZW1vdmVkKHRoaXMpOwogICAgIEhUTUxFbGVtZW50OjpyZW1vdmVkRnJvbShyZW1vdmFs
Um9vdCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwCmluZGV4
IDYyMzgzMjMyZDRhNzg1ZjQzZDU2OGMyODFlMzUyMTE0NDE4ODUxZWEuLjExODE3ZTY0M2YzOTk3
NDNlYTAyNDAwZDgyNjIxNWI4NzkxNzE5NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJh
Y2tFbGVtZW50LmNwcApAQCAtODcsOCArODcsOCBAQCBOb2RlOjpJbnNlcnRpb25Ob3RpZmljYXRp
b25SZXF1ZXN0IEhUTUxUcmFja0VsZW1lbnQ6Omluc2VydGVkSW50byhDb250YWluZXJOb2RlKgog
CiB2b2lkIEhUTUxUcmFja0VsZW1lbnQ6OnJlbW92ZWRGcm9tKENvbnRhaW5lck5vZGUqIGluc2Vy
dGlvblBvaW50KQogewotICAgIGlmICghcGFyZW50Tm9kZSgpICYmIFdlYkNvcmU6OmlzTWVkaWFF
bGVtZW50KGluc2VydGlvblBvaW50KSkKLSAgICAgICAgdG9NZWRpYUVsZW1lbnQoaW5zZXJ0aW9u
UG9pbnQpLT5kaWRSZW1vdmVUZXh0VHJhY2sodGhpcyk7CisgICAgaWYgKCFwYXJlbnROb2RlKCkg
JiYgaW5zZXJ0aW9uUG9pbnQtPmlzRWxlbWVudE5vZGUoKSAmJiB0b0VsZW1lbnQoaW5zZXJ0aW9u
UG9pbnQpLT5pc01lZGlhRWxlbWVudCgpKQorICAgICAgICB0b0hUTUxNZWRpYUVsZW1lbnQoaW5z
ZXJ0aW9uUG9pbnQpLT5kaWRSZW1vdmVUZXh0VHJhY2sodGhpcyk7CiAgICAgSFRNTEVsZW1lbnQ6
OnJlbW92ZWRGcm9tKGluc2VydGlvblBvaW50KTsKIH0KIApAQCAtMzU2LDcgKzM1Niw3IEBAIEhU
TUxNZWRpYUVsZW1lbnQqIEhUTUxUcmFja0VsZW1lbnQ6Om1lZGlhRWxlbWVudCgpIGNvbnN0CiB7
CiAgICAgRWxlbWVudCogcGFyZW50ID0gcGFyZW50RWxlbWVudCgpOwogICAgIGlmIChwYXJlbnQg
JiYgcGFyZW50LT5pc01lZGlhRWxlbWVudCgpKQotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
SFRNTE1lZGlhRWxlbWVudCo+KHBhcmVudE5vZGUoKSk7CisgICAgICAgIHJldHVybiB0b0hUTUxN
ZWRpYUVsZW1lbnQocGFyZW50Tm9kZSgpKTsKIAogICAgIHJldHVybiAwOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudFR5cGVzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRUeXBlcy5j
cHAKaW5kZXggZDExNGIyNTdiZmExYjZhZTdmNTY3NzM0YWNjMTM1YWQ1YjkwNTA5ZS4uNzI0OWVk
MzBmNjc2MDZlN2QxNzY0ZjU3YmRkMmVhMDA3MTQzMzY0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudFR5cGVzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50VHlwZXMuY3BwCkBAIC02
Miw3ICs2Miw3IEBAIEhUTUxNZWRpYUVsZW1lbnQqIHRvUGFyZW50TWVkaWFFbGVtZW50KE5vZGUq
IG5vZGUpCiAgICAgaWYgKCFtZWRpYU5vZGUgfHwgIW1lZGlhTm9kZS0+aXNFbGVtZW50Tm9kZSgp
IHx8ICF0b0VsZW1lbnQobWVkaWFOb2RlKS0+aXNNZWRpYUVsZW1lbnQoKSkKICAgICAgICAgcmV0
dXJuIDA7CiAKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTE1lZGlhRWxlbWVudCo+KG1lZGlh
Tm9kZSk7CisgICAgcmV0dXJuIHRvSFRNTE1lZGlhRWxlbWVudChtZWRpYU5vZGUpOwogfQogCiBN
ZWRpYUNvbnRyb2xFbGVtZW50VHlwZSBtZWRpYUNvbnRyb2xFbGVtZW50VHlwZShOb2RlKiBub2Rl
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5jcHAKaW5kZXggMjQyMGRlNmFm
YTlmMWM2YjUxNWQwZDIxOWQ2YzVjMDU1NjIwYmJjNy4uZjY4MmQzN2M1ZWRiY2IyOGQzZTM1MmUx
NmFlOTQ2M2M1OTBiZGY2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YmZy
YW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIu
Y3BwCkBAIC0yNjEsNyArMjYxLDcgQEAgUGFzc1JlZlB0cjxXaWRnZXQ+IFN1YmZyYW1lTG9hZGVy
Ojpsb2FkTWVkaWFQbGF5ZXJQcm94eVBsdWdpbihOb2RlKiBub2RlLCBjb25zdAogICAgIGlmICgh
bV9mcmFtZS0+ZG9jdW1lbnQoKS0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmFsbG93TWVkaWFG
cm9tU291cmNlKGNvbXBsZXRlZFVSTCkpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgSFRNTE1l
ZGlhRWxlbWVudCogbWVkaWFFbGVtZW50ID0gc3RhdGljX2Nhc3Q8SFRNTE1lZGlhRWxlbWVudCo+
KG5vZGUpOworICAgIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCA9IHRvSFRNTE1lZGlh
RWxlbWVudChub2RlKTsKICAgICBSZW5kZXJQYXJ0KiByZW5kZXJlciA9IHRvUmVuZGVyUGFydChu
b2RlLT5yZW5kZXJlcigpKTsKICAgICBJbnRTaXplIHNpemU7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmNwcAppbmRleCA2YzNmNzY5OGE2OWQ2YTk2ZjQ0YzUwZmRhZjU5MmMzMDcxZmFlYTEwLi43
MGIyOTMwOTE4OTdhNzcxODIxNjZhNjMwMDAzNjQxZjkzMGVjMTZkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuY3BwCkBAIC0yNjkwLDcgKzI2OTAsNyBAQCB2b2lkIEZyYW1lVmlldzo6dXBkYXRl
V2lkZ2V0KFJlbmRlck9iamVjdCogb2JqZWN0KQogICAgICAgICAvLyBGSVhNRTogSXQgaXMgbm90
IGNsZWFyIHRoYXQgTWVkaWEgZWxlbWVudHMgbmVlZCBvciB3YW50IHRoaXMgdXBkYXRlV2lkZ2V0
KCkgY2FsbC4KICNpZiBFTkFCTEUoUExVR0lOX1BST1hZX0ZPUl9WSURFTykKICAgICAgICAgZWxz
ZSBpZiAob3duZXJFbGVtZW50LT5pc01lZGlhRWxlbWVudCgpKQotICAgICAgICAgICAgc3RhdGlj
X2Nhc3Q8SFRNTE1lZGlhRWxlbWVudCo+KG93bmVyRWxlbWVudCktPnVwZGF0ZVdpZGdldChDcmVh
dGVBbnlXaWRnZXRUeXBlKTsKKyAgICAgICAgICAgIHRvSFRNTE1lZGlhRWxlbWVudChvd25lckVs
ZW1lbnQpLT51cGRhdGVXaWRnZXQoQ3JlYXRlQW55V2lkZ2V0VHlwZSk7CiAjZW5kaWYKICAgICAg
ICAgZWxzZQogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUmVuZGVyVGhlbWVFZmwuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZWZsL1JlbmRlclRoZW1lRWZsLmNwcAppbmRleCBiMjJiZjdjZjE5ZGYw
OTYzNWQwYmY1YjE1ZmFhZTQ5NDYzZjZlMTNhLi40NmQwMWIyOGYxOTUyMmNiOWQwNTZmMzZkMDU2
YjYyZGRmNmVjZDBmIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUmVu
ZGVyVGhlbWVFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9SZW5kZXJU
aGVtZUVmbC5jcHAKQEAgLTExMjksNyArMTEyOSw3IEBAIGJvb2wgUmVuZGVyVGhlbWVFZmw6OnBh
aW50TWVkaWFGdWxsc2NyZWVuQnV0dG9uKFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBQYWlu
CiAgICAgaWYgKCFtZWRpYU5vZGUgfHwgIW1lZGlhTm9kZS0+aXNFbGVtZW50Tm9kZSgpIHx8ICF0
b0VsZW1lbnQobWVkaWFOb2RlKS0+aXNNZWRpYUVsZW1lbnQoKSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCi0gICAgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50ID0gc3RhdGljX2Nhc3Q8
SFRNTE1lZGlhRWxlbWVudCo+KG1lZGlhTm9kZSk7CisgICAgSFRNTE1lZGlhRWxlbWVudCogbWVk
aWFFbGVtZW50ID0gdG9IVE1MTWVkaWFFbGVtZW50KG1lZGlhTm9kZSk7CiAgICAgaWYgKCFlbWl0
TWVkaWFCdXR0b25TaWduYWwoRnVsbFNjcmVlbkJ1dHRvbiwgbWVkaWFFbGVtZW50LT5pc0Z1bGxz
Y3JlZW4oKSA/IE1lZGlhRXhpdEZ1bGxzY3JlZW5CdXR0b24gOiBNZWRpYUVudGVyRnVsbHNjcmVl
bkJ1dHRvbiwgcmVjdCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIApAQCAtMTE0NCw3ICsxMTQ0
LDcgQEAgYm9vbCBSZW5kZXJUaGVtZUVmbDo6cGFpbnRNZWRpYU11dGVCdXR0b24oUmVuZGVyT2Jq
ZWN0KiBvYmplY3QsIGNvbnN0IFBhaW50SW5mbyYKICAgICBpZiAoIW1lZGlhTm9kZSB8fCAhbWVk
aWFOb2RlLT5pc0VsZW1lbnROb2RlKCkgfHwgIXRvRWxlbWVudChtZWRpYU5vZGUpLT5pc01lZGlh
RWxlbWVudCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBIVE1MTWVkaWFFbGVtZW50
KiBtZWRpYUVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MTWVkaWFFbGVtZW50Kj4obWVkaWFOb2Rl
KTsKKyAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQgPSB0b0hUTUxNZWRpYUVsZW1l
bnQobWVkaWFOb2RlKTsKIAogICAgIGlmICghZW1pdE1lZGlhQnV0dG9uU2lnbmFsKE11dGVVbk11
dGVCdXR0b24sIG1lZGlhRWxlbWVudC0+bXV0ZWQoKSA/IE1lZGlhTXV0ZUJ1dHRvbiA6IE1lZGlh
VW5NdXRlQnV0dG9uLCByZWN0KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTI4Niw3ICsx
Mjg2LDcgQEAgYm9vbCBSZW5kZXJUaGVtZUVmbDo6cGFpbnRNZWRpYVRvZ2dsZUNsb3NlZENhcHRp
b25zQnV0dG9uKFJlbmRlck9iamVjdCogb2JqZWN0LAogICAgIGlmICghbWVkaWFOb2RlIHx8ICgh
bWVkaWFOb2RlLT5oYXNUYWdOYW1lKHZpZGVvVGFnKSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAotICAgIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxN
ZWRpYUVsZW1lbnQqPihtZWRpYU5vZGUpOworICAgIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxl
bWVudCA9IHRvSFRNTE1lZGlhRWxlbWVudChtZWRpYU5vZGUpOwogICAgIGlmICghZW1pdE1lZGlh
QnV0dG9uU2lnbmFsKFRvZ2dsZUNhcHRpb25zQnV0dG9uLCBtZWRpYUVsZW1lbnQtPndlYmtpdENs
b3NlZENhcHRpb25zVmlzaWJsZSgpID8gTWVkaWFTaG93Q2xvc2VkQ2FwdGlvbnNCdXR0b24gOiBN
ZWRpYUhpZGVDbG9zZWRDYXB0aW9uc0J1dHRvbiwgcmVjdCkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2Uv
TWVkaWFQbGF5ZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW5jZS9NZWRpYVBsYXllclByb3h5LmNwcAppbmRleCA2NThkNjk4ZWVkYmFmNWFlZGNhMTU1NjVi
ZmU4OWUyZDhiMDhkN2Y3Li5kMDJlMmI1Y2RhZDRmZTQyMzc2MjUwOGZmYTZjOGM2Mjc0ODIxNjY5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9NZWRp
YVBsYXllclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW5jZS9NZWRpYVBsYXllclByb3h5LmNwcApAQCAtODksNyArODksNyBAQCB2b2lkIFdlYk1lZGlh
UGxheWVyUHJveHk6OmxvYWQoY29uc3QgU3RyaW5nJiB1cmwpCiAKIHZvaWQgV2ViTWVkaWFQbGF5
ZXJQcm94eTo6aW5pdEVuZ2luZSgpCiB7Ci0gICAgSFRNTE1lZGlhRWxlbWVudCogZWxlbWVudCA9
IHN0YXRpY19jYXN0PEhUTUxNZWRpYUVsZW1lbnQqPihtX21lZGlhUGxheWVyLT5tZWRpYVBsYXll
ckNsaWVudCgpKTsKKyAgICBIVE1MTWVkaWFFbGVtZW50KiBlbGVtZW50ID0gdG9IVE1MTWVkaWFF
bGVtZW50KG1fbWVkaWFQbGF5ZXItPm1lZGlhUGxheWVyQ2xpZW50KCkpOwogICAgIFN0cmluZyB1
cmwgPSBlbGVtZW50LT5pbml0aWFsVVJMKCk7CiAKICAgICBpZiAodXJsLmlzRW1wdHkoKSkKQEAg
LTExNiw3ICsxMTYsNyBAQCB2b2lkIFdlYk1lZGlhUGxheWVyUHJveHk6OmluaXRFbmdpbmUoKQog
CiBIVE1MTWVkaWFFbGVtZW50KiBXZWJNZWRpYVBsYXllclByb3h5OjplbGVtZW50KCkKIHsKLSAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTE1lZGlhRWxlbWVudCo+KG1fbWVkaWFQbGF5ZXItPm1l
ZGlhUGxheWVyQ2xpZW50KCkpOworICAgIHJldHVybiB0b0hUTUxNZWRpYUVsZW1lbnQobV9tZWRp
YVBsYXllci0+bWVkaWFQbGF5ZXJDbGllbnQoKSk7CiAKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5jcHAKaW5kZXggYWEyNzUxODVhN2FmY2Q1OGIx
YTE3ZWE1ODUzZTdkMDE5MmJjYjQxZC4uNjZhOGM2MjFjMjkxNGQ4ZGI5MDI2M2ZjMzVjNzQ2MjEx
YzhhMGM5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRo
ZW1lR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVH
dGsuY3BwCkBAIC03MSw3ICs3MSw3IEBAIHN0YXRpYyBIVE1MTWVkaWFFbGVtZW50KiBnZXRNZWRp
YUVsZW1lbnRGcm9tUmVuZGVyT2JqZWN0KFJlbmRlck9iamVjdCogbykKICAgICBpZiAoIW1lZGlh
Tm9kZSB8fCAhbWVkaWFOb2RlLT5pc0VsZW1lbnROb2RlKCkgfHwgIXRvRWxlbWVudChtZWRpYU5v
ZGUpLT5pc01lZGlhRWxlbWVudCgpKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIHJldHVybiBz
dGF0aWNfY2FzdDxIVE1MTWVkaWFFbGVtZW50Kj4obWVkaWFOb2RlKTsKKyAgICByZXR1cm4gdG9I
VE1MTWVkaWFFbGVtZW50KG1lZGlhTm9kZSk7CiB9CiAKIHZvaWQgUmVuZGVyVGhlbWVHdGs6Omlu
aXRNZWRpYUJ1dHRvbnMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hp
dFRlc3RSZXN1bHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQu
Y3BwCmluZGV4IDk4YzgxN2FkMjI1YmIwODFiNzI4MTFiYTNmMGU5NmJjOWQ4NDRjYzguLmUwZWNk
YmJhMDkwN2ViZDRhMDkxNTE2ODBiZDY1M2EwZDQwY2Y2NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKQEAgLTM4Miw3ICszODIsNyBAQCBIVE1MTWVkaWFF
bGVtZW50KiBIaXRUZXN0UmVzdWx0OjptZWRpYUVsZW1lbnQoKSBjb25zdAogICAgICAgICByZXR1
cm4gMDsKIAogICAgIGlmIChtX2lubmVyTm9uU2hhcmVkTm9kZS0+aGFzVGFnTmFtZShIVE1MTmFt
ZXM6OnZpZGVvVGFnKSB8fCBpc0hUTUxBdWRpb0VsZW1lbnQobV9pbm5lck5vblNoYXJlZE5vZGUu
Z2V0KCkpKQotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTE1lZGlhRWxlbWVudCo+KG1f
aW5uZXJOb25TaGFyZWROb2RlLmdldCgpKTsKKyAgICAgICAgcmV0dXJuIHRvSFRNTE1lZGlhRWxl
bWVudChtX2lubmVyTm9uU2hhcmVkTm9kZS5nZXQoKSk7CiAgICAgcmV0dXJuIDA7CiB9CiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tp
bmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAK
aW5kZXggNTU1NGVmMTJjYjNkNmZhODliNWE1MTFhYTVlYTYwN2MyNjY2ZTNhYi4uM2I4MmU2Y2Fi
ZTYwOWM1ZmMxNDMxM2NiNDJkMzNlMTU0Mzk4M2E5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTU3MCw3ICs1NzAsNyBAQCBib29s
IFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckNvbmZpZ3VyYXRpb24oKQog
ICAgIH0KICNpZiBFTkFCTEUoVklERU8pCiAgICAgZWxzZSBpZiAocmVuZGVyZXItPmlzVmlkZW8o
KSkgewotICAgICAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQgPSB0b01lZGlhRWxl
bWVudChyZW5kZXJlci0+bm9kZSgpKTsKKyAgICAgICAgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFF
bGVtZW50ID0gdG9IVE1MTWVkaWFFbGVtZW50KHJlbmRlcmVyLT5ub2RlKCkpOwogICAgICAgICBt
X2dyYXBoaWNzTGF5ZXItPnNldENvbnRlbnRzVG9NZWRpYShtZWRpYUVsZW1lbnQtPnBsYXRmb3Jt
TGF5ZXIoKSk7CiAgICAgfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IGVhMzViNDljZGI2ZmE5YmE5MGFlZjE2
ODc3NTIzMjcwNjU2YTMyODIuLjdhMTdkM2U1OWY4ZjllZjBhNWJjZTViMWM5NWZmMWZhNmYyN2Ji
NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBv
c2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBv
c2l0b3IuY3BwCkBAIC0yMDcwLDcgKzIwNzAsNyBAQCBib29sIFJlbmRlckxheWVyQ29tcG9zaXRv
cjo6cmVxdWlyZXNDb21wb3NpdGluZ0ZvclZpZGVvKFJlbmRlck9iamVjdCogcmVuZGVyZXIpCiAg
ICAgICAgIGlmICghbm9kZSB8fCAoIW5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp2aWRlb1Rh
ZykgJiYgIWlzSFRNTEF1ZGlvRWxlbWVudChub2RlKSkpCiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAKLSAgICAgICAgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50ID0gdG9NZWRpYUVs
ZW1lbnQobm9kZSk7CisgICAgICAgIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCA9IHRv
SFRNTE1lZGlhRWxlbWVudChub2RlKTsKICAgICAgICAgcmV0dXJuIG1lZGlhRWxlbWVudC0+cGxh
eWVyKCkgPyBtZWRpYUVsZW1lbnQtPnBsYXllcigpLT5zdXBwb3J0c0FjY2VsZXJhdGVkUmVuZGVy
aW5nKCkgOiBmYWxzZTsKICAgICB9CiAjZW5kaWYgLy8gRU5BQkxFKFBMVUdJTl9QUk9YWV9GT1Jf
VklERU8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWEu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhLmNwcAppbmRleCA0N2Y1
NWVjY2Y5MTU5ZTk0YjYyZmVjYzAyOWFlYjUwZWQ5ODU5NGMwLi5hZTQ4ODU2OWNmN2MwOTQxMmIw
ZGI0Nzc1Y2M4YWY2YTMwNjM3ZWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTWVkaWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJN
ZWRpYS5jcHAKQEAgLTU0LDcgKzU0LDcgQEAgUmVuZGVyTWVkaWE6On5SZW5kZXJNZWRpYSgpCiAK
IEhUTUxNZWRpYUVsZW1lbnQqIFJlbmRlck1lZGlhOjptZWRpYUVsZW1lbnQoKSBjb25zdAogeyAK
LSAgICByZXR1cm4gdG9NZWRpYUVsZW1lbnQobm9kZSgpKTsgCisgICAgcmV0dXJuIHRvSFRNTE1l
ZGlhRWxlbWVudChub2RlKCkpOyAKIH0KIAogdm9pZCBSZW5kZXJNZWRpYTo6bGF5b3V0KCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQppbmRleCBmMzNmZDJkOTBj
MmMxOGE0NzAxOWUzNTZjNWMwYzNiMGRmNzdiNDNlLi4zYThjMjg2OGZjODQ5NDM0OTUzNTM0ZDI5
YWZjNTkyNmM0NGQ2NjE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
TWFjLm1tCkBAIC0zNDMsNyArMzQzLDcgQEAgYm9vbCBSZW5kZXJUaGVtZU1hYzo6cGFpbnRNZWRp
YVNsaWRlclRyYWNrKFJlbmRlck9iamVjdCogbywgY29uc3QgUGFpbnRJbmZvJiBwYWkKICAgICBp
ZiAoIW1lZGlhTm9kZSB8fCAhbWVkaWFOb2RlLT5pc01lZGlhRWxlbWVudCgpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKLSAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQgPSBzdGF0
aWNfY2FzdDxIVE1MTWVkaWFFbGVtZW50Kj4obWVkaWFOb2RlKTsKKyAgICBIVE1MTWVkaWFFbGVt
ZW50KiBtZWRpYUVsZW1lbnQgPSB0b0hUTUxNZWRpYUVsZW1lbnQobWVkaWFOb2RlKTsKICAgICBp
ZiAoIW1lZGlhRWxlbWVudCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW5DRS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW5DRS5jcHAKaW5kZXggOWUyY2VlODVmZTNkY2U2
NTJkM2IyYzczMTVlZjY0YjlkZGRiNjY4ZC4uZjMyNzYwZGYxMjRkZjUyNGY0YzZkMjY1ZTFhOTVk
MzdiYjhlMGNlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lV2luQ0UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdp
bkNFLmNwcApAQCAtNDg1LDcgKzQ4NSw3IEBAIHN0YXRpYyBIVE1MTWVkaWFFbGVtZW50KiBtZWRp
YUVsZW1lbnRQYXJlbnQoTm9kZSogbm9kZSkKICAgICBpZiAoIW1lZGlhTm9kZSB8fCAhbWVkaWFO
b2RlLT5pc0VsZW1lbnROb2RlKCkgfHwgIXRvRWxlbWVudChtZWRpYU5vZGUpLT5pc01lZGlhRWxl
bWVudCgpKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIHJldHVybiBzdGF0aWNfY2FzdDxIVE1M
TWVkaWFFbGVtZW50Kj4obWVkaWFOb2RlKTsKKyAgICByZXR1cm4gdG9IVE1MTWVkaWFFbGVtZW50
KG1lZGlhTm9kZSk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
CmluZGV4IDE1NjQxOWRkY2YwNjNkZGI3ZDQ0MWU5MGQ2NjkxOWY3ZGQ0ZjI1MDYuLjgwODVlMDA1
MzExNGNiMjMyMTdmMzE5OWYxNDdjZmEyOWZhNmNhZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5jcHAKQEAgLTIwNDUsNyArMjA0NSw3IEBAIFN0cmluZyBJbnRlcm5hbHM6OmdldElt
YWdlU291cmNlVVJMKEVsZW1lbnQqIGVsZW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogdm9pZCBJ
bnRlcm5hbHM6OnNpbXVsYXRlQXVkaW9JbnRlcnJ1cHRpb24oTm9kZSogbm9kZSkKIHsKICNpZiBV
U0UoR1NUUkVBTUVSKQotICAgIEhUTUxNZWRpYUVsZW1lbnQqIGVsZW1lbnQgPSB0b01lZGlhRWxl
bWVudChub2RlKTsKKyAgICBIVE1MTWVkaWFFbGVtZW50KiBlbGVtZW50ID0gdG9IVE1MTWVkaWFF
bGVtZW50KG5vZGUpOwogICAgIGVsZW1lbnQtPnBsYXllcigpLT5zaW11bGF0ZUF1ZGlvSW50ZXJy
dXB0aW9uKCk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShub2RlKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQXBpL1dlYlBhZ2UuY3BwCmluZGV4IDU0NDU2YmU4MTE3NjRjMzM2NmIxYzY2YjQ2
MjMxYmJiN2RiZDMwNjguLjA4YWY1NWIxMWVlOTA4MjkzZTVjODRkNTZjMWRjMDE2ZDQ0MTg5MWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlLmNwcApAQCAtMjE2OCw3ICsy
MTY4LDcgQEAgUGxhdGZvcm06OldlYkNvbnRleHQgV2ViUGFnZVByaXZhdGU6OndlYkNvbnRleHQo
VGFyZ2V0RGV0ZWN0aW9uU3RyYXRlZ3kgc3RyYXRlZ3kKICAgICAgICAgICAgIGltYWdlRWxlbWVu
dCA9IHRvSFRNTEFyZWFFbGVtZW50KG5vZGUuZ2V0KCkpLT5pbWFnZUVsZW1lbnQoKTsKIAogICAg
ICAgICBpZiAoc3RhdGljX2Nhc3Q8SFRNTEVsZW1lbnQqPihub2RlLmdldCgpKS0+aXNNZWRpYUVs
ZW1lbnQoKSkKLSAgICAgICAgICAgIG1lZGlhRWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxNZWRp
YUVsZW1lbnQqPihub2RlLmdldCgpKTsKKyAgICAgICAgICAgIG1lZGlhRWxlbWVudCA9IHRvSFRN
TE1lZGlhRWxlbWVudChub2RlLmdldCgpKTsKIAogICAgICAgICBpZiAoaW1hZ2VFbGVtZW50ICYm
IGltYWdlRWxlbWVudC0+cmVuZGVyZXIoKSkgewogICAgICAgICAgICAgY29udGV4dC5zZXRGbGFn
KFBsYXRmb3JtOjpXZWJDb250ZXh0OjpJc0ltYWdlKTsKQEAgLTQ5ODYsNyArNDk4Niw3IEBAIHZv
aWQgV2ViUGFnZTo6bm90aWZ5RnVsbFNjcmVlblZpZGVvRXhpdGVkKGJvb2wgZG9uZSkKICAgICBp
ZiAoIWVsZW1lbnQpCiAgICAgICAgIHJldHVybjsKICAgICBpZiAoZC0+bV93ZWJTZXR0aW5ncy0+
ZnVsbFNjcmVlblZpZGVvQ2FwYWJsZSgpICYmIGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVz
Ojp2aWRlb1RhZykpCi0gICAgICAgIHN0YXRpY19jYXN0PEhUTUxNZWRpYUVsZW1lbnQqPihlbGVt
ZW50KS0+ZXhpdEZ1bGxzY3JlZW4oKTsKKyAgICAgICAgdG9IVE1MTWVkaWFFbGVtZW50KGVsZW1l
bnQpLT5leGl0RnVsbHNjcmVlbigpOwogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKICAgICBl
bHNlCiAgICAgICAgIGVsZW1lbnQtPmRvY3VtZW50KCktPndlYmtpdENhbmNlbEZ1bGxTY3JlZW4o
KTsKQEAgLTU2MTUsNyArNTYxNSw3IEBAIHZvaWQgV2ViUGFnZVByaXZhdGU6OmVudGVyRnVsbHNj
cmVlbkZvck5vZGUoTm9kZSogbm9kZSkKICAgICBpZiAoIW5vZGUgfHwgIW5vZGUtPmhhc1RhZ05h
bWUoSFRNTE5hbWVzOjp2aWRlb1RhZykpCiAgICAgICAgIHJldHVybjsKIAotICAgIE1lZGlhUGxh
eWVyKiBwbGF5ZXIgPSBzdGF0aWNfY2FzdDxIVE1MTWVkaWFFbGVtZW50Kj4obm9kZSktPnBsYXll
cigpOworICAgIE1lZGlhUGxheWVyKiBwbGF5ZXIgPSB0b0hUTUxNZWRpYUVsZW1lbnQobm9kZSkt
PnBsYXllcigpOwogICAgIGlmICghcGxheWVyKQogICAgICAgICByZXR1cm47CiAKQEAgLTU2NDgs
NyArNTY0OCw3IEBAIHZvaWQgV2ViUGFnZVByaXZhdGU6OmV4aXRGdWxsc2NyZWVuRm9yTm9kZShO
b2RlKiBub2RlKQogICAgIGlmICghbm9kZSB8fCAhbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6
OnZpZGVvVGFnKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgTWVkaWFQbGF5ZXIqIHBsYXllciA9
IHN0YXRpY19jYXN0PEhUTUxNZWRpYUVsZW1lbnQqPihub2RlKS0+cGxheWVyKCk7CisgICAgTWVk
aWFQbGF5ZXIqIHBsYXllciA9IHRvSFRNTE1lZGlhRWxlbWVudChub2RlKS0+cGxheWVyKCk7CiAg
ICAgaWYgKCFwbGF5ZXIpCiAgICAgICAgIHJldHVybjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcCBiL1NvdXJjZS9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKaW5kZXggODMzMjYzMzdj
ZWVlNGEwZjM0MWZkNTI3ZGM2MzQ3MjI5MWJmODcyOC4uOTBlNzYzNjNhZTA2NjBjNjU0ZGExZWYw
ODMyNDI0OWQxNDA1MGRjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCkBAIC05MzgsNyArOTM4LDcgQEAgdm9pZCBDaHJv
bWVDbGllbnQ6OmVudGVyRnVsbHNjcmVlbkZvck5vZGUoTm9kZSogbm9kZSkKIAogICAgIEhUTUxF
bGVtZW50KiBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8SFRNTEVsZW1lbnQqPihub2RlKTsKICAgICBp
ZiAoZWxlbWVudCAmJiBlbGVtZW50LT5pc01lZGlhRWxlbWVudCgpKSB7Ci0gICAgICAgIEhUTUxN
ZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxNZWRpYUVsZW1lbnQq
PihlbGVtZW50KTsKKyAgICAgICAgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50ID0gdG9I
VE1MTWVkaWFFbGVtZW50KGVsZW1lbnQpOwogICAgICAgICBpZiAobWVkaWFFbGVtZW50LT5wbGF5
ZXIoKSAmJiBtZWRpYUVsZW1lbnQtPnBsYXllcigpLT5jYW5FbnRlckZ1bGxzY3JlZW4oKSkKICAg
ICAgICAgICAgIG1lZGlhRWxlbWVudC0+cGxheWVyKCktPmVudGVyRnVsbHNjcmVlbigpOwogICAg
IH0KQEAgLTk1MSw3ICs5NTEsNyBAQCB2b2lkIENocm9tZUNsaWVudDo6ZXhpdEZ1bGxzY3JlZW5G
b3JOb2RlKE5vZGUqIG5vZGUpCiAKICAgICBIVE1MRWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19j
YXN0PEhUTUxFbGVtZW50Kj4obm9kZSk7CiAgICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC0+aXNN
ZWRpYUVsZW1lbnQoKSkgewotICAgICAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQg
PSBzdGF0aWNfY2FzdDxIVE1MTWVkaWFFbGVtZW50Kj4oZWxlbWVudCk7CisgICAgICAgIEhUTUxN
ZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCA9IHRvSFRNTE1lZGlhRWxlbWVudChlbGVtZW50KTsK
ICAgICAgICAgaWYgKG1lZGlhRWxlbWVudC0+cGxheWVyKCkpCiAgICAgICAgICAgICBtZWRpYUVs
ZW1lbnQtPnBsYXllcigpLT5leGl0RnVsbHNjcmVlbigpOwogICAgIH0KQEAgLTk5NSw3ICs5OTUs
NyBAQCB2b2lkIENocm9tZUNsaWVudDo6ZW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudChXZWJDb3Jl
OjpFbGVtZW50KiBlbGVtZW50KQogCiAjaWYgRU5BQkxFKFZJREVPKSAmJiBVU0UoTkFUSVZFX0ZV
TExTQ1JFRU5fVklERU8pCiAgICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC0+aXNNZWRpYUVsZW1l
bnQoKSkgewotICAgICAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQgPSBzdGF0aWNf
Y2FzdDxIVE1MTWVkaWFFbGVtZW50Kj4oZWxlbWVudCk7CisgICAgICAgIEhUTUxNZWRpYUVsZW1l
bnQqIG1lZGlhRWxlbWVudCA9IHRvSFRNTE1lZGlhRWxlbWVudChlbGVtZW50KTsKICAgICAgICAg
aWYgKG1lZGlhRWxlbWVudC0+cGxheWVyKCkgJiYgbWVkaWFFbGVtZW50LT5wbGF5ZXIoKS0+Y2Fu
RW50ZXJGdWxsc2NyZWVuKCkpIHsKICAgICAgICAgICAgIGVsZW1lbnQtPmRvY3VtZW50KCktPndl
YmtpdFdpbGxFbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KGVsZW1lbnQpOwogICAgICAgICAgICAg
bWVkaWFFbGVtZW50LT5wbGF5ZXIoKS0+ZW50ZXJGdWxsc2NyZWVuKCk7CkBAIC0xMDM2LDcgKzEw
MzYsNyBAQCB2b2lkIENocm9tZUNsaWVudDo6ZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KFdlYkNv
cmU6OkVsZW1lbnQqKQogI2lmIEVOQUJMRShWSURFTykgJiYgVVNFKE5BVElWRV9GVUxMU0NSRUVO
X1ZJREVPKQogICAgIGlmIChtX2Z1bGxTY3JlZW5FbGVtZW50ICYmIG1fZnVsbFNjcmVlbkVsZW1l
bnQtPmlzTWVkaWFFbGVtZW50KCkpIHsKICAgICAgICAgbV9mdWxsU2NyZWVuRWxlbWVudC0+ZG9j
dW1lbnQoKS0+d2Via2l0V2lsbEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChtX2Z1bGxTY3JlZW5F
bGVtZW50LmdldCgpKTsKLSAgICAgICAgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50ID0g
c3RhdGljX2Nhc3Q8SFRNTE1lZGlhRWxlbWVudCo+KG1fZnVsbFNjcmVlbkVsZW1lbnQuZ2V0KCkp
OworICAgICAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQgPSB0b0hUTUxNZWRpYUVs
ZW1lbnQobV9mdWxsU2NyZWVuRWxlbWVudC5nZXQoKSk7CiAgICAgICAgIGlmIChtZWRpYUVsZW1l
bnQtPnBsYXllcigpKSB7CiAgICAgICAgICAgICBtZWRpYUVsZW1lbnQtPnBsYXllcigpLT5leGl0
RnVsbHNjcmVlbigpOwogICAgICAgICAgICAgbV9mdWxsU2NyZWVuRWxlbWVudC0+ZG9jdW1lbnQo
KS0+d2Via2l0RGlkRXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KG1fZnVsbFNjcmVlbkVsZW1lbnQu
Z2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1t
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IDNlNjJhZGIxMjdl
MjYyMTNjMTY4ZjRjOGI4ODk4N2YyM2JhOWQ2MWUuLjg2ZTA3YzhhNDYzZjkxMGUxYmYyYzVjZmIw
M2Y3Zjg4MGQ0ZTVhOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
Vmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTY1
MDQsNyArNjUwNCw3IEBAIGJvb2wgTGF5ZXJGbHVzaENvbnRyb2xsZXI6OmZsdXNoTGF5ZXJzKCkK
IC0gKHZvaWQpX2VudGVyRnVsbHNjcmVlbkZvck5vZGU6KFdlYkNvcmU6Ok5vZGUqKW5vZGUKIHsK
ICAgICBBU1NFUlQobm9kZS0+aGFzVGFnTmFtZShXZWJDb3JlOjpIVE1MTmFtZXM6OnZpZGVvVGFn
KSk7Ci0gICAgSFRNTE1lZGlhRWxlbWVudCogdmlkZW9FbGVtZW50ID0gdG9NZWRpYUVsZW1lbnQo
bm9kZSk7CisgICAgSFRNTE1lZGlhRWxlbWVudCogdmlkZW9FbGVtZW50ID0gdG9IVE1MTWVkaWFF
bGVtZW50KG5vZGUpOwogCiAgICAgaWYgKF9wcml2YXRlLT5mdWxsc2NyZWVuQ29udHJvbGxlcikg
ewogICAgICAgICBpZiAoW19wcml2YXRlLT5mdWxsc2NyZWVuQ29udHJvbGxlciBtZWRpYUVsZW1l
bnRdID09IHZpZGVvRWxlbWVudCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2Vi
Vmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAppbmRleCBhYTI0ZmNkOTI5
ZTdiYzhkNDA2NmRjYjczMGI1OTA0ZWY0OTQzY2Q4Li40ZmY3ZGRjZGJkZTcyY2UwYTliMDVkMTE5
Zjk1MDIzNjY1YWQ3YmUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcApAQCAtNjI0Myw3ICs2MjQzLDcg
QEAgdm9pZCBXZWJWaWV3OjplbnRlckZ1bGxzY3JlZW5Gb3JOb2RlKE5vZGUqIG5vZGUpCiAjaWYg
RU5BQkxFKFZJREVPKQogICAgIGlmICghdG9FbGVtZW50KG5vZGUpLT5pc01lZGlhRWxlbWVudCgp
KQogICAgICAgICByZXR1cm47Ci0gICAgSFRNTE1lZGlhRWxlbWVudCogdmlkZW9FbGVtZW50ID0g
c3RhdGljX2Nhc3Q8SFRNTE1lZGlhRWxlbWVudCo+KG5vZGUpOworICAgIEhUTUxNZWRpYUVsZW1l
bnQqIHZpZGVvRWxlbWVudCA9IHRvSFRNTE1lZGlhRWxlbWVudChub2RlKTsKIAogICAgIGlmICht
X2Z1bGxTY3JlZW5WaWRlb0NvbnRyb2xsZXIpIHsKICAgICAgICAgaWYgKG1fZnVsbFNjcmVlblZp
ZGVvQ29udHJvbGxlci0+bWVkaWFFbGVtZW50KCkgPT0gdmlkZW9FbGVtZW50KSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206776</attachid>
            <date>2013-07-16 06:45:35 -0700</date>
            <delta_ts>2013-07-17 00:10:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118727-20130716224522.patch</filename>
            <type>text/plain</type>
            <size>25735</size>
            <attacher name="Kangil Han">kangil.han</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyNzEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWQ3ZGE2YjJmMjYzNzM3
OWE5ZTMwMTBmNjUzYzQ0ODkwMzM0YWFjNC4uNzcyOTFmN2ZhMmVlZTJlYmVmMmYwOGIzYzJmN2Q3
MGFkZjhmZWY1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEzLTA3LTE2ICBLYW5n
aWwgSGFuICA8a2FuZ2lsLmhhbkBzYW1zdW5nLmNvbT4KKworICAgICAgICBVc2UgdG9IVE1MTWVk
aWFFbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMTg3MjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUbyBhdm9pZCBkaXJlY3QgdXNlIG9mIHN0YXRpY19jYXN0LCB0aGlzIHBhdGNoIHVzZXMgdG9I
VE1MTWVkaWFFbGVtZW50IGZvciBjb2RlIGNsZWFudXAuCisKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9KU0hUTUxNZWRpYUVsZW1lbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNIVE1M
TWVkaWFFbGVtZW50OjpzZXRDb250cm9sbGVyKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSFRNTE1lZGlhRWxlbWVudCk6CisgICAgICAg
ICogaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU291
cmNlRWxlbWVudDo6aW5zZXJ0ZWRJbnRvKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTb3VyY2VF
bGVtZW50OjpyZW1vdmVkRnJvbSk6CisgICAgICAgICogaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmFja0VsZW1lbnQ6OnJlbW92ZWRGcm9tKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxUcmFja0VsZW1lbnQ6Om1lZGlhRWxlbWVudCk6CisgICAgICAg
ICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudFR5cGVzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnRvUGFyZW50TWVkaWFFbGVtZW50KToKKyAgICAgICAgKiBsb2FkZXIvU3ViZnJhbWVM
b2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3ViZnJhbWVMb2FkZXI6OmxvYWRNZWRpYVBs
YXllclByb3h5UGx1Z2luKToKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVZpZXc6OnVwZGF0ZVdpZGdldCk6CisgICAgICAgICogcGxhdGZvcm0v
ZWZsL1JlbmRlclRoZW1lRWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lRWZs
OjpwYWludE1lZGlhRnVsbHNjcmVlbkJ1dHRvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
aGVtZUVmbDo6cGFpbnRNZWRpYU11dGVCdXR0b24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGhlbWVFZmw6OnBhaW50TWVkaWFUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbik6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvTWVkaWFQbGF5ZXJQcm94eS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpXZWJNZWRpYVBsYXllclByb3h5Ojppbml0RW5naW5lKToKKyAgICAgICAgKFdl
YkNvcmU6OldlYk1lZGlhUGxheWVyUHJveHk6OmVsZW1lbnQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2d0ay9SZW5kZXJUaGVtZUd0ay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpnZXRNZWRpYUVsZW1l
bnRGcm9tUmVuZGVyT2JqZWN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIaXRUZXN0UmVzdWx0OjptZWRpYUVsZW1lbnQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyQ29uZmlndXJhdGlvbik6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVpcmVzQ29tcG9zaXRpbmdGb3JW
aWRlbyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1lZGlhLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlck1lZGlhOjptZWRpYUVsZW1lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUaGVtZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjpwYWlu
dE1lZGlhU2xpZGVyVHJhY2spOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZVdpbkNF
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1lZGlhRWxlbWVudFBhcmVudCk6CisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzaW11
bGF0ZUF1ZGlvSW50ZXJydXB0aW9uKToKKwogMjAxMy0wNy0xNiAgVsOtY3RvciBNYW51ZWwgSsOh
cXVleiBMZWFsICA8dmphcXVlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHU3RyZWFtZXJdIHZl
cmlmeSBhbmQgbG9nIHRoZSByZWNlaXZlZCBjYXBzIGluIHRoZSB2aWRlbyBzaW5rCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9i
bGFja2JlcnJ5L0NoYW5nZUxvZwppbmRleCA4YWUzYmUwZTkyNjU5NjQxMjRjZGMxNmQ2MDJhMzU1
NjZiMDg3YmY3Li4yNzk4OTRhODAwNjY5ZTEzODYzZDQ1ZjlmOWY1NWZhNjFjOTkwOTcyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyMCBAQAogMjAxMy0wNy0xNiAg
S2FuZ2lsIEhhbiAgPGthbmdpbC5oYW5Ac2Ftc3VuZy5jb20+CiAKKyAgICAgICAgVXNlIHRvSFRN
TE1lZGlhRWxlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTE4NzI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVG8gYXZvaWQgZGlyZWN0IHVzZSBvZiBzdGF0aWNfY2FzdCwgdGhpcyBwYXRjaCB1c2Vz
IHRvSFRNTE1lZGlhRWxlbWVudCBmb3IgY29kZSBjbGVhbnVwLgorCisgICAgICAgICogQXBpL1dl
YlBhZ2UuY3BwOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6
d2ViQ29udGV4dCk6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2U6Om5vdGlm
eUZ1bGxTY3JlZW5WaWRlb0V4aXRlZCk6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6Oldl
YlBhZ2VQcml2YXRlOjplbnRlckZ1bGxzY3JlZW5Gb3JOb2RlKToKKyAgICAgICAgKEJsYWNrQmVy
cnk6OldlYktpdDo6V2ViUGFnZVByaXZhdGU6OmV4aXRGdWxsc2NyZWVuRm9yTm9kZSk6CisKKzIw
MTMtMDctMTYgIEthbmdpbCBIYW4gIDxrYW5naWwuaGFuQHNhbXN1bmcuY29tPgorCiAgICAgICAg
IFVzZSB0b0hUTUxTZWxlY3RFbGVtZW50IGFuZCBkaXNtaXNzIGlzSFRNTFNlbGVjdEVsZW1lbnQK
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODcxNAog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L2d0ay9DaGFuZ2VMb2cKaW5kZXggY2E2YTQ1ZjJiN2UzYzY3ZWE2MGE0Yzk3NWQ5YzIwYTM3NDNk
NTJkMy4uNjRlNjhjMTMwNTE2YjRkMjZhOTU3MTYzNTM2MDllZmIxOTUzNDcyYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEzLTA3LTE2ICBLYW5naWwgSGFuICA8a2FuZ2ls
LmhhbkBzYW1zdW5nLmNvbT4KKworICAgICAgICBVc2UgdG9IVE1MTWVkaWFFbGVtZW50CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTg3MjcKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUbyBhdm9pZCBkaXJl
Y3QgdXNlIG9mIHN0YXRpY19jYXN0LCB0aGlzIHBhdGNoIHVzZXMgdG9IVE1MTWVkaWFFbGVtZW50
IGZvciBjb2RlIGNsZWFudXAuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRHdGsuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaHJvbWVDbGllbnQ6OmVudGVyRnVsbHNjcmVl
bkZvck5vZGUpOgorICAgICAgICAoV2ViS2l0OjpDaHJvbWVDbGllbnQ6OmV4aXRGdWxsc2NyZWVu
Rm9yTm9kZSk6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudDo6ZW50ZXJGdWxsU2NyZWVu
Rm9yRWxlbWVudCk6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudDo6ZXhpdEZ1bGxTY3Jl
ZW5Gb3JFbGVtZW50KToKKwogMjAxMy0wNy0wOSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2Fy
Y2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gVXBkYXRlIE5FV1MgYW5kIFZl
cnNpb25zLm00IGZvciAyLjEuMyByZWxlYXNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGViMDA4NDM1
NjZhNzY1MWFmOGRhZjRjNTgyOWUyZGRkOGY4NDY2MWUuLjNiYTBmMTE1ZTUzZmNhODNiOGM2NTZm
YTVjOTk2MjNmNzVmYzIwMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAx
My0wNy0xNiAgS2FuZ2lsIEhhbiAgPGthbmdpbC5oYW5Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAg
VXNlIHRvSFRNTE1lZGlhRWxlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTE4NzI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVG8gYXZvaWQgZGlyZWN0IHVzZSBvZiBzdGF0aWNfY2FzdCwgdGhpcyBw
YXRjaCB1c2VzIHRvSFRNTE1lZGlhRWxlbWVudCBmb3IgY29kZSBjbGVhbnVwLgorCisgICAgICAg
ICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9lbnRlckZ1bGxzY3Jl
ZW5Gb3JOb2RlOldlYkNvcmU6Ol0pOgorCiAyMDEzLTA3LTE1ICBUaW0gSG9ydG9uICA8dGltb3Ro
eV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBibG9ja2VkL21pc3NpbmcgcGx1
Zy1pbiBVSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDQ5NjA2MzU0MTc5MjFmNzQwZDQwOGU4YzVmM2Fh
ZTk1MmQzZjhjOTAuLmNjNDI5NTM0ZWY2MWE1N2MwNWFlN2ExYWI4ZWE0MzRmZWE0ZWFlMGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L3dpbi9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNyBAQAogMjAxMy0wNy0xNiAgS2FuZ2lsIEhhbiAg
PGthbmdpbC5oYW5Ac2Ftc3VuZy5jb20+CiAKKyAgICAgICAgVXNlIHRvSFRNTE1lZGlhRWxlbWVu
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NzI3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVG8gYXZv
aWQgZGlyZWN0IHVzZSBvZiBzdGF0aWNfY2FzdCwgdGhpcyBwYXRjaCB1c2VzIHRvSFRNTE1lZGlh
RWxlbWVudCBmb3IgY29kZSBjbGVhbnVwLgorCisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAg
ICAgIChXZWJWaWV3OjplbnRlckZ1bGxzY3JlZW5Gb3JOb2RlKToKKworMjAxMy0wNy0xNiAgS2Fu
Z2lsIEhhbiAgPGthbmdpbC5oYW5Ac2Ftc3VuZy5jb20+CisKICAgICAgICAgVXNlIHRvSFRNTFNl
bGVjdEVsZW1lbnQgYW5kIGRpc21pc3MgaXNIVE1MU2VsZWN0RWxlbWVudAogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NzE0CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTE1lZGlhRWxlbWVudEN1c3RvbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxNZWRpYUVsZW1lbnRDdXN0b20uY3Bw
CmluZGV4IDQ0MzAwNjU2NDg1ODFkNDYzYTMwZDQ5YjQyZGQ3ODc5NjQyMjg2ZjkuLmJjZTA3OTRj
MDExNGI0YjA2Mjk4NzRhY2Q5NmYxMDU1NzU3Yjc4NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTSFRNTE1lZGlhRWxlbWVudEN1c3RvbS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MTWVkaWFFbGVtZW50Q3VzdG9tLmNwcApAQCAtMzYs
NyArMzYsNyBAQCB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiB2b2lkIEpTSFRNTE1lZGlhRWxlbWVu
dDo6c2V0Q29udHJvbGxlcihFeGVjU3RhdGUqLCBKU1ZhbHVlIHZhbHVlKQogewotICAgIEhUTUxN
ZWRpYUVsZW1lbnQqIGltcCA9IHN0YXRpY19jYXN0PEhUTUxNZWRpYUVsZW1lbnQqPihpbXBsKCkp
OworICAgIEhUTUxNZWRpYUVsZW1lbnQqIGltcCA9IHRvSFRNTE1lZGlhRWxlbWVudChpbXBsKCkp
OwogICAgIC8vIDQuOC4xMC4xMS4yIE1lZGlhIGNvbnRyb2xsZXJzOiBjb250cm9sbGVyIGF0dHJp
YnV0ZS4KICAgICAvLyBPbiBzZXR0aW5nLCBpdCBtdXN0IGZpcnN0IHJlbW92ZSB0aGUgZWxlbWVu
dCdzIG1lZGlhZ3JvdXAgYXR0cmlidXRlLCBpZiBhbnksIAogICAgIGltcC0+c2V0TWVkaWFHcm91
cChTdHJpbmcoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IDZm
YTc4ZDU4NTE5NTQ2MjE4NWExMTJiMDBmYjc5MjNhYTU1YTM0MjUuLjY2YmQ2MzhiNWQ4Y2EzZmVl
NTEzMGUzNmZhZDgyYjI3M2E4MmEzYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5oCkBAIC04MDIsNyArODAyLDcgQEAgaW5saW5lIGJvb2wgaXNNZWRpYUVsZW1lbnQoTm9k
ZSogbm9kZSkKICAgICByZXR1cm4gbm9kZSAmJiBub2RlLT5pc0VsZW1lbnROb2RlKCkgJiYgdG9F
bGVtZW50KG5vZGUpLT5pc01lZGlhRWxlbWVudCgpOwogfQogCi1pbmxpbmUgSFRNTE1lZGlhRWxl
bWVudCogdG9NZWRpYUVsZW1lbnQoTm9kZSogbm9kZSkKK2lubGluZSBIVE1MTWVkaWFFbGVtZW50
KiB0b0hUTUxNZWRpYUVsZW1lbnQoTm9kZSogbm9kZSkKIHsKICAgICBBU1NFUlRfV0lUSF9TRUNV
UklUWV9JTVBMSUNBVElPTighbm9kZSB8fCBpc01lZGlhRWxlbWVudChub2RlKSk7CiAgICAgcmV0
dXJuIHN0YXRpY19jYXN0PEhUTUxNZWRpYUVsZW1lbnQqPihub2RlKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHAKaW5kZXggNDEwYzc5NzA3NmQzYjczNGI4MTRlYzFm
MjYxNGFlMWQ0OTRiZTU4YS4uMTE3NDQ5NGM2MDIzZGM4ZjI5ZmExN2M2YmI3MzA0MWIwZWQxNWQ5
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHAKQEAgLTU4LDcg
KzU4LDcgQEAgTm9kZTo6SW5zZXJ0aW9uTm90aWZpY2F0aW9uUmVxdWVzdCBIVE1MU291cmNlRWxl
bWVudDo6aW5zZXJ0ZWRJbnRvKENvbnRhaW5lck5vZGUKICAgICBIVE1MRWxlbWVudDo6aW5zZXJ0
ZWRJbnRvKGluc2VydGlvblBvaW50KTsKICAgICBFbGVtZW50KiBwYXJlbnQgPSBwYXJlbnRFbGVt
ZW50KCk7CiAgICAgaWYgKHBhcmVudCAmJiBwYXJlbnQtPmlzTWVkaWFFbGVtZW50KCkpCi0gICAg
ICAgIHN0YXRpY19jYXN0PEhUTUxNZWRpYUVsZW1lbnQqPihwYXJlbnROb2RlKCkpLT5zb3VyY2VX
YXNBZGRlZCh0aGlzKTsKKyAgICAgICAgdG9IVE1MTWVkaWFFbGVtZW50KHBhcmVudE5vZGUoKSkt
PnNvdXJjZVdhc0FkZGVkKHRoaXMpOwogICAgIHJldHVybiBJbnNlcnRpb25Eb25lOwogfQogCkBA
IC02OCw3ICs2OCw3IEBAIHZvaWQgSFRNTFNvdXJjZUVsZW1lbnQ6OnJlbW92ZWRGcm9tKENvbnRh
aW5lck5vZGUqIHJlbW92YWxSb290KQogICAgIGlmICghcGFyZW50ICYmIHJlbW92YWxSb290LT5p
c0VsZW1lbnROb2RlKCkpCiAgICAgICAgIHBhcmVudCA9IHRvRWxlbWVudChyZW1vdmFsUm9vdCk7
CiAgICAgaWYgKHBhcmVudCAmJiBwYXJlbnQtPmlzTWVkaWFFbGVtZW50KCkpCi0gICAgICAgIHRv
TWVkaWFFbGVtZW50KHBhcmVudCktPnNvdXJjZVdhc1JlbW92ZWQodGhpcyk7CisgICAgICAgIHRv
SFRNTE1lZGlhRWxlbWVudChwYXJlbnQpLT5zb3VyY2VXYXNSZW1vdmVkKHRoaXMpOwogICAgIEhU
TUxFbGVtZW50OjpyZW1vdmVkRnJvbShyZW1vdmFsUm9vdCk7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwCmluZGV4IDYyMzgzMjMyZDRhNzg1ZjQzZDU2OGMyODFl
MzUyMTE0NDE4ODUxZWEuLmExZmQ1ZjM1NDkyNjU0MjA1NzI0N2I1NmE2NGU2ODhjM2JkMjg5YWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcApAQCAtODgsNyArODgs
NyBAQCBOb2RlOjpJbnNlcnRpb25Ob3RpZmljYXRpb25SZXF1ZXN0IEhUTUxUcmFja0VsZW1lbnQ6
Omluc2VydGVkSW50byhDb250YWluZXJOb2RlKgogdm9pZCBIVE1MVHJhY2tFbGVtZW50OjpyZW1v
dmVkRnJvbShDb250YWluZXJOb2RlKiBpbnNlcnRpb25Qb2ludCkKIHsKICAgICBpZiAoIXBhcmVu
dE5vZGUoKSAmJiBXZWJDb3JlOjppc01lZGlhRWxlbWVudChpbnNlcnRpb25Qb2ludCkpCi0gICAg
ICAgIHRvTWVkaWFFbGVtZW50KGluc2VydGlvblBvaW50KS0+ZGlkUmVtb3ZlVGV4dFRyYWNrKHRo
aXMpOworICAgICAgICB0b0hUTUxNZWRpYUVsZW1lbnQoaW5zZXJ0aW9uUG9pbnQpLT5kaWRSZW1v
dmVUZXh0VHJhY2sodGhpcyk7CiAgICAgSFRNTEVsZW1lbnQ6OnJlbW92ZWRGcm9tKGluc2VydGlv
blBvaW50KTsKIH0KIApAQCAtMzU2LDcgKzM1Niw3IEBAIEhUTUxNZWRpYUVsZW1lbnQqIEhUTUxU
cmFja0VsZW1lbnQ6Om1lZGlhRWxlbWVudCgpIGNvbnN0CiB7CiAgICAgRWxlbWVudCogcGFyZW50
ID0gcGFyZW50RWxlbWVudCgpOwogICAgIGlmIChwYXJlbnQgJiYgcGFyZW50LT5pc01lZGlhRWxl
bWVudCgpKQotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTE1lZGlhRWxlbWVudCo+KHBh
cmVudE5vZGUoKSk7CisgICAgICAgIHJldHVybiB0b0hUTUxNZWRpYUVsZW1lbnQocGFyZW50Tm9k
ZSgpKTsKIAogICAgIHJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudFR5cGVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRUeXBlcy5jcHAKaW5kZXggZDExNGIyNTdiZmEx
YjZhZTdmNTY3NzM0YWNjMTM1YWQ1YjkwNTA5ZS4uNzI0OWVkMzBmNjc2MDZlN2QxNzY0ZjU3YmRk
MmVhMDA3MTQzMzY0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVk
aWFDb250cm9sRWxlbWVudFR5cGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9NZWRpYUNvbnRyb2xFbGVtZW50VHlwZXMuY3BwCkBAIC02Miw3ICs2Miw3IEBAIEhUTUxNZWRp
YUVsZW1lbnQqIHRvUGFyZW50TWVkaWFFbGVtZW50KE5vZGUqIG5vZGUpCiAgICAgaWYgKCFtZWRp
YU5vZGUgfHwgIW1lZGlhTm9kZS0+aXNFbGVtZW50Tm9kZSgpIHx8ICF0b0VsZW1lbnQobWVkaWFO
b2RlKS0+aXNNZWRpYUVsZW1lbnQoKSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8SFRNTE1lZGlhRWxlbWVudCo+KG1lZGlhTm9kZSk7CisgICAgcmV0dXJuIHRv
SFRNTE1lZGlhRWxlbWVudChtZWRpYU5vZGUpOwogfQogCiBNZWRpYUNvbnRyb2xFbGVtZW50VHlw
ZSBtZWRpYUNvbnRyb2xFbGVtZW50VHlwZShOb2RlKiBub2RlKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9TdWJmcmFtZUxvYWRlci5jcHAKaW5kZXggMjQyMGRlNmFmYTlmMWM2YjUxNWQwZDIxOWQ2YzVj
MDU1NjIwYmJjNy4uZjY4MmQzN2M1ZWRiY2IyOGQzZTM1MmUxNmFlOTQ2M2M1OTBiZGY2MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuY3BwCkBAIC0yNjEsNyArMjYxLDcg
QEAgUGFzc1JlZlB0cjxXaWRnZXQ+IFN1YmZyYW1lTG9hZGVyOjpsb2FkTWVkaWFQbGF5ZXJQcm94
eVBsdWdpbihOb2RlKiBub2RlLCBjb25zdAogICAgIGlmICghbV9mcmFtZS0+ZG9jdW1lbnQoKS0+
Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmFsbG93TWVkaWFGcm9tU291cmNlKGNvbXBsZXRlZFVS
TCkpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVt
ZW50ID0gc3RhdGljX2Nhc3Q8SFRNTE1lZGlhRWxlbWVudCo+KG5vZGUpOworICAgIEhUTUxNZWRp
YUVsZW1lbnQqIG1lZGlhRWxlbWVudCA9IHRvSFRNTE1lZGlhRWxlbWVudChub2RlKTsKICAgICBS
ZW5kZXJQYXJ0KiByZW5kZXJlciA9IHRvUmVuZGVyUGFydChub2RlLT5yZW5kZXJlcigpKTsKICAg
ICBJbnRTaXplIHNpemU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCA2YzNmNzY5
OGE2OWQ2YTk2ZjQ0YzUwZmRhZjU5MmMzMDcxZmFlYTEwLi43MGIyOTMwOTE4OTdhNzcxODIxNjZh
NjMwMDAzNjQxZjkzMGVjMTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0yNjkw
LDcgKzI2OTAsNyBAQCB2b2lkIEZyYW1lVmlldzo6dXBkYXRlV2lkZ2V0KFJlbmRlck9iamVjdCog
b2JqZWN0KQogICAgICAgICAvLyBGSVhNRTogSXQgaXMgbm90IGNsZWFyIHRoYXQgTWVkaWEgZWxl
bWVudHMgbmVlZCBvciB3YW50IHRoaXMgdXBkYXRlV2lkZ2V0KCkgY2FsbC4KICNpZiBFTkFCTEUo
UExVR0lOX1BST1hZX0ZPUl9WSURFTykKICAgICAgICAgZWxzZSBpZiAob3duZXJFbGVtZW50LT5p
c01lZGlhRWxlbWVudCgpKQotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8SFRNTE1lZGlhRWxlbWVu
dCo+KG93bmVyRWxlbWVudCktPnVwZGF0ZVdpZGdldChDcmVhdGVBbnlXaWRnZXRUeXBlKTsKKyAg
ICAgICAgICAgIHRvSFRNTE1lZGlhRWxlbWVudChvd25lckVsZW1lbnQpLT51cGRhdGVXaWRnZXQo
Q3JlYXRlQW55V2lkZ2V0VHlwZSk7CiAjZW5kaWYKICAgICAgICAgZWxzZQogICAgICAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9lZmwvUmVuZGVyVGhlbWVFZmwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1Jl
bmRlclRoZW1lRWZsLmNwcAppbmRleCBiMjJiZjdjZjE5ZGYwOTYzNWQwYmY1YjE1ZmFhZTQ5NDYz
ZjZlMTNhLi40NmQwMWIyOGYxOTUyMmNiOWQwNTZmMzZkMDU2YjYyZGRmNmVjZDBmIDEwMDc1NQot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUmVuZGVyVGhlbWVFZmwuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9SZW5kZXJUaGVtZUVmbC5jcHAKQEAgLTExMjks
NyArMTEyOSw3IEBAIGJvb2wgUmVuZGVyVGhlbWVFZmw6OnBhaW50TWVkaWFGdWxsc2NyZWVuQnV0
dG9uKFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBQYWluCiAgICAgaWYgKCFtZWRpYU5vZGUg
fHwgIW1lZGlhTm9kZS0+aXNFbGVtZW50Tm9kZSgpIHx8ICF0b0VsZW1lbnQobWVkaWFOb2RlKS0+
aXNNZWRpYUVsZW1lbnQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgSFRNTE1lZGlh
RWxlbWVudCogbWVkaWFFbGVtZW50ID0gc3RhdGljX2Nhc3Q8SFRNTE1lZGlhRWxlbWVudCo+KG1l
ZGlhTm9kZSk7CisgICAgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50ID0gdG9IVE1MTWVk
aWFFbGVtZW50KG1lZGlhTm9kZSk7CiAgICAgaWYgKCFlbWl0TWVkaWFCdXR0b25TaWduYWwoRnVs
bFNjcmVlbkJ1dHRvbiwgbWVkaWFFbGVtZW50LT5pc0Z1bGxzY3JlZW4oKSA/IE1lZGlhRXhpdEZ1
bGxzY3JlZW5CdXR0b24gOiBNZWRpYUVudGVyRnVsbHNjcmVlbkJ1dHRvbiwgcmVjdCkpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIApAQCAtMTE0NCw3ICsxMTQ0LDcgQEAgYm9vbCBSZW5kZXJUaGVt
ZUVmbDo6cGFpbnRNZWRpYU11dGVCdXR0b24oUmVuZGVyT2JqZWN0KiBvYmplY3QsIGNvbnN0IFBh
aW50SW5mbyYKICAgICBpZiAoIW1lZGlhTm9kZSB8fCAhbWVkaWFOb2RlLT5pc0VsZW1lbnROb2Rl
KCkgfHwgIXRvRWxlbWVudChtZWRpYU5vZGUpLT5pc01lZGlhRWxlbWVudCgpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKLSAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQgPSBzdGF0
aWNfY2FzdDxIVE1MTWVkaWFFbGVtZW50Kj4obWVkaWFOb2RlKTsKKyAgICBIVE1MTWVkaWFFbGVt
ZW50KiBtZWRpYUVsZW1lbnQgPSB0b0hUTUxNZWRpYUVsZW1lbnQobWVkaWFOb2RlKTsKIAogICAg
IGlmICghZW1pdE1lZGlhQnV0dG9uU2lnbmFsKE11dGVVbk11dGVCdXR0b24sIG1lZGlhRWxlbWVu
dC0+bXV0ZWQoKSA/IE1lZGlhTXV0ZUJ1dHRvbiA6IE1lZGlhVW5NdXRlQnV0dG9uLCByZWN0KSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTI4Niw3ICsxMjg2LDcgQEAgYm9vbCBSZW5kZXJU
aGVtZUVmbDo6cGFpbnRNZWRpYVRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uKFJlbmRlck9iamVj
dCogb2JqZWN0LAogICAgIGlmICghbWVkaWFOb2RlIHx8ICghbWVkaWFOb2RlLT5oYXNUYWdOYW1l
KHZpZGVvVGFnKSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIEhUTUxNZWRpYUVsZW1l
bnQqIG1lZGlhRWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxNZWRpYUVsZW1lbnQqPihtZWRpYU5v
ZGUpOworICAgIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCA9IHRvSFRNTE1lZGlhRWxl
bWVudChtZWRpYU5vZGUpOwogICAgIGlmICghZW1pdE1lZGlhQnV0dG9uU2lnbmFsKFRvZ2dsZUNh
cHRpb25zQnV0dG9uLCBtZWRpYUVsZW1lbnQtPndlYmtpdENsb3NlZENhcHRpb25zVmlzaWJsZSgp
ID8gTWVkaWFTaG93Q2xvc2VkQ2FwdGlvbnNCdXR0b24gOiBNZWRpYUhpZGVDbG9zZWRDYXB0aW9u
c0J1dHRvbiwgcmVjdCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvTWVkaWFQbGF5ZXJQcm94eS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9NZWRpYVBsYXllclByb3h5
LmNwcAppbmRleCA2NThkNjk4ZWVkYmFmNWFlZGNhMTU1NjViZmU4OWUyZDhiMDhkN2Y3Li5kMDJl
MmI1Y2RhZDRmZTQyMzc2MjUwOGZmYTZjOGM2Mjc0ODIxNjY5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9NZWRpYVBsYXllclByb3h5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9NZWRpYVBsYXllclByb3h5
LmNwcApAQCAtODksNyArODksNyBAQCB2b2lkIFdlYk1lZGlhUGxheWVyUHJveHk6OmxvYWQoY29u
c3QgU3RyaW5nJiB1cmwpCiAKIHZvaWQgV2ViTWVkaWFQbGF5ZXJQcm94eTo6aW5pdEVuZ2luZSgp
CiB7Ci0gICAgSFRNTE1lZGlhRWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxNZWRp
YUVsZW1lbnQqPihtX21lZGlhUGxheWVyLT5tZWRpYVBsYXllckNsaWVudCgpKTsKKyAgICBIVE1M
TWVkaWFFbGVtZW50KiBlbGVtZW50ID0gdG9IVE1MTWVkaWFFbGVtZW50KG1fbWVkaWFQbGF5ZXIt
Pm1lZGlhUGxheWVyQ2xpZW50KCkpOwogICAgIFN0cmluZyB1cmwgPSBlbGVtZW50LT5pbml0aWFs
VVJMKCk7CiAKICAgICBpZiAodXJsLmlzRW1wdHkoKSkKQEAgLTExNiw3ICsxMTYsNyBAQCB2b2lk
IFdlYk1lZGlhUGxheWVyUHJveHk6OmluaXRFbmdpbmUoKQogCiBIVE1MTWVkaWFFbGVtZW50KiBX
ZWJNZWRpYVBsYXllclByb3h5OjplbGVtZW50KCkKIHsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
SFRNTE1lZGlhRWxlbWVudCo+KG1fbWVkaWFQbGF5ZXItPm1lZGlhUGxheWVyQ2xpZW50KCkpOwor
ICAgIHJldHVybiB0b0hUTUxNZWRpYUVsZW1lbnQobV9tZWRpYVBsYXllci0+bWVkaWFQbGF5ZXJD
bGllbnQoKSk7CiAKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Rr
L1JlbmRlclRoZW1lR3RrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9SZW5kZXJU
aGVtZUd0ay5jcHAKaW5kZXggYWEyNzUxODVhN2FmY2Q1OGIxYTE3ZWE1ODUzZTdkMDE5MmJjYjQx
ZC4uNjZhOGM2MjFjMjkxNGQ4ZGI5MDI2M2ZjMzVjNzQ2MjExYzhhMGM5ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuY3BwCkBAIC03MSw3ICs3MSw3
IEBAIHN0YXRpYyBIVE1MTWVkaWFFbGVtZW50KiBnZXRNZWRpYUVsZW1lbnRGcm9tUmVuZGVyT2Jq
ZWN0KFJlbmRlck9iamVjdCogbykKICAgICBpZiAoIW1lZGlhTm9kZSB8fCAhbWVkaWFOb2RlLT5p
c0VsZW1lbnROb2RlKCkgfHwgIXRvRWxlbWVudChtZWRpYU5vZGUpLT5pc01lZGlhRWxlbWVudCgp
KQogICAgICAgICByZXR1cm4gMDsKIAotICAgIHJldHVybiBzdGF0aWNfY2FzdDxIVE1MTWVkaWFF
bGVtZW50Kj4obWVkaWFOb2RlKTsKKyAgICByZXR1cm4gdG9IVE1MTWVkaWFFbGVtZW50KG1lZGlh
Tm9kZSk7CiB9CiAKIHZvaWQgUmVuZGVyVGhlbWVHdGs6OmluaXRNZWRpYUJ1dHRvbnMoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCmluZGV4IDk4YzgxN2FkMjI1
YmIwODFiNzI4MTFiYTNmMGU5NmJjOWQ4NDRjYzguLmUwZWNkYmJhMDkwN2ViZDRhMDkxNTE2ODBi
ZDY1M2EwZDQwY2Y2NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRU
ZXN0UmVzdWx0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3Vs
dC5jcHAKQEAgLTM4Miw3ICszODIsNyBAQCBIVE1MTWVkaWFFbGVtZW50KiBIaXRUZXN0UmVzdWx0
OjptZWRpYUVsZW1lbnQoKSBjb25zdAogICAgICAgICByZXR1cm4gMDsKIAogICAgIGlmIChtX2lu
bmVyTm9uU2hhcmVkTm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnZpZGVvVGFnKSB8fCBpc0hU
TUxBdWRpb0VsZW1lbnQobV9pbm5lck5vblNoYXJlZE5vZGUuZ2V0KCkpKQotICAgICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8SFRNTE1lZGlhRWxlbWVudCo+KG1faW5uZXJOb25TaGFyZWROb2RlLmdl
dCgpKTsKKyAgICAgICAgcmV0dXJuIHRvSFRNTE1lZGlhRWxlbWVudChtX2lubmVyTm9uU2hhcmVk
Tm9kZS5nZXQoKSk7CiAgICAgcmV0dXJuIDA7CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKaW5kZXggNTU1NGVmMTJjYjNkNmZh
ODliNWE1MTFhYTVlYTYwN2MyNjY2ZTNhYi4uM2I4MmU2Y2FiZTYwOWM1ZmMxNDMxM2NiNDJkMzNl
MTU0Mzk4M2E5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
QmFja2luZy5jcHAKQEAgLTU3MCw3ICs1NzAsNyBAQCBib29sIFJlbmRlckxheWVyQmFja2luZzo6
dXBkYXRlR3JhcGhpY3NMYXllckNvbmZpZ3VyYXRpb24oKQogICAgIH0KICNpZiBFTkFCTEUoVklE
RU8pCiAgICAgZWxzZSBpZiAocmVuZGVyZXItPmlzVmlkZW8oKSkgewotICAgICAgICBIVE1MTWVk
aWFFbGVtZW50KiBtZWRpYUVsZW1lbnQgPSB0b01lZGlhRWxlbWVudChyZW5kZXJlci0+bm9kZSgp
KTsKKyAgICAgICAgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50ID0gdG9IVE1MTWVkaWFF
bGVtZW50KHJlbmRlcmVyLT5ub2RlKCkpOwogICAgICAgICBtX2dyYXBoaWNzTGF5ZXItPnNldENv
bnRlbnRzVG9NZWRpYShtZWRpYUVsZW1lbnQtPnBsYXRmb3JtTGF5ZXIoKSk7CiAgICAgfQogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21w
b3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0
b3IuY3BwCmluZGV4IGVhMzViNDljZGI2ZmE5YmE5MGFlZjE2ODc3NTIzMjcwNjU2YTMyODIuLjdh
MTdkM2U1OWY4ZjllZjBhNWJjZTViMWM5NWZmMWZhNmYyN2JiNWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCkBAIC0yMDcwLDcg
KzIwNzAsNyBAQCBib29sIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNDb21wb3NpdGlu
Z0ZvclZpZGVvKFJlbmRlck9iamVjdCogcmVuZGVyZXIpCiAgICAgICAgIGlmICghbm9kZSB8fCAo
IW5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp2aWRlb1RhZykgJiYgIWlzSFRNTEF1ZGlvRWxl
bWVudChub2RlKSkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgSFRNTE1l
ZGlhRWxlbWVudCogbWVkaWFFbGVtZW50ID0gdG9NZWRpYUVsZW1lbnQobm9kZSk7CisgICAgICAg
IEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCA9IHRvSFRNTE1lZGlhRWxlbWVudChub2Rl
KTsKICAgICAgICAgcmV0dXJuIG1lZGlhRWxlbWVudC0+cGxheWVyKCkgPyBtZWRpYUVsZW1lbnQt
PnBsYXllcigpLT5zdXBwb3J0c0FjY2VsZXJhdGVkUmVuZGVyaW5nKCkgOiBmYWxzZTsKICAgICB9
CiAjZW5kaWYgLy8gRU5BQkxFKFBMVUdJTl9QUk9YWV9GT1JfVklERU8pCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWEuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck1lZGlhLmNwcAppbmRleCA0N2Y1NWVjY2Y5MTU5ZTk0YjYyZmVjYzAy
OWFlYjUwZWQ5ODU5NGMwLi5hZTQ4ODU2OWNmN2MwOTQxMmIwZGI0Nzc1Y2M4YWY2YTMwNjM3ZWJm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWEuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZWRpYS5jcHAKQEAgLTU0LDcgKzU0
LDcgQEAgUmVuZGVyTWVkaWE6On5SZW5kZXJNZWRpYSgpCiAKIEhUTUxNZWRpYUVsZW1lbnQqIFJl
bmRlck1lZGlhOjptZWRpYUVsZW1lbnQoKSBjb25zdAogeyAKLSAgICByZXR1cm4gdG9NZWRpYUVs
ZW1lbnQobm9kZSgpKTsgCisgICAgcmV0dXJuIHRvSFRNTE1lZGlhRWxlbWVudChub2RlKCkpOyAK
IH0KIAogdm9pZCBSZW5kZXJNZWRpYTo6bGF5b3V0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZU1hYy5tbQppbmRleCBmMzNmZDJkOTBjMmMxOGE0NzAxOWUzNTZjNWMwYzNi
MGRmNzdiNDNlLi4zYThjMjg2OGZjODQ5NDM0OTUzNTM0ZDI5YWZjNTkyNmM0NGQ2NjE4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCkBAIC0zNDMsNyArMzQz
LDcgQEAgYm9vbCBSZW5kZXJUaGVtZU1hYzo6cGFpbnRNZWRpYVNsaWRlclRyYWNrKFJlbmRlck9i
amVjdCogbywgY29uc3QgUGFpbnRJbmZvJiBwYWkKICAgICBpZiAoIW1lZGlhTm9kZSB8fCAhbWVk
aWFOb2RlLT5pc01lZGlhRWxlbWVudCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBI
VE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MTWVkaWFFbGVt
ZW50Kj4obWVkaWFOb2RlKTsKKyAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQgPSB0
b0hUTUxNZWRpYUVsZW1lbnQobWVkaWFOb2RlKTsKICAgICBpZiAoIW1lZGlhRWxlbWVudCkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWVXaW5DRS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVXaW5DRS5jcHAKaW5kZXggOWUyY2VlODVmZTNkY2U2NTJkM2IyYzczMTVlZjY0YjlkZGRi
NjY4ZC4uZjMyNzYwZGYxMjRkZjUyNGY0YzZkMjY1ZTFhOTVkMzdiYjhlMGNlZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luQ0UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbkNFLmNwcApAQCAtNDg1LDcgKzQ4
NSw3IEBAIHN0YXRpYyBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnRQYXJlbnQoTm9kZSog
bm9kZSkKICAgICBpZiAoIW1lZGlhTm9kZSB8fCAhbWVkaWFOb2RlLT5pc0VsZW1lbnROb2RlKCkg
fHwgIXRvRWxlbWVudChtZWRpYU5vZGUpLT5pc01lZGlhRWxlbWVudCgpKQogICAgICAgICByZXR1
cm4gMDsKIAotICAgIHJldHVybiBzdGF0aWNfY2FzdDxIVE1MTWVkaWFFbGVtZW50Kj4obWVkaWFO
b2RlKTsKKyAgICByZXR1cm4gdG9IVE1MTWVkaWFFbGVtZW50KG1lZGlhTm9kZSk7CiB9CiAjZW5k
aWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDE1NjQxOWRkY2YwNjNk
ZGI3ZDQ0MWU5MGQ2NjkxOWY3ZGQ0ZjI1MDYuLjgwODVlMDA1MzExNGNiMjMyMTdmMzE5OWYxNDdj
ZmEyOWZhNmNhZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTIwNDUs
NyArMjA0NSw3IEBAIFN0cmluZyBJbnRlcm5hbHM6OmdldEltYWdlU291cmNlVVJMKEVsZW1lbnQq
IGVsZW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogdm9pZCBJbnRlcm5hbHM6OnNpbXVsYXRlQXVk
aW9JbnRlcnJ1cHRpb24oTm9kZSogbm9kZSkKIHsKICNpZiBVU0UoR1NUUkVBTUVSKQotICAgIEhU
TUxNZWRpYUVsZW1lbnQqIGVsZW1lbnQgPSB0b01lZGlhRWxlbWVudChub2RlKTsKKyAgICBIVE1M
TWVkaWFFbGVtZW50KiBlbGVtZW50ID0gdG9IVE1MTWVkaWFFbGVtZW50KG5vZGUpOwogICAgIGVs
ZW1lbnQtPnBsYXllcigpLT5zaW11bGF0ZUF1ZGlvSW50ZXJydXB0aW9uKCk7CiAjZWxzZQogICAg
IFVOVVNFRF9QQVJBTShub2RlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJy
eS9BcGkvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2Uu
Y3BwCmluZGV4IDU0NDU2YmU4MTE3NjRjMzM2NmIxYzY2YjQ2MjMxYmJiN2RiZDMwNjguLjA4YWY1
NWIxMWVlOTA4MjkzZTVjODRkNTZjMWRjMDE2ZDQ0MTg5MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFj
a2JlcnJ5L0FwaS9XZWJQYWdlLmNwcApAQCAtMjE2OCw3ICsyMTY4LDcgQEAgUGxhdGZvcm06Oldl
YkNvbnRleHQgV2ViUGFnZVByaXZhdGU6OndlYkNvbnRleHQoVGFyZ2V0RGV0ZWN0aW9uU3RyYXRl
Z3kgc3RyYXRlZ3kKICAgICAgICAgICAgIGltYWdlRWxlbWVudCA9IHRvSFRNTEFyZWFFbGVtZW50
KG5vZGUuZ2V0KCkpLT5pbWFnZUVsZW1lbnQoKTsKIAogICAgICAgICBpZiAoc3RhdGljX2Nhc3Q8
SFRNTEVsZW1lbnQqPihub2RlLmdldCgpKS0+aXNNZWRpYUVsZW1lbnQoKSkKLSAgICAgICAgICAg
IG1lZGlhRWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxNZWRpYUVsZW1lbnQqPihub2RlLmdldCgp
KTsKKyAgICAgICAgICAgIG1lZGlhRWxlbWVudCA9IHRvSFRNTE1lZGlhRWxlbWVudChub2RlLmdl
dCgpKTsKIAogICAgICAgICBpZiAoaW1hZ2VFbGVtZW50ICYmIGltYWdlRWxlbWVudC0+cmVuZGVy
ZXIoKSkgewogICAgICAgICAgICAgY29udGV4dC5zZXRGbGFnKFBsYXRmb3JtOjpXZWJDb250ZXh0
OjpJc0ltYWdlKTsKQEAgLTQ5ODYsNyArNDk4Niw3IEBAIHZvaWQgV2ViUGFnZTo6bm90aWZ5RnVs
bFNjcmVlblZpZGVvRXhpdGVkKGJvb2wgZG9uZSkKICAgICBpZiAoIWVsZW1lbnQpCiAgICAgICAg
IHJldHVybjsKICAgICBpZiAoZC0+bV93ZWJTZXR0aW5ncy0+ZnVsbFNjcmVlblZpZGVvQ2FwYWJs
ZSgpICYmIGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp2aWRlb1RhZykpCi0gICAgICAg
IHN0YXRpY19jYXN0PEhUTUxNZWRpYUVsZW1lbnQqPihlbGVtZW50KS0+ZXhpdEZ1bGxzY3JlZW4o
KTsKKyAgICAgICAgdG9IVE1MTWVkaWFFbGVtZW50KGVsZW1lbnQpLT5leGl0RnVsbHNjcmVlbigp
OwogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKICAgICBlbHNlCiAgICAgICAgIGVsZW1lbnQt
PmRvY3VtZW50KCktPndlYmtpdENhbmNlbEZ1bGxTY3JlZW4oKTsKQEAgLTU2MTUsNyArNTYxNSw3
IEBAIHZvaWQgV2ViUGFnZVByaXZhdGU6OmVudGVyRnVsbHNjcmVlbkZvck5vZGUoTm9kZSogbm9k
ZSkKICAgICBpZiAoIW5vZGUgfHwgIW5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp2aWRlb1Rh
ZykpCiAgICAgICAgIHJldHVybjsKIAotICAgIE1lZGlhUGxheWVyKiBwbGF5ZXIgPSBzdGF0aWNf
Y2FzdDxIVE1MTWVkaWFFbGVtZW50Kj4obm9kZSktPnBsYXllcigpOworICAgIE1lZGlhUGxheWVy
KiBwbGF5ZXIgPSB0b0hUTUxNZWRpYUVsZW1lbnQobm9kZSktPnBsYXllcigpOwogICAgIGlmICgh
cGxheWVyKQogICAgICAgICByZXR1cm47CiAKQEAgLTU2NDgsNyArNTY0OCw3IEBAIHZvaWQgV2Vi
UGFnZVByaXZhdGU6OmV4aXRGdWxsc2NyZWVuRm9yTm9kZShOb2RlKiBub2RlKQogICAgIGlmICgh
bm9kZSB8fCAhbm9kZS0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnZpZGVvVGFnKSkKICAgICAgICAg
cmV0dXJuOwogCi0gICAgTWVkaWFQbGF5ZXIqIHBsYXllciA9IHN0YXRpY19jYXN0PEhUTUxNZWRp
YUVsZW1lbnQqPihub2RlKS0+cGxheWVyKCk7CisgICAgTWVkaWFQbGF5ZXIqIHBsYXllciA9IHRv
SFRNTE1lZGlhRWxlbWVudChub2RlKS0+cGxheWVyKCk7CiAgICAgaWYgKCFwbGF5ZXIpCiAgICAg
ICAgIHJldHVybjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEd0ay5jcHAKaW5kZXggODMzMjYzMzdjZWVlNGEwZjM0MWZkNTI3ZGM2MzQ3
MjI5MWJmODcyOC4uOTBlNzYzNjNhZTA2NjBjNjU0ZGExZWYwODMyNDI0OWQxNDA1MGRjYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3Rr
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRH
dGsuY3BwCkBAIC05MzgsNyArOTM4LDcgQEAgdm9pZCBDaHJvbWVDbGllbnQ6OmVudGVyRnVsbHNj
cmVlbkZvck5vZGUoTm9kZSogbm9kZSkKIAogICAgIEhUTUxFbGVtZW50KiBlbGVtZW50ID0gc3Rh
dGljX2Nhc3Q8SFRNTEVsZW1lbnQqPihub2RlKTsKICAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50
LT5pc01lZGlhRWxlbWVudCgpKSB7Ci0gICAgICAgIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxl
bWVudCA9IHN0YXRpY19jYXN0PEhUTUxNZWRpYUVsZW1lbnQqPihlbGVtZW50KTsKKyAgICAgICAg
SFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50ID0gdG9IVE1MTWVkaWFFbGVtZW50KGVsZW1l
bnQpOwogICAgICAgICBpZiAobWVkaWFFbGVtZW50LT5wbGF5ZXIoKSAmJiBtZWRpYUVsZW1lbnQt
PnBsYXllcigpLT5jYW5FbnRlckZ1bGxzY3JlZW4oKSkKICAgICAgICAgICAgIG1lZGlhRWxlbWVu
dC0+cGxheWVyKCktPmVudGVyRnVsbHNjcmVlbigpOwogICAgIH0KQEAgLTk1MSw3ICs5NTEsNyBA
QCB2b2lkIENocm9tZUNsaWVudDo6ZXhpdEZ1bGxzY3JlZW5Gb3JOb2RlKE5vZGUqIG5vZGUpCiAK
ICAgICBIVE1MRWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxFbGVtZW50Kj4obm9k
ZSk7CiAgICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC0+aXNNZWRpYUVsZW1lbnQoKSkgewotICAg
ICAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MTWVk
aWFFbGVtZW50Kj4oZWxlbWVudCk7CisgICAgICAgIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxl
bWVudCA9IHRvSFRNTE1lZGlhRWxlbWVudChlbGVtZW50KTsKICAgICAgICAgaWYgKG1lZGlhRWxl
bWVudC0+cGxheWVyKCkpCiAgICAgICAgICAgICBtZWRpYUVsZW1lbnQtPnBsYXllcigpLT5leGl0
RnVsbHNjcmVlbigpOwogICAgIH0KQEAgLTk5NSw3ICs5OTUsNyBAQCB2b2lkIENocm9tZUNsaWVu
dDo6ZW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudChXZWJDb3JlOjpFbGVtZW50KiBlbGVtZW50KQog
CiAjaWYgRU5BQkxFKFZJREVPKSAmJiBVU0UoTkFUSVZFX0ZVTExTQ1JFRU5fVklERU8pCiAgICAg
aWYgKGVsZW1lbnQgJiYgZWxlbWVudC0+aXNNZWRpYUVsZW1lbnQoKSkgewotICAgICAgICBIVE1M
TWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MTWVkaWFFbGVtZW50
Kj4oZWxlbWVudCk7CisgICAgICAgIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCA9IHRv
SFRNTE1lZGlhRWxlbWVudChlbGVtZW50KTsKICAgICAgICAgaWYgKG1lZGlhRWxlbWVudC0+cGxh
eWVyKCkgJiYgbWVkaWFFbGVtZW50LT5wbGF5ZXIoKS0+Y2FuRW50ZXJGdWxsc2NyZWVuKCkpIHsK
ICAgICAgICAgICAgIGVsZW1lbnQtPmRvY3VtZW50KCktPndlYmtpdFdpbGxFbnRlckZ1bGxTY3Jl
ZW5Gb3JFbGVtZW50KGVsZW1lbnQpOwogICAgICAgICAgICAgbWVkaWFFbGVtZW50LT5wbGF5ZXIo
KS0+ZW50ZXJGdWxsc2NyZWVuKCk7CkBAIC0xMDM2LDcgKzEwMzYsNyBAQCB2b2lkIENocm9tZUNs
aWVudDo6ZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KFdlYkNvcmU6OkVsZW1lbnQqKQogI2lmIEVO
QUJMRShWSURFTykgJiYgVVNFKE5BVElWRV9GVUxMU0NSRUVOX1ZJREVPKQogICAgIGlmIChtX2Z1
bGxTY3JlZW5FbGVtZW50ICYmIG1fZnVsbFNjcmVlbkVsZW1lbnQtPmlzTWVkaWFFbGVtZW50KCkp
IHsKICAgICAgICAgbV9mdWxsU2NyZWVuRWxlbWVudC0+ZG9jdW1lbnQoKS0+d2Via2l0V2lsbEV4
aXRGdWxsU2NyZWVuRm9yRWxlbWVudChtX2Z1bGxTY3JlZW5FbGVtZW50LmdldCgpKTsKLSAgICAg
ICAgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50ID0gc3RhdGljX2Nhc3Q8SFRNTE1lZGlh
RWxlbWVudCo+KG1fZnVsbFNjcmVlbkVsZW1lbnQuZ2V0KCkpOworICAgICAgICBIVE1MTWVkaWFF
bGVtZW50KiBtZWRpYUVsZW1lbnQgPSB0b0hUTUxNZWRpYUVsZW1lbnQobV9mdWxsU2NyZWVuRWxl
bWVudC5nZXQoKSk7CiAgICAgICAgIGlmIChtZWRpYUVsZW1lbnQtPnBsYXllcigpKSB7CiAgICAg
ICAgICAgICBtZWRpYUVsZW1lbnQtPnBsYXllcigpLT5leGl0RnVsbHNjcmVlbigpOwogICAgICAg
ICAgICAgbV9mdWxsU2NyZWVuRWxlbWVudC0+ZG9jdW1lbnQoKS0+d2Via2l0RGlkRXhpdEZ1bGxT
Y3JlZW5Gb3JFbGVtZW50KG1fZnVsbFNjcmVlbkVsZW1lbnQuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IDNlNjJhZGIxMjdlMjYyMTNjMTY4ZjRjOGI4ODk4N2Yy
M2JhOWQ2MWUuLjg2ZTA3YzhhNDYzZjkxMGUxYmYyYzVjZmIwM2Y3Zjg4MGQ0ZTVhOTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTY1MDQsNyArNjUwNCw3IEBAIGJvb2wg
TGF5ZXJGbHVzaENvbnRyb2xsZXI6OmZsdXNoTGF5ZXJzKCkKIC0gKHZvaWQpX2VudGVyRnVsbHNj
cmVlbkZvck5vZGU6KFdlYkNvcmU6Ok5vZGUqKW5vZGUKIHsKICAgICBBU1NFUlQobm9kZS0+aGFz
VGFnTmFtZShXZWJDb3JlOjpIVE1MTmFtZXM6OnZpZGVvVGFnKSk7Ci0gICAgSFRNTE1lZGlhRWxl
bWVudCogdmlkZW9FbGVtZW50ID0gdG9NZWRpYUVsZW1lbnQobm9kZSk7CisgICAgSFRNTE1lZGlh
RWxlbWVudCogdmlkZW9FbGVtZW50ID0gdG9IVE1MTWVkaWFFbGVtZW50KG5vZGUpOwogCiAgICAg
aWYgKF9wcml2YXRlLT5mdWxsc2NyZWVuQ29udHJvbGxlcikgewogICAgICAgICBpZiAoW19wcml2
YXRlLT5mdWxsc2NyZWVuQ29udHJvbGxlciBtZWRpYUVsZW1lbnRdID09IHZpZGVvRWxlbWVudCkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L3dpbi9XZWJWaWV3LmNwcAppbmRleCBhYTI0ZmNkOTI5ZTdiYzhkNDA2NmRjYjczMGI1OTA0
ZWY0OTQzY2Q4Li40ZmY3ZGRjZGJkZTcyY2UwYTliMDVkMTE5Zjk1MDIzNjY1YWQ3YmUyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L3dpbi9XZWJWaWV3LmNwcApAQCAtNjI0Myw3ICs2MjQzLDcgQEAgdm9pZCBXZWJWaWV3OjplbnRl
ckZ1bGxzY3JlZW5Gb3JOb2RlKE5vZGUqIG5vZGUpCiAjaWYgRU5BQkxFKFZJREVPKQogICAgIGlm
ICghdG9FbGVtZW50KG5vZGUpLT5pc01lZGlhRWxlbWVudCgpKQogICAgICAgICByZXR1cm47Ci0g
ICAgSFRNTE1lZGlhRWxlbWVudCogdmlkZW9FbGVtZW50ID0gc3RhdGljX2Nhc3Q8SFRNTE1lZGlh
RWxlbWVudCo+KG5vZGUpOworICAgIEhUTUxNZWRpYUVsZW1lbnQqIHZpZGVvRWxlbWVudCA9IHRv
SFRNTE1lZGlhRWxlbWVudChub2RlKTsKIAogICAgIGlmIChtX2Z1bGxTY3JlZW5WaWRlb0NvbnRy
b2xsZXIpIHsKICAgICAgICAgaWYgKG1fZnVsbFNjcmVlblZpZGVvQ29udHJvbGxlci0+bWVkaWFF
bGVtZW50KCkgPT0gdmlkZW9FbGVtZW50KSB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>