<?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>130763</bug_id>
          
          <creation_ts>2014-03-25 19:44:39 -0700</creation_ts>
          <short_desc>Add a new type of scrolling tree node for overflow scrolling</short_desc>
          <delta_ts>2014-03-26 08:11:41 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>andersca</cc>
    
    <cc>bdakin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>jamesr</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>994480</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-03-25 19:44:39 -0700</bug_when>
    <thetext>Add a new type of scrolling tree node for overflow scrolling</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>994489</commentid>
    <comment_count>1</comment_count>
      <attachid>227827</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-03-25 20:38:13 -0700</bug_when>
    <thetext>Created attachment 227827
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>994496</commentid>
    <comment_count>2</comment_count>
      <attachid>227827</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-03-25 22:20:40 -0700</bug_when>
    <thetext>Comment on attachment 227827
Patch

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

&gt; Source/WebCore/page/scrolling/ScrollingStateNode.h:155
&gt; +    bool isFixedNode() const { return nodeType() == FixedNode; }

why do these use nodeType() instead of m_nodeType? (not that it matters)

&gt; Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm:151
&gt; +    case OverflowScrollingNode: // Not yet created on Mac.

Maybe this could be better documented with an ASSERT_NOT_REACHED() and return null? That will be easier to find when we implement scrolling-tree-overflow-scroll on Mac.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>994576</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-03-26 08:11:41 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/166293</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227827</attachid>
            <date>2014-03-25 20:38:13 -0700</date>
            <delta_ts>2014-03-25 22:20:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130763-20140325203800.patch</filename>
            <type>text/plain</type>
            <size>45601</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2MjA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDJmODRlZDEyMWJjZWM4
NTIyYTg3MTZhOTEwY2MzZTQyYWYxNGQ1OC4uMmI3NjdmNmI3OTIxZDc0MDhiYzllMDc3YTRjZTEw
M2YxMGQ2OTQ5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDE0LTAzLTI1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIG5ldyB0
eXBlIG9mIHNjcm9sbGluZyB0cmVlIG5vZGUgZm9yIG92ZXJmbG93IHNjcm9sbGluZworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwNzYzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUHJlcGFyZSBmb3Igb3Zl
cmZsb3cgc2Nyb2xsaW5nIHZpYSB0aGUgc2Nyb2xsaW5nIHRyZWUgYnkgYWRkaW5nCisgICAgICAg
IGEgbmV3IHNjcm9sbGluZyBub2RlIHR5cGUgZm9yIG92ZXJmbG93OnNjcm9sbCBub2Rlcy4gTW9z
dGx5CisgICAgICAgIHRoaXMgaXMgYSBuZXcgU2Nyb2xsaW5nTm9kZVR5cGUgdGhhdCBnZXRzIG1h
cHBlZCB0byB0aGUgc2FtZQorICAgICAgICBzY3JvbGxpbmcgc3RhdGUgbm9kZXMgYW5kIHNjcm9s
bGluZyBub2RlcywgYnV0IGlPUyBjcmVhdGVzCisgICAgICAgIHN0YXRlIGFuZCBzY3JvbGxpbmcg
bm9kZXMgc3BlY2lmaWMgdG8gb3ZlcmZsb3c6c2Nyb2xsLgorICAgICAgICAKKyAgICAgICAgQ2hh
bmdlIHRoZSB0eXBlIGNoZWNraW5nIG9uIG5vZGVzIHRvIHVzZSB2aXJ0dWFsIGZ1bmN0aW9ucyBp
bnN0ZWFkCisgICAgICAgIG9mIGp1c3QgY2hlY2tpbmcgdGhlIG5vZGUgdHlwZSwgdG8gYWxsb3cg
dGhlIG1hY3JvcyB0byB3b3JrIHdpdGgKKyAgICAgICAgdGhlIG5ldyBzY3JvbGxpbmcgbm9kZSB0
eXBlLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogcGFnZS9zY3JvbGxp
bmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBc3lu
Y1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjplbnN1cmVSb290U3RhdGVOb2RlRm9yRnJhbWVWaWV3KToK
KyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oOgorICAgICAg
ICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWROb2RlLmg6CisgICAgICAgICog
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmg6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxpbmdTdGF0ZU5vZGU6OmlzRml4ZWROb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bGluZ1N0YXRlTm9kZTo6aXNTdGlja3lOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGlu
Z1N0YXRlTm9kZTo6aXNTY3JvbGxpbmdOb2RlKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
aW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
aW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUpOgorICAg
ICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5oOgorICAg
ICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZS5oOgorICAgICAg
ICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxpbmdTdGF0ZVRyZWU6OmF0dGFjaE5vZGUpOgorICAgICAgICAqIHBhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJl
ZTo6dmlld3BvcnRDaGFuZ2VkVmlhRGVsZWdhdGVkU2Nyb2xsaW5nKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbGluZ1RyZWU6OnVwZGF0ZVRyZWVGcm9tU3RhdGVOb2RlKToKKyAgICAgICAgKiBw
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlTm9kZS5oOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsaW5nVHJlZU5vZGU6OmlzRml4ZWROb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGlu
Z1RyZWVOb2RlOjppc1N0aWNreU5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJl
ZU5vZGU6OmlzU2Nyb2xsaW5nTm9kZSk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJl
ZVNjcm9sbGluZ05vZGU6OlNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlKToKKyAgICAgICAgKiBw
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oOgorICAgICAgICAqIHBh
Z2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9ySU9TOjpjcmVhdGVTY3JvbGxpbmdUcmVlTm9kZSk6
CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2Rl
SU9TLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxp
bmdOb2RlSU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGVJT1M6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5n
Tm9kZUlPUzo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVJT1MpOgorICAgICAgICAqIHBhZ2Uv
c2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjOjpjcmVhdGVTY3JvbGxpbmdUcmVlTm9kZSk6Cisg
ICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGaXhlZE5vZGUuaDoKKyAg
ICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVNYWMu
aDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZU1h
Yzo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2Rl
TWFjOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZU1hYyk6CisgICAgICAgICogcGFnZS9zY3Jv
bGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTdGlja3lOb2RlLmg6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
ckNvbXBvc2l0b3I6OnVwZGF0ZVNjcm9sbENvb3JkaW5hdGVkTGF5ZXIpOgorCiAyMDE0LTAzLTI0
ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBYU1MgQXVkaXRv
ciBkb2Vzbid0IGJsb2NrIDxzY3JpcHQ+IGluamVjdGVkIGJlZm9yZSBhbiBleGlzdGluZyA8c2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCmluZGV4IDM0OWUwMGE2OWE0YjU5MDgyNWI3ZWUxYWJhNzEyM2M3ZjJkMWFi
YzAuLjc3YWYyY2MxMzNhMjU5ZjdiODhlNzMxYWVmZTgyYTMxYzM1MWFmZDUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwzNiBAQAorMjAxNC0wMy0yNSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2Vy
QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgYSBuZXcgdHlwZSBvZiBzY3JvbGxpbmcgdHJlZSBu
b2RlIGZvciBvdmVyZmxvdyBzY3JvbGxpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEzMDc2MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFByZXBhcmUgZm9yIG92ZXJmbG93IHNjcm9sbGluZyB2aWEgdGhl
IHNjcm9sbGluZyB0cmVlIGJ5IGFkZGluZworICAgICAgICBhIG5ldyBzY3JvbGxpbmcgbm9kZSB0
eXBlIGZvciBvdmVyZmxvdzpzY3JvbGwgbm9kZXMuIE1vc3RseQorICAgICAgICB0aGlzIGlzIGEg
bmV3IFNjcm9sbGluZ05vZGVUeXBlIHRoYXQgZ2V0cyBtYXBwZWQgdG8gdGhlIHNhbWUKKyAgICAg
ICAgc2Nyb2xsaW5nIHN0YXRlIG5vZGVzIGFuZCBzY3JvbGxpbmcgbm9kZXMsIGJ1dCBpT1MgY3Jl
YXRlcworICAgICAgICBzdGF0ZSBhbmQgc2Nyb2xsaW5nIG5vZGVzIHNwZWNpZmljIHRvIG92ZXJm
bG93OnNjcm9sbC4KKyAgICAgICAgCisgICAgICAgIENoYW5nZSB0aGUgdHlwZSBjaGVja2luZyBv
biBub2RlcyB0byB1c2UgdmlydHVhbCBmdW5jdGlvbnMgaW5zdGVhZAorICAgICAgICBvZiBqdXN0
IGNoZWNraW5nIHRoZSBub2RlIHR5cGUsIHRvIGFsbG93IHRoZSBtYWNyb3MgdG8gd29yayB3aXRo
CisgICAgICAgIHRoZSBuZXcgc2Nyb2xsaW5nIG5vZGUgdHlwZS4KKworICAgICAgICAqIFNoYXJl
ZC9TY3JvbGxpbmcvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JUcmFuc2FjdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OmVuY29kZU5vZGVBbmREZXNjZW5kYW50cyk6CisgICAgICAgIChXZWJL
aXQ6OlJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yVHJhbnNhY3Rpb246OmRlY29kZSk6CisgICAg
ICAgICogVUlQcm9jZXNzL1Njcm9sbGluZy9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eTo6
Y29ubmVjdFN0YXRlTm9kZUxheWVycyk6CisgICAgICAgICogVUlQcm9jZXNzL1Njcm9sbGluZy9S
ZW1vdGVTY3JvbGxpbmdUcmVlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU2Nyb2xsaW5n
VHJlZTo6Y3JlYXRlTm9kZSk6CisgICAgICAgICogVUlQcm9jZXNzL1Njcm9sbGluZy9pb3MvU2Ny
b2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZUlPUy5oOiBDb3BpZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZS5oLgorICAg
ICAgICAqIFVJUHJvY2Vzcy9TY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9s
bGluZ05vZGVJT1MubW06IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L21hYy9TY3JvbGxpbmdUcmVlRml4ZWROb2RlLmguCisgICAgICAgIChXZWJLaXQ6OlNjcm9sbGlu
Z1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJT1M6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6
OlNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJT1M6OlNjcm9sbGluZ1RyZWVPdmVy
Zmxvd1Njcm9sbGluZ05vZGVJT1MpOgorICAgICAgICAoV2ViS2l0OjpTY3JvbGxpbmdUcmVlT3Zl
cmZsb3dTY3JvbGxpbmdOb2RlSU9TOjp+U2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9k
ZUlPUyk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRv
clByb3h5SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRv
clByb3h5Ojpjb25uZWN0U3RhdGVOb2RlTGF5ZXJzKToKKyAgICAgICAgKiBXZWJLaXQyLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTQtMDMtMjQgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjE2NTg3Mik6IERvdWJs
ZS1hcHBseWluZyBkZXZpY2Ugc2NhbGUgdG8gc25hcHNob3RzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmlu
ZGV4IDFkMWY3ZDVlZTJmNTU5ZTBhNmI2M2U5ZDhjNzUzZDAyN2FiZDMwOTIuLjMwOGU0ZTRmNTA2
NjMwMGI3ZWU3Y2M1NWFjMGEzMDQ5OWY2MTdkNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0y
NTU5LDcgKzI1NTksNiBAQCBfX1pON1dlYkNvcmUyN1RpbGVDb250cm9sbGVyTWVtb3J5SGFuZGxl
cjI3dHJpbVVucGFyZW50ZWRUaWxlc1RvVGFyZ2V0RWkKIF9fWk43V2ViQ29yZTI3Y3JlYXRlRHJh
Z0ltYWdlRm9yU2VsZWN0aW9uRVJOU181RnJhbWVFYgogX19aTjdXZWJDb3JlMjd0aWxlQ29udHJv
bGxlck1lbW9yeUhhbmRsZXJFdgogX19aTjdXZWJDb3JlMjd3aXRoaW5UZXh0VW5pdE9mR3JhbnVs
YXJpdHlFUktOU18xNVZpc2libGVQb3NpdGlvbkVOU18xNVRleHRHcmFudWxhcml0eUVOU18xOFNl
bGVjdGlvbkRpcmVjdGlvbkUKLV9fWk43V2ViQ29yZTI5U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGVJT1M2Y3JlYXRlRVJOU18xM1Njcm9sbGluZ1RyZWVFeQogX19aTjdXZWJDb3JlMzBjbG9zZXN0
V29yZEJvdW5kYXJ5Rm9yUG9zaXRpb25FUktOU18xNVZpc2libGVQb3NpdGlvbkUKIF9fWk43V2Vi
Q29yZTMwZW5jbG9zaW5nVGV4dFVuaXRPZkdyYW51bGFyaXR5RVJLTlNfMTVWaXNpYmxlUG9zaXRp
b25FTlNfMTVUZXh0R3JhbnVsYXJpdHlFTlNfMThTZWxlY3Rpb25EaXJlY3Rpb25FCiBfX1pON1dl
YkNvcmUzMU5vblNoYXJlZENoYXJhY3RlckJyZWFrSXRlcmF0b3JDMUVOM1dURjEwU3RyaW5nVmll
d0UKQEAgLTI3ODgsNyArMjc4NywxNiBAQCBfX1pOSzdXZWJDb3JlMjVBc3luY1Njcm9sbGluZ0Nv
b3JkaW5hdG9yMjRzY3JvbGxpbmdTdGF0ZVRyZWVBc1RleHRFdgogI2VuZGlmCiAKICNpZiBFTkFC
TEUoQVNZTkNfU0NST0xMSU5HKSAmJiBQTEFURk9STShNQUMpCi1fX1pON1dlYkNvcmUyOVNjcm9s
bGluZ1RyZWVTY3JvbGxpbmdOb2RlTWFjNmNyZWF0ZUVSTlNfMTNTY3JvbGxpbmdUcmVlRXkKK19f
Wk43V2ViQ29yZTI5U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVNYWM2Y3JlYXRlRVJOU18xM1Nj
cm9sbGluZ1RyZWVFTlNfMTdTY3JvbGxpbmdOb2RlVHlwZUV5CisjZW5kaWYKKworI2lmIEVOQUJM
RShBU1lOQ19TQ1JPTExJTkcpICYmIFBMQVRGT1JNKElPUykKK19fWk43V2ViQ29yZTI5U2Nyb2xs
aW5nVHJlZVNjcm9sbGluZ05vZGVJT1MyMHVwZGF0ZUJlZm9yZUNoaWxkcmVuRVJLTlNfMThTY3Jv
bGxpbmdTdGF0ZU5vZGVFCitfX1pON1dlYkNvcmUyOVNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2Rl
SU9TMTl1cGRhdGVBZnRlckNoaWxkcmVuRVJLTlNfMThTY3JvbGxpbmdTdGF0ZU5vZGVFCitfX1pO
N1dlYkNvcmUyOVNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlSU9TMTdzZXRTY3JvbGxQb3NpdGlv
bkVSS05TXzEwRmxvYXRQb2ludEUKK19fWk43V2ViQ29yZTI5U2Nyb2xsaW5nVHJlZVNjcm9sbGlu
Z05vZGVJT1NDMkVSTlNfMTNTY3JvbGxpbmdUcmVlRU5TXzE3U2Nyb2xsaW5nTm9kZVR5cGVFeQor
X19aTjdXZWJDb3JlMjlTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZUlPU0QyRXYKK19fWk43V2Vi
Q29yZTI5U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVJT1M2Y3JlYXRlRVJOU18xM1Njcm9sbGlu
Z1RyZWVFTlNfMTdTY3JvbGxpbmdOb2RlVHlwZUV5CiAjZW5kaWYKIAogI2lmIFVTRShBVkZPVU5E
QVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0Fz
eW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCmluZGV4IGJkMTE3ZmE1NWI4ZmYzZjRlMDk4NmQw
ZjY4YjRmNWViYjBiYTEyYTkuLmFiYzE1MjM3ZTk4ZGFiNzZmMDZiY2IzYzAyYTExOWIwNmMzMDM4
MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xs
aW5nQ29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0Fz
eW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCkBAIC0yODQsNyArMjg0LDcgQEAgdm9pZCBBc3lu
Y1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjpzeW5jQ2hpbGRQb3NpdGlvbnMoY29uc3QgTGF5b3V0UmVj
dCYgdmlld3BvcnRSZWMKIHZvaWQgQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6ZW5zdXJlUm9v
dFN0YXRlTm9kZUZvckZyYW1lVmlldyhGcmFtZVZpZXcqIGZyYW1lVmlldykKIHsKICAgICBBU1NF
UlQoZnJhbWVWaWV3LT5zY3JvbGxMYXllcklEKCkpOwotICAgIGF0dGFjaFRvU3RhdGVUcmVlKFNj
cm9sbGluZ05vZGUsIGZyYW1lVmlldy0+c2Nyb2xsTGF5ZXJJRCgpLCAwKTsKKyAgICBhdHRhY2hU
b1N0YXRlVHJlZShGcmFtZVNjcm9sbGluZ05vZGUsIGZyYW1lVmlldy0+c2Nyb2xsTGF5ZXJJRCgp
LCAwKTsKIH0KIAogdm9pZCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjp1cGRhdGVTY3JvbGxp
bmdOb2RlKFNjcm9sbGluZ05vZGVJRCBub2RlSUQsIEdyYXBoaWNzTGF5ZXIqIGxheWVyLCBHcmFw
aGljc0xheWVyKiBzY3JvbGxlZENvbnRlbnRzTGF5ZXIsIEdyYXBoaWNzTGF5ZXIqIGNvdW50ZXJT
Y3JvbGxpbmdMYXllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdDb29yZGluYXRvci5oCmluZGV4IDU5YWYwM2Q3YzZlZDYyNDU2MGE2NTA3MWFkOTVj
MmNhOGZkN2JiNjMuLjI0OTY1NmQ3MWNmNDM2NTVlYzBhY2ViZTYxM2E2OTNmZmEyMmUyNTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5h
dG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRp
bmF0b3IuaApAQCAtNDgsNyArNDgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB0eXBlZGVmIHVu
c2lnbmVkIFN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29uczsKIHR5cGVkZWYgdWludDY0X3QgU2Ny
b2xsaW5nTm9kZUlEOwogCi1lbnVtIFNjcm9sbGluZ05vZGVUeXBlIHsgU2Nyb2xsaW5nTm9kZSwg
Rml4ZWROb2RlLCBTdGlja3lOb2RlIH07CitlbnVtIFNjcm9sbGluZ05vZGVUeXBlIHsgRnJhbWVT
Y3JvbGxpbmdOb2RlLCBPdmVyZmxvd1Njcm9sbGluZ05vZGUsIEZpeGVkTm9kZSwgU3RpY2t5Tm9k
ZSB9OwogCiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIEZyYW1lOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWROb2RlLmgKaW5kZXgg
YTUyZDdiNmQwZTNlNDc4ZDQzZjQzMTgzZjRlYzExNDBkMzhiMTNmNS4uOTQ1YTZlMDI0N2NmZDJi
MTQ2MjhkODc0NTA0MzU4YTEyN2Y1YTUwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5oCkBAIC02Myw3ICs2Myw3
IEBAIHByaXZhdGU6CiAgICAgRml4ZWRQb3NpdGlvblZpZXdwb3J0Q29uc3RyYWludHMgbV9jb25z
dHJhaW50czsKIH07CiAKLVNDUk9MTElOR19TVEFURV9OT0RFX1RZUEVfQ0FTVFMoU2Nyb2xsaW5n
U3RhdGVGaXhlZE5vZGUsIG5vZGVUeXBlKCkgPT0gRml4ZWROb2RlKTsKK1NDUk9MTElOR19TVEFU
RV9OT0RFX1RZUEVfQ0FTVFMoU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUsIGlzRml4ZWROb2RlKCkp
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmgKaW5kZXggNDg4MGNhZTcwM2M5NmI1Y2I2
MmE1OWEyZDBiZTEwZTk4OTViNDZlMy4uMTMzNzNjM2FmZGY0MDY3ODUwODkxN2VkNDNhM2E1MzVm
NDBkZGRiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nU3RhdGVOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nU3RhdGVOb2RlLmgKQEAgLTE1Miw2ICsxNTIsMTAgQEAgcHVibGljOgogICAgIAogICAgIFNj
cm9sbGluZ05vZGVUeXBlIG5vZGVUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9ub2RlVHlwZTsgfQog
CisgICAgYm9vbCBpc0ZpeGVkTm9kZSgpIGNvbnN0IHsgcmV0dXJuIG5vZGVUeXBlKCkgPT0gRml4
ZWROb2RlOyB9CisgICAgYm9vbCBpc1N0aWNreU5vZGUoKSBjb25zdCB7IHJldHVybiBub2RlVHlw
ZSgpID09IFN0aWNreU5vZGU7IH0KKyAgICBib29sIGlzU2Nyb2xsaW5nTm9kZSgpIGNvbnN0IHsg
cmV0dXJuIG5vZGVUeXBlKCkgPT0gRnJhbWVTY3JvbGxpbmdOb2RlIHx8IG5vZGVUeXBlKCkgPT0g
T3ZlcmZsb3dTY3JvbGxpbmdOb2RlOyB9CisKICAgICB2aXJ0dWFsIFBhc3NPd25QdHI8U2Nyb2xs
aW5nU3RhdGVOb2RlPiBjbG9uZShTY3JvbGxpbmdTdGF0ZVRyZWUmIGFkb3B0aXZlVHJlZSkgPSAw
OwogICAgIFBhc3NPd25QdHI8U2Nyb2xsaW5nU3RhdGVOb2RlPiBjbG9uZUFuZFJlc2V0KFNjcm9s
bGluZ1N0YXRlVHJlZSYgYWRvcHRpdmVUcmVlKTsKICAgICB2b2lkIGNsb25lQW5kUmVzZXRDaGls
ZHJlbihTY3JvbGxpbmdTdGF0ZU5vZGUmLCBTY3JvbGxpbmdTdGF0ZVRyZWUmIGFkb3B0aXZlVHJl
ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdT
dGF0ZVNjcm9sbGluZ05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmNwcAppbmRleCBhMDRlZWM1NzFmZWZiOGVjZDA0ODc3
ZmFlZTA2ZjQ5M2MzMzU5ZmU2Li4zNzEyMzY3NGVjMmNiOTI4OWM4NzU2YTI0ZDVlNmE1NjhkMzYw
NDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdT
dGF0ZVNjcm9sbGluZ05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5jcHAKQEAgLTM0LDEzICszNCwxMyBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NPd25QdHI8U2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdO
b2RlPiBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OmNyZWF0ZShTY3JvbGxpbmdTdGF0ZVRy
ZWUmIHN0YXRlVHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKK1Bhc3NPd25QdHI8U2Nyb2xs
aW5nU3RhdGVTY3JvbGxpbmdOb2RlPiBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OmNyZWF0
ZShTY3JvbGxpbmdTdGF0ZVRyZWUmIHN0YXRlVHJlZSwgU2Nyb2xsaW5nTm9kZVR5cGUgbm9kZVR5
cGUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBT
Y3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUoc3RhdGVUcmVlLCBub2RlSUQpKTsKKyAgICByZXR1
cm4gYWRvcHRQdHIobmV3IFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZShzdGF0ZVRyZWUsIG5v
ZGVUeXBlLCBub2RlSUQpKTsKIH0KIAotU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpTY3Jv
bGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUoU2Nyb2xsaW5nU3RhdGVUcmVlJiBzdGF0ZVRyZWUsIFNj
cm9sbGluZ05vZGVJRCBub2RlSUQpCi0gICAgOiBTY3JvbGxpbmdTdGF0ZU5vZGUoU2Nyb2xsaW5n
Tm9kZSwgc3RhdGVUcmVlLCBub2RlSUQpCitTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OlNj
cm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZShTY3JvbGxpbmdTdGF0ZVRyZWUmIHN0YXRlVHJlZSwg
U2Nyb2xsaW5nTm9kZVR5cGUgbm9kZVR5cGUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCisgICAg
OiBTY3JvbGxpbmdTdGF0ZU5vZGUobm9kZVR5cGUsIHN0YXRlVHJlZSwgbm9kZUlEKQogI2lmIFBM
QVRGT1JNKE1BQykKICAgICAsIG1fdmVydGljYWxTY3JvbGxiYXJQYWludGVyKDApCiAgICAgLCBt
X2hvcml6b250YWxTY3JvbGxiYXJQYWludGVyKDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5oCmluZGV4
IGIyNGQ4NmIzMzRlNGU5MzY0MDQ4ZWEwODMxZjkxZDc2NzY3YmVmMWUuLjZjY2U1YTM2NTc0ZTFk
N2Y3ODdiYmFkMjJlZGRhMWIwYTQyZmI0OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5oCkBAIC00
Myw3ICs0Myw3IEBAIGNsYXNzIFNjcm9sbGJhcjsKIAogY2xhc3MgU2Nyb2xsaW5nU3RhdGVTY3Jv
bGxpbmdOb2RlIGZpbmFsIDogcHVibGljIFNjcm9sbGluZ1N0YXRlTm9kZSB7CiBwdWJsaWM6Ci0g
ICAgc3RhdGljIFBhc3NPd25QdHI8U2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlPiBjcmVhdGUo
U2Nyb2xsaW5nU3RhdGVUcmVlJiwgU2Nyb2xsaW5nTm9kZUlEKTsKKyAgICBzdGF0aWMgUGFzc093
blB0cjxTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU+IGNyZWF0ZShTY3JvbGxpbmdTdGF0ZVRy
ZWUmLCBTY3JvbGxpbmdOb2RlVHlwZSwgU2Nyb2xsaW5nTm9kZUlEKTsKIAogICAgIHZpcnR1YWwg
UGFzc093blB0cjxTY3JvbGxpbmdTdGF0ZU5vZGU+IGNsb25lKFNjcm9sbGluZ1N0YXRlVHJlZSYp
OwogCkBAIC0xMzUsNyArMTM1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkdW1wUHJv
cGVydGllcyhUZXh0U3RyZWFtJiwgaW50IGluZGVudCkgY29uc3Qgb3ZlcnJpZGU7CiAKIHByaXZh
dGU6Ci0gICAgU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlKFNjcm9sbGluZ1N0YXRlVHJlZSYs
IFNjcm9sbGluZ05vZGVJRCk7CisgICAgU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlKFNjcm9s
bGluZ1N0YXRlVHJlZSYsIFNjcm9sbGluZ05vZGVUeXBlLCBTY3JvbGxpbmdOb2RlSUQpOwogICAg
IFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZShjb25zdCBTY3JvbGxpbmdTdGF0ZVNjcm9sbGlu
Z05vZGUmLCBTY3JvbGxpbmdTdGF0ZVRyZWUmKTsKIAogICAgIExheWVyUmVwcmVzZW50YXRpb24g
bV9zY3JvbGxlZENvbnRlbnRzTGF5ZXI7CkBAIC0xNjUsNyArMTY1LDcgQEAgcHJpdmF0ZToKICAg
ICBib29sIG1fcmVxdWVzdGVkU2Nyb2xsUG9zaXRpb25SZXByZXNlbnRzUHJvZ3JhbW1hdGljU2Ny
b2xsOwogfTsKIAotU0NST0xMSU5HX1NUQVRFX05PREVfVFlQRV9DQVNUUyhTY3JvbGxpbmdTdGF0
ZVNjcm9sbGluZ05vZGUsIG5vZGVUeXBlKCkgPT0gU2Nyb2xsaW5nTm9kZSk7CitTQ1JPTExJTkdf
U1RBVEVfTk9ERV9UWVBFX0NBU1RTKFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZSwgaXNTY3Jv
bGxpbmdOb2RlKCkpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZS5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmgK
aW5kZXggYjk2NDkwZGRjZTBmZGI1ODQ4YjAxNTZhMTdmMjc5NWViMWIzMTE5YS4uNzVlNzI3OTFj
OTA0ODc5MmRmNGY3NWU1YzI2MzQwNTgzZWU0ZDc5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmgKQEAgLTYz
LDcgKzYzLDcgQEAgcHJpdmF0ZToKICAgICBTdGlja3lQb3NpdGlvblZpZXdwb3J0Q29uc3RyYWlu
dHMgbV9jb25zdHJhaW50czsKIH07CiAKLVNDUk9MTElOR19TVEFURV9OT0RFX1RZUEVfQ0FTVFMo
U2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLCBub2RlVHlwZSgpID09IFN0aWNreU5vZGUpOworU0NS
T0xMSU5HX1NUQVRFX05PREVfVFlQRV9DQVNUUyhTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUsIGlz
U3RpY2t5Tm9kZSgpKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVUcmVlLmNwcAppbmRleCAx
YzYyNTFlNzI4YmFhM2JjMDZkYjE5M2IwZDRhYWM4ZTVjMDM5Mjg4Li5iYzJiNjdmMzA1MWU3NzFm
MGI4YTg3MTYwNjczMzNjZWQ2MTNhY2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5jcHAKQEAgLTg2LDcgKzg2LDcgQEAgU2Ny
b2xsaW5nTm9kZUlEIFNjcm9sbGluZ1N0YXRlVHJlZTo6YXR0YWNoTm9kZShTY3JvbGxpbmdOb2Rl
VHlwZSBub2RlVHlwZSwgU2Nyb2wKICAgICAgICAgLy8gSWYgd2UncmUgcmVzZXR0aW5nIHRoZSBy
b290IG5vZGUsIHdlIHNob3VsZCBjbGVhciB0aGUgSGFzaE1hcCBhbmQgZGVzdHJveSB0aGUgY3Vy
cmVudCBjaGlsZHJlbi4KICAgICAgICAgY2xlYXIoKTsKIAotICAgICAgICBzZXRSb290U3RhdGVO
b2RlKFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6Y3JlYXRlKCp0aGlzLCBuZXdOb2RlSUQp
KTsKKyAgICAgICAgc2V0Um9vdFN0YXRlTm9kZShTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6
OmNyZWF0ZSgqdGhpcywgRnJhbWVTY3JvbGxpbmdOb2RlLCBuZXdOb2RlSUQpKTsKICAgICAgICAg
bmV3Tm9kZSA9IHJvb3RTdGF0ZU5vZGUoKTsKICAgICAgICAgbV9oYXNOZXdSb290U3RhdGVOb2Rl
ID0gdHJ1ZTsKICAgICB9IGVsc2UgewpAQCAtMTA3LDggKzEwNyw5IEBAIFNjcm9sbGluZ05vZGVJ
RCBTY3JvbGxpbmdTdGF0ZVRyZWU6OmF0dGFjaE5vZGUoU2Nyb2xsaW5nTm9kZVR5cGUgbm9kZVR5
cGUsIFNjcm9sCiAgICAgICAgICAgICBwYXJlbnQtPmFwcGVuZENoaWxkKHN0aWNreU5vZGUucmVs
ZWFzZSgpKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9Ci0gICAgICAgIGNhc2UgU2Ny
b2xsaW5nTm9kZTogewotICAgICAgICAgICAgT3duUHRyPFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5n
Tm9kZT4gc2Nyb2xsaW5nTm9kZSA9IFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6Y3JlYXRl
KCp0aGlzLCBuZXdOb2RlSUQpOworICAgICAgICBjYXNlIEZyYW1lU2Nyb2xsaW5nTm9kZToKKyAg
ICAgICAgY2FzZSBPdmVyZmxvd1Njcm9sbGluZ05vZGU6IHsKKyAgICAgICAgICAgIE93blB0cjxT
Y3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU+IHNjcm9sbGluZ05vZGUgPSBTY3JvbGxpbmdTdGF0
ZVNjcm9sbGluZ05vZGU6OmNyZWF0ZSgqdGhpcywgbm9kZVR5cGUsIG5ld05vZGVJRCk7CiAgICAg
ICAgICAgICBuZXdOb2RlID0gc2Nyb2xsaW5nTm9kZS5nZXQoKTsKICAgICAgICAgICAgIHBhcmVu
dC0+YXBwZW5kQ2hpbGQoc2Nyb2xsaW5nTm9kZS5yZWxlYXNlKCkpOwogICAgICAgICAgICAgYnJl
YWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdU
cmVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3Bw
CmluZGV4IDE0YmYwZjEzZTU5NDU2M2YzYzI5Mzg2MDE2NjE4YjU2NzBhYTlhNmQuLmU1NzM3NGUy
ZGExN2YyYmVhMzg2MTg3NDNhMTRjYTVkNjQ2MTEwZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwCkBAIC0xMDQsNyArMTA0LDcgQEAgdm9p
ZCBTY3JvbGxpbmdUcmVlOjp2aWV3cG9ydENoYW5nZWRWaWFEZWxlZ2F0ZWRTY3JvbGxpbmcoU2Ny
b2xsaW5nTm9kZUlEIG5vZGVJRCwKICAgICBpZiAoIW5vZGUpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIGlmIChub2RlLT5ub2RlVHlwZSgpICE9IFNjcm9sbGluZ05vZGUpCisgICAgaWYgKG5vZGUt
Pm5vZGVUeXBlKCkgIT0gRnJhbWVTY3JvbGxpbmdOb2RlICYmIG5vZGUtPm5vZGVUeXBlKCkgIT0g
T3ZlcmZsb3dTY3JvbGxpbmdOb2RlKQogICAgICAgICByZXR1cm47CiAKICAgICB0b1Njcm9sbGlu
Z1RyZWVTY3JvbGxpbmdOb2RlKG5vZGUpLT51cGRhdGVGb3JWaWV3cG9ydCh2aWV3cG9ydFJlY3Qs
IHNjYWxlKTsKQEAgLTE2MSw3ICsxNjEsNyBAQCB2b2lkIFNjcm9sbGluZ1RyZWU6OnVwZGF0ZVRy
ZWVGcm9tU3RhdGVOb2RlKGNvbnN0IFNjcm9sbGluZ1N0YXRlTm9kZSogc3RhdGVOb2RlKQogICAg
ICAgICAgICAgLy8gVGhpcyBpcyB0aGUgcm9vdCBub2RlLiBOdWtlIHRoZSBub2RlIG1hcC4KICAg
ICAgICAgICAgIG1fbm9kZU1hcC5jbGVhcigpOwogCi0gICAgICAgICAgICBtX3Jvb3ROb2RlID0g
c3RhdGljX3BvaW50ZXJfY2FzdDxTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZT4oY3JlYXRlTm9k
ZShTY3JvbGxpbmdOb2RlLCBub2RlSUQpKTsKKyAgICAgICAgICAgIG1fcm9vdE5vZGUgPSBzdGF0
aWNfcG9pbnRlcl9jYXN0PFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlPihjcmVhdGVOb2RlKEZy
YW1lU2Nyb2xsaW5nTm9kZSwgbm9kZUlEKSk7CiAgICAgICAgICAgICBtX25vZGVNYXAuc2V0KG5v
ZGVJRCwgbV9yb290Tm9kZS5nZXQoKSk7CiAgICAgICAgICAgICBtX3Jvb3ROb2RlLT51cGRhdGVC
ZWZvcmVDaGlsZHJlbigqc3RhdGVOb2RlKTsKICAgICAgICAgICAgIG5vZGUgPSBtX3Jvb3ROb2Rl
LmdldCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nVHJlZU5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1Ry
ZWVOb2RlLmgKaW5kZXggMzg0ZDNiOTg0ZDQ3NTBiNGFmNzk4NzRmY2YyMjg2ZjMyY2I4MzQ5ZC4u
NWYwZGRiMTA5ZDQzYTljNTgxMDI4YzBiNDEyYWEyYjI0OWYyOGI3NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZU5vZGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlTm9kZS5oCkBAIC00NSw2ICs0
NSwxMCBAQCBwdWJsaWM6CiAKICAgICBTY3JvbGxpbmdOb2RlVHlwZSBub2RlVHlwZSgpIGNvbnN0
IHsgcmV0dXJuIG1fbm9kZVR5cGU7IH0KICAgICBTY3JvbGxpbmdOb2RlSUQgc2Nyb2xsaW5nTm9k
ZUlEKCkgY29uc3QgeyByZXR1cm4gbV9ub2RlSUQ7IH0KKyAgICAKKyAgICBib29sIGlzRml4ZWRO
b2RlKCkgY29uc3QgeyByZXR1cm4gbm9kZVR5cGUoKSA9PSBGaXhlZE5vZGU7IH0KKyAgICBib29s
IGlzU3RpY2t5Tm9kZSgpIGNvbnN0IHsgcmV0dXJuIG5vZGVUeXBlKCkgPT0gU3RpY2t5Tm9kZTsg
fQorICAgIGJvb2wgaXNTY3JvbGxpbmdOb2RlKCkgY29uc3QgeyByZXR1cm4gbm9kZVR5cGUoKSA9
PSBGcmFtZVNjcm9sbGluZ05vZGUgfHwgbm9kZVR5cGUoKSA9PSBPdmVyZmxvd1Njcm9sbGluZ05v
ZGU7IH0KIAogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVCZWZvcmVDaGlsZHJlbihjb25zdCBTY3Jv
bGxpbmdTdGF0ZU5vZGUmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUFmdGVyQ2hpbGRy
ZW4oY29uc3QgU2Nyb2xsaW5nU3RhdGVOb2RlJikgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAK
aW5kZXggMzFhNzE3NDcxNDI1Y2QyZmQ3ZDBjMDE5NTg5ZTc1YmQ2ZTQzOWIyZS4uZjg0MTM5N2E4
NzM2ZTU4NDEwOTRhNWMzM2M0NjMxNTYwNmE0OTU2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmNw
cApAQCAtMzMsOCArMzMsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVNjcm9sbGluZ1Ry
ZWVTY3JvbGxpbmdOb2RlOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZShTY3JvbGxpbmdUcmVl
JiBzY3JvbGxpbmdUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQotICAgIDogU2Nyb2xsaW5n
VHJlZU5vZGUoc2Nyb2xsaW5nVHJlZSwgU2Nyb2xsaW5nTm9kZSwgbm9kZUlEKQorU2Nyb2xsaW5n
VHJlZVNjcm9sbGluZ05vZGU6OlNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlKFNjcm9sbGluZ1Ry
ZWUmIHNjcm9sbGluZ1RyZWUsIFNjcm9sbGluZ05vZGVUeXBlIG5vZGVUeXBlLCBTY3JvbGxpbmdO
b2RlSUQgbm9kZUlEKQorICAgIDogU2Nyb2xsaW5nVHJlZU5vZGUoc2Nyb2xsaW5nVHJlZSwgbm9k
ZVR5cGUsIG5vZGVJRCkKICAgICAsIG1fZnJhbWVTY2FsZUZhY3RvcigxKQogICAgICwgbV9oZWFk
ZXJIZWlnaHQoMCkKICAgICAsIG1fZm9vdGVySGVpZ2h0KDApCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuaApp
bmRleCAzMDE2NGYwM2UwN2IxYjg5MGU4ZGExOWEzNTUwZmUwYjdjNDM2YzQyLi5mOGY5Yzc1ZTVk
NzUxZjdkZDY4ZTUyZmQzNmZiMzhhNTI5ZWI1MTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmgKQEAg
LTU4LDcgKzU4LDcgQEAgcHVibGljOgogICAgIGJvb2wgc2hvdWxkVXBkYXRlU2Nyb2xsTGF5ZXJQ
b3NpdGlvblN5bmNocm9ub3VzbHkoKSBjb25zdCB7IHJldHVybiBtX3N5bmNocm9ub3VzU2Nyb2xs
aW5nUmVhc29uczsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGUoU2Nyb2xsaW5nVHJlZSYsIFNjcm9sbGluZ05vZGVJRCk7CisgICAgU2Nyb2xsaW5nVHJlZVNj
cm9sbGluZ05vZGUoU2Nyb2xsaW5nVHJlZSYsIFNjcm9sbGluZ05vZGVUeXBlLCBTY3JvbGxpbmdO
b2RlSUQpOwogCiAgICAgY29uc3QgRmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRpb24oKSBjb25zdCB7
IHJldHVybiBtX3Njcm9sbFBvc2l0aW9uOyB9CiAgICAgY29uc3QgRmxvYXRTaXplJiB2aWV3cG9y
dFNpemUoKSBjb25zdCB7IHJldHVybiBtX3ZpZXdwb3J0U2l6ZTsgfQpAQCAtMTA0LDcgKzEwNCw3
IEBAIHByaXZhdGU6CiAgICAgU2Nyb2xsQmVoYXZpb3JGb3JGaXhlZEVsZW1lbnRzIG1fYmVoYXZp
b3JGb3JGaXhlZDsKIH07CiAKLVNDUk9MTElOR19OT0RFX1RZUEVfQ0FTVFMoU2Nyb2xsaW5nVHJl
ZVNjcm9sbGluZ05vZGUsIG5vZGVUeXBlKCkgPT0gU2Nyb2xsaW5nTm9kZSk7CitTQ1JPTExJTkdf
Tk9ERV9UWVBFX0NBU1RTKFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLCBpc1Njcm9sbGluZ05v
ZGUoKSk7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLm1tIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLm1t
CmluZGV4IDJlNTU3ZjZhM2NhYmJkYmZhYjNlMmFhYWQ3ZTRiYjFlOTcwYjNlMjkuLjQ2ODAxMTZm
YzAwZGY3NDQ0MGQ3MzliYzZjZTk1N2RiNDUzOTU4ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1Mu
bW0KQEAgLTEwOSw4ICsxMDksOSBAQCBQYXNzT3duUHRyPFNjcm9sbGluZ1RyZWVOb2RlPiBTY3Jv
bGxpbmdDb29yZGluYXRvcklPUzo6Y3JlYXRlU2Nyb2xsaW5nVHJlZU5vZGUoUwogICAgIEFTU0VS
VChzY3JvbGxpbmdUcmVlKCkpOwogCiAgICAgc3dpdGNoIChub2RlVHlwZSkgewotICAgIGNhc2Ug
U2Nyb2xsaW5nTm9kZToKLSAgICAgICAgcmV0dXJuIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2Rl
SU9TOjpjcmVhdGUoKnNjcm9sbGluZ1RyZWUoKSwgbm9kZUlEKTsKKyAgICBjYXNlIEZyYW1lU2Ny
b2xsaW5nTm9kZToKKyAgICBjYXNlIE92ZXJmbG93U2Nyb2xsaW5nTm9kZToKKyAgICAgICAgcmV0
dXJuIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlSU9TOjpjcmVhdGUoKnNjcm9sbGluZ1RyZWUo
KSwgbm9kZVR5cGUsIG5vZGVJRCk7CiAgICAgY2FzZSBGaXhlZE5vZGU6CiAgICAgICAgIHJldHVy
biBTY3JvbGxpbmdUcmVlRml4ZWROb2RlOjpjcmVhdGUoKnNjcm9sbGluZ1RyZWUoKSwgbm9kZUlE
KTsKICAgICBjYXNlIFN0aWNreU5vZGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVJT1MuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZUlPUy5o
CmluZGV4IDUzNzYzNzg1NDNlMGRjYmY4ZTMwZDg5OTYyOGM1YjIwNWM2YThlMWMuLmFlODdkMGIy
YTUyN2U2NjA3OTY2N2JlZjYyMWQzOWViMmQzZjc0N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZUlPUy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xs
aW5nTm9kZUlPUy5oCkBAIC0zNywxMiArMzcsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZUlPUyA6IHB1YmxpYyBTY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8U2Nyb2xsaW5n
VHJlZVNjcm9sbGluZ05vZGU+IGNyZWF0ZShTY3JvbGxpbmdUcmVlJiwgU2Nyb2xsaW5nTm9kZUlE
KTsKKyAgICBzdGF0aWMgUGFzc093blB0cjxTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZT4gY3Jl
YXRlKFNjcm9sbGluZ1RyZWUmLCBTY3JvbGxpbmdOb2RlVHlwZSwgU2Nyb2xsaW5nTm9kZUlEKTsK
ICAgICB2aXJ0dWFsIH5TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZUlPUygpOwogCi1wcml2YXRl
OgotICAgIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlSU9TKFNjcm9sbGluZ1RyZWUmLCBTY3Jv
bGxpbmdOb2RlSUQpOworcHJvdGVjdGVkOgorICAgIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2Rl
SU9TKFNjcm9sbGluZ1RyZWUmLCBTY3JvbGxpbmdOb2RlVHlwZSwgU2Nyb2xsaW5nTm9kZUlEKTsK
IAorcHJpdmF0ZToKICAgICAvLyBTY3JvbGxpbmdUcmVlTm9kZSBtZW1iZXIgZnVuY3Rpb25zLgog
ICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVCZWZvcmVDaGlsZHJlbihjb25zdCBTY3JvbGxpbmdTdGF0
ZU5vZGUmKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQWZ0ZXJDaGlsZHJlbihj
b25zdCBTY3JvbGxpbmdTdGF0ZU5vZGUmKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZUlPUy5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xs
aW5nTm9kZUlPUy5tbQppbmRleCA2YmYzNjU5NDUyODE3MDk1ZmNjNzRkZTQyOTE0N2NkNjE0OTY2
MTBmLi5hYTY5ZTY2YjU0YzBkNzkyMTVkNTZhNjg2M2ViMzNiZDIyMWZkMDQ0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGlu
Z05vZGVJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9s
bGluZ1RyZWVTY3JvbGxpbmdOb2RlSU9TLm1tCkBAIC00MCwxMyArNDAsMTMgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1QYXNzT3duUHRyPFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlPiBT
Y3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZUlPUzo6Y3JlYXRlKFNjcm9sbGluZ1RyZWUmIHNjcm9s
bGluZ1RyZWUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCitQYXNzT3duUHRyPFNjcm9sbGluZ1Ry
ZWVTY3JvbGxpbmdOb2RlPiBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZUlPUzo6Y3JlYXRlKFNj
cm9sbGluZ1RyZWUmIHNjcm9sbGluZ1RyZWUsIFNjcm9sbGluZ05vZGVUeXBlIG5vZGVUeXBlLCBT
Y3JvbGxpbmdOb2RlSUQgbm9kZUlEKQogewotICAgIHJldHVybiBhZG9wdFB0cihuZXcgU2Nyb2xs
aW5nVHJlZVNjcm9sbGluZ05vZGVJT1Moc2Nyb2xsaW5nVHJlZSwgbm9kZUlEKSk7CisgICAgcmV0
dXJuIGFkb3B0UHRyKG5ldyBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZUlPUyhzY3JvbGxpbmdU
cmVlLCBub2RlVHlwZSwgbm9kZUlEKSk7CiB9CiAKLVNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2Rl
SU9TOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZUlPUyhTY3JvbGxpbmdUcmVlJiBzY3JvbGxp
bmdUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQotICAgIDogU2Nyb2xsaW5nVHJlZVNjcm9s
bGluZ05vZGUoc2Nyb2xsaW5nVHJlZSwgbm9kZUlEKQorU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGVJT1M6OlNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlSU9TKFNjcm9sbGluZ1RyZWUmIHNjcm9s
bGluZ1RyZWUsIFNjcm9sbGluZ05vZGVUeXBlIG5vZGVUeXBlLCBTY3JvbGxpbmdOb2RlSUQgbm9k
ZUlEKQorICAgIDogU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUoc2Nyb2xsaW5nVHJlZSwgbm9k
ZVR5cGUsIG5vZGVJRCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tCmluZGV4IGYwZTJl
NDZmYjk5YzFlMTA4OTVjMDk4ZmUzMTBmNzU2ZGU1ZDRiMWMuLjllODBkOTY5ODM0YjQ1ZTU2MmU3
MDRjZGI1NTRlM2Y0ZWUxMWFkODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0KQEAgLTE0Nyw4
ICsxNDcsOSBAQCBQYXNzT3duUHRyPFNjcm9sbGluZ1RyZWVOb2RlPiBTY3JvbGxpbmdDb29yZGlu
YXRvck1hYzo6Y3JlYXRlU2Nyb2xsaW5nVHJlZU5vZGUoUwogICAgIEFTU0VSVChzY3JvbGxpbmdU
cmVlKCkpOwogCiAgICAgc3dpdGNoIChub2RlVHlwZSkgewotICAgIGNhc2UgU2Nyb2xsaW5nTm9k
ZToKLSAgICAgICAgcmV0dXJuIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlTWFjOjpjcmVhdGUo
KnNjcm9sbGluZ1RyZWUoKSwgbm9kZUlEKTsKKyAgICBjYXNlIEZyYW1lU2Nyb2xsaW5nTm9kZToK
KyAgICBjYXNlIE92ZXJmbG93U2Nyb2xsaW5nTm9kZTogLy8gTm90IHlldCBjcmVhdGVkIG9uIE1h
Yy4KKyAgICAgICAgcmV0dXJuIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlTWFjOjpjcmVhdGUo
KnNjcm9sbGluZ1RyZWUoKSwgbm9kZVR5cGUsIG5vZGVJRCk7CiAgICAgY2FzZSBGaXhlZE5vZGU6
CiAgICAgICAgIHJldHVybiBTY3JvbGxpbmdUcmVlRml4ZWROb2RlOjpjcmVhdGUoKnNjcm9sbGlu
Z1RyZWUoKSwgbm9kZUlEKTsKICAgICBjYXNlIFN0aWNreU5vZGU6CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZS5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGaXhlZE5vZGUu
aAppbmRleCA4OTcyZmRmMGIwZmQ1YzE4MGViYWQyMDdmYWE0Y2VlNTgyZTUxMjYzLi5lYWRlNGRh
M2NlODM3MGRhMzY2MzlkNWIxZjk2NDI0ZGQ3YzZmYWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRml4ZWROb2RlLmgK
QEAgLTU0LDcgKzU0LDcgQEAgcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8Q0FMYXllcj4gbV9sYXll
cjsKIH07CiAKLVNDUk9MTElOR19OT0RFX1RZUEVfQ0FTVFMoU2Nyb2xsaW5nVHJlZUZpeGVkTm9k
ZSwgbm9kZVR5cGUoKSA9PSBGaXhlZE5vZGUpOworU0NST0xMSU5HX05PREVfVFlQRV9DQVNUUyhT
Y3JvbGxpbmdUcmVlRml4ZWROb2RlLCBpc0ZpeGVkTm9kZSgpKTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMv
U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZU1hYy5oCmluZGV4IDc2NWYwNzI4
YTg5MzhhMTQ5NDY3MDRjN2U5NjAxYTU1MjE2MzRmYzkuLmU4MmNkZWMwZDcwYzgwNTM0ODY1YTNi
MDE4YmRjNTIyM2MyYWQ4NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZU1hYy5oCkBA
IC0zOSwxMSArMzksMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTY3JvbGxpbmdU
cmVlU2Nyb2xsaW5nTm9kZU1hYyA6IHB1YmxpYyBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZSwg
cHJpdmF0ZSBTY3JvbGxFbGFzdGljaXR5Q29udHJvbGxlckNsaWVudCB7CiBwdWJsaWM6Ci0gICAg
c3RhdGljIFBhc3NPd25QdHI8U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU+IGNyZWF0ZShTY3Jv
bGxpbmdUcmVlJiwgU2Nyb2xsaW5nTm9kZUlEKTsKKyAgICBzdGF0aWMgUGFzc093blB0cjxTY3Jv
bGxpbmdUcmVlU2Nyb2xsaW5nTm9kZT4gY3JlYXRlKFNjcm9sbGluZ1RyZWUmLCBTY3JvbGxpbmdO
b2RlVHlwZSwgU2Nyb2xsaW5nTm9kZUlEKTsKICAgICB2aXJ0dWFsIH5TY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZU1hYygpOwogCiBwcml2YXRlOgotICAgIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdO
b2RlTWFjKFNjcm9sbGluZ1RyZWUmLCBTY3JvbGxpbmdOb2RlSUQpOworICAgIFNjcm9sbGluZ1Ry
ZWVTY3JvbGxpbmdOb2RlTWFjKFNjcm9sbGluZ1RyZWUmLCBTY3JvbGxpbmdOb2RlVHlwZSwgU2Ny
b2xsaW5nTm9kZUlEKTsKIAogICAgIC8vIFNjcm9sbGluZ1RyZWVOb2RlIG1lbWJlciBmdW5jdGlv
bnMuCiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUJlZm9yZUNoaWxkcmVuKGNvbnN0IFNjcm9sbGlu
Z1N0YXRlTm9kZSYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlTWFjLm1tIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlTWFjLm1t
CmluZGV4IDI4Y2MyY2E5ZjU3NzRiMzQwYjVhYmNhMmFjYWU5MWIwNDllMzMzMWYuLjZmYmJjOTY1
OTcxOGU3NmFhYTM0OWQyMjVjMTkwYjU2OWNjZDZiZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZU1hYy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9s
bGluZ05vZGVNYWMubW0KQEAgLTUwLDEzICs1MCwxMyBAQCBzdGF0aWMgdm9pZCBsb2dUaHJlYWRl
ZFNjcm9sbGluZ01vZGUodW5zaWduZWQgc3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKTsKIHN0
YXRpYyB2b2lkIGxvZ1doZWVsRXZlbnRIYW5kbGVyQ291bnRDaGFuZ2VkKHVuc2lnbmVkKTsKIAog
Ci1QYXNzT3duUHRyPFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlPiBTY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZU1hYzo6Y3JlYXRlKFNjcm9sbGluZ1RyZWUmIHNjcm9sbGluZ1RyZWUsIFNjcm9s
bGluZ05vZGVJRCBub2RlSUQpCitQYXNzT3duUHRyPFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2Rl
PiBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZU1hYzo6Y3JlYXRlKFNjcm9sbGluZ1RyZWUmIHNj
cm9sbGluZ1RyZWUsIFNjcm9sbGluZ05vZGVUeXBlIG5vZGVUeXBlLCBTY3JvbGxpbmdOb2RlSUQg
bm9kZUlEKQogewotICAgIHJldHVybiBhZG9wdFB0cihuZXcgU2Nyb2xsaW5nVHJlZVNjcm9sbGlu
Z05vZGVNYWMoc2Nyb2xsaW5nVHJlZSwgbm9kZUlEKSk7CisgICAgcmV0dXJuIGFkb3B0UHRyKG5l
dyBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZU1hYyhzY3JvbGxpbmdUcmVlLCBub2RlVHlwZSwg
bm9kZUlEKSk7CiB9CiAKLVNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlTWFjOjpTY3JvbGxpbmdU
cmVlU2Nyb2xsaW5nTm9kZU1hYyhTY3JvbGxpbmdUcmVlJiBzY3JvbGxpbmdUcmVlLCBTY3JvbGxp
bmdOb2RlSUQgbm9kZUlEKQotICAgIDogU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUoc2Nyb2xs
aW5nVHJlZSwgbm9kZUlEKQorU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVNYWM6OlNjcm9sbGlu
Z1RyZWVTY3JvbGxpbmdOb2RlTWFjKFNjcm9sbGluZ1RyZWUmIHNjcm9sbGluZ1RyZWUsIFNjcm9s
bGluZ05vZGVUeXBlIG5vZGVUeXBlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQorICAgIDogU2Ny
b2xsaW5nVHJlZVNjcm9sbGluZ05vZGUoc2Nyb2xsaW5nVHJlZSwgbm9kZVR5cGUsIG5vZGVJRCkK
ICAgICAsIG1fc2Nyb2xsRWxhc3RpY2l0eUNvbnRyb2xsZXIodGhpcykKICAgICAsIG1fdmVydGlj
YWxTY3JvbGxiYXJQYWludGVyKDApCiAgICAgLCBtX2hvcml6b250YWxTY3JvbGxiYXJQYWludGVy
KDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xs
aW5nVHJlZVN0aWNreU5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oCmluZGV4IDgwZTFkZmFmNTNiODhkNTk5ZWZhMDRhMTcx
MTgwZmIzMDk4MTlmOWMuLmU5ZWI1N2Q0Zjk0NjkxNGQ2MWI1MzRkZDU5ODRmYjUwYWQxYTRkMTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdU
cmVlU3RpY2t5Tm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oCkBAIC01NCw3ICs1NCw3IEBAIHByaXZhdGU6CiAgICAg
UmV0YWluUHRyPENBTGF5ZXI+IG1fbGF5ZXI7CiB9OwogCi1TQ1JPTExJTkdfTk9ERV9UWVBFX0NB
U1RTKFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlLCBub2RlVHlwZSgpID09IFN0aWNreU5vZGUpOwor
U0NST0xMSU5HX05PREVfVFlQRV9DQVNUUyhTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZSwgaXNTdGlj
a3lOb2RlKCkpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKaW5kZXggODcxNzRjZmQ2
YTc1YWI1ODAwMGVlYTgxM2RmNjFiZTFhN2Y5ODg1ZC4uY2Y3NzI4YmQxZGUxYjA2N2VlYjYxMzdl
NmQyNDY1MGQ5NjNhNDZlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTM0ODIsNyArMzQ4Miw3IEBAIHZvaWQgUmVuZGVy
TGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVTY3JvbGxDb29yZGluYXRlZExheWVyKFJlbmRlckxheWVy
JiBsYXllciwgU2NyCiAgICAgICAgIGlmICghbm9kZUlEKQogICAgICAgICAgICAgbm9kZUlEID0g
c2Nyb2xsaW5nQ29vcmRpbmF0b3ItPnVuaXF1ZVNjcm9sbExheWVySUQoKTsKIAotICAgICAgICBT
Y3JvbGxpbmdOb2RlVHlwZSBub2RlVHlwZSA9IFNjcm9sbGluZ05vZGU7CisgICAgICAgIFNjcm9s
bGluZ05vZGVUeXBlIG5vZGVUeXBlID0gRnJhbWVTY3JvbGxpbmdOb2RlOwogICAgICAgICBpZiAo
bGF5ZXIucmVuZGVyZXIoKS5zdHlsZSgpLnBvc2l0aW9uKCkgPT0gRml4ZWRQb3NpdGlvbikKICAg
ICAgICAgICAgIG5vZGVUeXBlID0gRml4ZWROb2RlOwogICAgICAgICBlbHNlIGlmIChsYXllci5y
ZW5kZXJlcigpLnN0eWxlKCkucG9zaXRpb24oKSA9PSBTdGlja3lQb3NpdGlvbikKQEAgLTM1MDAs
NyArMzUwMCw4IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVTY3JvbGxDb29y
ZGluYXRlZExheWVyKFJlbmRlckxheWVyJiBsYXllciwgU2NyCiAgICAgICAgIGNhc2UgU3RpY2t5
Tm9kZToKICAgICAgICAgICAgIHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT51cGRhdGVWaWV3cG9ydENv
bnN0cmFpbmVkTm9kZShub2RlSUQsIGNvbXB1dGVTdGlja3lWaWV3cG9ydENvbnN0cmFpbnRzKGxh
eWVyKSwgYmFja2luZy0+Z3JhcGhpY3NMYXllcigpKTsKICAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICBjYXNlIFNjcm9sbGluZ05vZGU6CisgICAgICAgIGNhc2UgRnJhbWVTY3JvbGxpbmdOb2Rl
OgorICAgICAgICBjYXNlIE92ZXJmbG93U2Nyb2xsaW5nTm9kZToKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICB9CiAgICAgICAgIApAQCAtMzUxMiwxNCArMzUxMywxNCBAQCB2b2lkIFJlbmRl
ckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlU2Nyb2xsQ29vcmRpbmF0ZWRMYXllcihSZW5kZXJMYXll
ciYgbGF5ZXIsIFNjcgogICAgICAgICBpZiAoIW5vZGVJRCkKICAgICAgICAgICAgIG5vZGVJRCA9
IHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT51bmlxdWVTY3JvbGxMYXllcklEKCk7CiAKLSAgICAgICAg
bm9kZUlEID0gc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPmF0dGFjaFRvU3RhdGVUcmVlKFNjcm9sbGlu
Z05vZGUsIG5vZGVJRCwgcGFyZW50Tm9kZUlEKTsKKyAgICAgICAgbm9kZUlEID0gc2Nyb2xsaW5n
Q29vcmRpbmF0b3ItPmF0dGFjaFRvU3RhdGVUcmVlKGlzUm9vdExheWVyID8gRnJhbWVTY3JvbGxp
bmdOb2RlIDogT3ZlcmZsb3dTY3JvbGxpbmdOb2RlLCBub2RlSUQsIHBhcmVudE5vZGVJRCk7CiAg
ICAgICAgIGJhY2tpbmctPnNldFNjcm9sbGluZ05vZGVJRChub2RlSUQpOwogCiAgICAgICAgIEdy
YXBoaWNzTGF5ZXIqIHNjcm9sbGluZ0xheWVyID0gYmFja2luZy0+c2Nyb2xsaW5nTGF5ZXIoKTsK
ICAgICAgICAgR3JhcGhpY3NMYXllciogc2Nyb2xsZWRDb250ZW50c0xheWVyID0gYmFja2luZy0+
c2Nyb2xsaW5nQ29udGVudHNMYXllcigpOwogICAgICAgICBHcmFwaGljc0xheWVyKiBjb3VudGVy
U2Nyb2xsaW5nTGF5ZXIgPSBudWxscHRyOwogCi0gICAgICAgIGlmICgmbGF5ZXIgPT0gbV9yZW5k
ZXJWaWV3LmxheWVyKCkpIHsKKyAgICAgICAgaWYgKGlzUm9vdExheWVyKSB7CiAgICAgICAgICAg
ICBzY3JvbGxpbmdMYXllciA9IG1fc2Nyb2xsTGF5ZXIuZ2V0KCk7CiAgICAgICAgICAgICBzY3Jv
bGxlZENvbnRlbnRzTGF5ZXIgPSBudWxscHRyOwogICAgICAgICAgICAgY291bnRlclNjcm9sbGlu
Z0xheWVyID0gZml4ZWRSb290QmFja2dyb3VuZExheWVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvU2Nyb2xsaW5nL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yVHJhbnNh
Y3Rpb24uY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1Njcm9sbGluZy9SZW1vdGVTY3JvbGxp
bmdDb29yZGluYXRvclRyYW5zYWN0aW9uLmNwcAppbmRleCA3MDY4ZDdjMzE4YTIxMWU4YzNmMTk2
MDA2MGZjMDIzM2EzN2EwMzg0Li5lM2RkZWJlMWFlNzlkMjkyMWFjMGExMDIxZjlhYzMwMDIxNDkx
Y2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU2Nyb2xsaW5nL1JlbW90ZVNj
cm9sbGluZ0Nvb3JkaW5hdG9yVHJhbnNhY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9TY3JvbGxpbmcvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JUcmFuc2FjdGlvbi5jcHAK
QEAgLTI0NSw3ICsyNDUsOCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIHN0YXRpYyB2b2lkIGVuY29k
ZU5vZGVBbmREZXNjZW5kYW50cyhJUEM6OkFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3Qg
U2Nyb2xsaW5nU3RhdGVOb2RlJiBzdGF0ZU5vZGUpCiB7CiAgICAgc3dpdGNoIChzdGF0ZU5vZGUu
bm9kZVR5cGUoKSkgewotICAgIGNhc2UgU2Nyb2xsaW5nTm9kZToKKyAgICBjYXNlIEZyYW1lU2Ny
b2xsaW5nTm9kZToKKyAgICBjYXNlIE92ZXJmbG93U2Nyb2xsaW5nTm9kZToKICAgICAgICAgZW5j
b2RlciA8PCB0b1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZShzdGF0ZU5vZGUpOwogICAgICAg
ICBicmVhazsKICAgICBjYXNlIEZpeGVkTm9kZToKQEAgLTMxOCw3ICszMTksOCBAQCBib29sIFJl
bW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yVHJhbnNhY3Rpb246OmRlY29kZShJUEM6OkFyZ3VtZW50
RGVjb2RlciYgZGVjb2RlcgogICAgICAgICBBU1NFUlQoIXBhcmVudE5vZGVJRCB8fCBuZXdOb2Rl
LT5wYXJlbnQoKSk7CiAgICAgICAgIAogICAgICAgICBzd2l0Y2ggKG5vZGVUeXBlKSB7Ci0gICAg
ICAgIGNhc2UgU2Nyb2xsaW5nTm9kZToKKyAgICAgICAgY2FzZSBGcmFtZVNjcm9sbGluZ05vZGU6
CisgICAgICAgIGNhc2UgT3ZlcmZsb3dTY3JvbGxpbmdOb2RlOgogICAgICAgICAgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZSgqdG9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUobmV3Tm9kZSkpKQog
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Njcm9sbGluZy9SZW1vdGVTY3JvbGxpbmdD
b29yZGluYXRvclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9TY3JvbGxpbmcv
UmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eS5jcHAKaW5kZXggMmNiZTVjNTJkMDUwYTBi
MGY4ODUzY2Q1MjQ1YWIyNzgxZTg2N2YwMi4uYWNiNzJiMGIzNjMwMzgyY2EwYzM5YjQwY2ZiMzI3
ZjJiY2NkZjM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Njcm9sbGlu
Zy9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvU2Nyb2xsaW5nL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuY3Bw
CkBAIC05NCw3ICs5NCw4IEBAIHZvaWQgUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eTo6
Y29ubmVjdFN0YXRlTm9kZUxheWVycyhTY3JvbGxpbmdTdGF0ZVRyZWUmCiB7CiAgICAgZm9yIChh
dXRvJiBjdXJyTm9kZSA6IHN0YXRlVHJlZS5ub2RlTWFwKCkudmFsdWVzKCkpIHsKICAgICAgICAg
c3dpdGNoIChjdXJyTm9kZS0+bm9kZVR5cGUoKSkgewotICAgICAgICBjYXNlIFNjcm9sbGluZ05v
ZGU6IHsKKyAgICAgICAgY2FzZSBGcmFtZVNjcm9sbGluZ05vZGU6CisgICAgICAgIGNhc2UgT3Zl
cmZsb3dTY3JvbGxpbmdOb2RlOiB7CiAgICAgICAgICAgICBTY3JvbGxpbmdTdGF0ZVNjcm9sbGlu
Z05vZGUqIHNjcm9sbGluZ1N0YXRlTm9kZSA9IHRvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2Rl
KGN1cnJOb2RlKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgaWYgKHNjcm9sbGluZ1N0YXRl
Tm9kZS0+aGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlTm9kZTo6U2Nyb2xsTGF5ZXIp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Njcm9sbGluZy9SZW1vdGVT
Y3JvbGxpbmdUcmVlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9TY3JvbGxpbmcvUmVt
b3RlU2Nyb2xsaW5nVHJlZS5jcHAKaW5kZXggYjZmMDc0OWRlZGRhN2IwZDA2NmM4N2ZmZTgzOTdh
YjY5Mzc2NmQ3Yi4uNmJmMTMyNjQ5Y2IzNDA3MWNkM2ViM2E2MWVlZDhhNTY5MTE1YWYwOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Njcm9sbGluZy9SZW1vdGVTY3JvbGxp
bmdUcmVlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU2Nyb2xsaW5nL1JlbW90
ZVNjcm9sbGluZ1RyZWUuY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9T
Y3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oPgogCiAjaWYgUExBVEZPUk0oSU9TKQorI2luY2x1ZGUg
IlNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJT1MuaCIKICNpbmNsdWRlIDxXZWJD
b3JlL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlSU9TLmg+CiAjZWxzZQogI2luY2x1ZGUgPFdl
YkNvcmUvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVNYWMuaD4KQEAgLTg0LDExICs4NSwxNyBA
QCB2b2lkIFJlbW90ZVNjcm9sbGluZ1RyZWU6OnNjcm9sbGluZ1RyZWVOb2RlRGlkU2Nyb2xsKFNj
cm9sbGluZ05vZGVJRCBub2RlSUQsIGNvbgogUGFzc093blB0cjxTY3JvbGxpbmdUcmVlTm9kZT4g
UmVtb3RlU2Nyb2xsaW5nVHJlZTo6Y3JlYXRlTm9kZShTY3JvbGxpbmdOb2RlVHlwZSBub2RlVHlw
ZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKIHsKICAgICBzd2l0Y2ggKG5vZGVUeXBlKSB7Ci0g
ICAgY2FzZSBTY3JvbGxpbmdOb2RlOgorICAgIGNhc2UgRnJhbWVTY3JvbGxpbmdOb2RlOgogI2lm
IFBMQVRGT1JNKElPUykKLSAgICAgICAgcmV0dXJuIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2Rl
SU9TOjpjcmVhdGUoKnRoaXMsIG5vZGVJRCk7CisgICAgICAgIHJldHVybiBTY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZUlPUzo6Y3JlYXRlKCp0aGlzLCBub2RlVHlwZSwgbm9kZUlEKTsKICNlbHNl
Ci0gICAgICAgIHJldHVybiBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZU1hYzo6Y3JlYXRlKCp0
aGlzLCBub2RlSUQpOworICAgICAgICByZXR1cm4gU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVN
YWM6OmNyZWF0ZSgqdGhpcywgbm9kZVR5cGUsIG5vZGVJRCk7CisjZW5kaWYKKyAgICBjYXNlIE92
ZXJmbG93U2Nyb2xsaW5nTm9kZToKKyNpZiBQTEFURk9STShJT1MpCisgICAgICAgIHJldHVybiBT
Y3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9TOjpjcmVhdGUoKnRoaXMsIG5vZGVJ
RCk7CisjZWxzZQorICAgICAgICByZXR1cm4gU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVNYWM6
OmNyZWF0ZSgqdGhpcywgbm9kZVR5cGUsIG5vZGVJRCk7CiAjZW5kaWYKICAgICBjYXNlIEZpeGVk
Tm9kZToKICAgICAgICAgcmV0dXJuIFNjcm9sbGluZ1RyZWVGaXhlZE5vZGU6OmNyZWF0ZSgqdGhp
cywgbm9kZUlEKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9TY3JvbGxp
bmcvaW9zL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJT1MuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9TY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9s
bGluZ05vZGVJT1MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NTMyZDMyNmIzMzA5NzQzZWY2YmE3NzRlNzRhMGM1
YzRkYjZmNmE4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Nj
cm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZUlPUy5oCkBAIC0w
LDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Nj
cm9sbGluZ05vZGVJT1NfaAorI2RlZmluZSBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdO
b2RlSU9TX2gKKworI2lmIFBMQVRGT1JNKElPUykKKyNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5H
KQorCisjaW5jbHVkZSA8V2ViQ29yZS9TY3JvbGxpbmdDb29yZGluYXRvci5oPgorI2luY2x1ZGUg
PFdlYkNvcmUvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVJT1MuaD4KKworbmFtZXNwYWNlIFdl
YktpdCB7CisKK2NsYXNzIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJT1MgOiBw
dWJsaWMgV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVJT1MgeworcHVibGljOgor
ICAgIHN0YXRpYyBQYXNzT3duUHRyPFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJ
T1M+IGNyZWF0ZShXZWJDb3JlOjpTY3JvbGxpbmdUcmVlJiwgV2ViQ29yZTo6U2Nyb2xsaW5nTm9k
ZUlEKTsKKyAgICB2aXJ0dWFsIH5TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9T
KCk7CisKK3ByaXZhdGU6CisgICAgU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZUlP
UyhXZWJDb3JlOjpTY3JvbGxpbmdUcmVlJiwgV2ViQ29yZTo6U2Nyb2xsaW5nTm9kZUlEKTsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKEFTWU5DX1NDUk9M
TElORykKKyNlbmRpZiAvLyBQTEFURk9STShJT1MpCisKKyNlbmRpZiAvLyBTY3JvbGxpbmdUcmVl
T3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9TX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9TY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJ
T1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdU
cmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9TLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJkZGMxNTYwYTllMDc4
NDVlZjQ3YWVhMGQwNWRhZmRkNmViM2JmMGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvU2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxp
bmdOb2RlSU9TLm1tCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25m
aWcuaCIKKyNpbXBvcnQgIlNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJT1MuaCIK
KworI2lmIFBMQVRGT1JNKElPUykKKyNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQorCit1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK1Bhc3NPd25QdHI8
U2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZUlPUz4gU2Nyb2xsaW5nVHJlZU92ZXJm
bG93U2Nyb2xsaW5nTm9kZUlPUzo6Y3JlYXRlKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWUmIHNjcm9s
bGluZ1RyZWUsIFdlYkNvcmU6OlNjcm9sbGluZ05vZGVJRCBub2RlSUQpCit7CisgICAgcmV0dXJu
IGFkb3B0UHRyKG5ldyBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9TKHNjcm9s
bGluZ1RyZWUsIG5vZGVJRCkpOworfQorCitTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdO
b2RlSU9TOjpTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9TKFdlYkNvcmU6OlNj
cm9sbGluZ1RyZWUmIHNjcm9sbGluZ1RyZWUsIFdlYkNvcmU6OlNjcm9sbGluZ05vZGVJRCBub2Rl
SUQpCisgICAgOiBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZUlPUyhzY3JvbGxpbmdUcmVlLCBP
dmVyZmxvd1Njcm9sbGluZ05vZGUsIG5vZGVJRCkKK3sKK30KKworU2Nyb2xsaW5nVHJlZU92ZXJm
bG93U2Nyb2xsaW5nTm9kZUlPUzo6flNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJ
T1MoKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUo
QVNZTkNfU0NST0xMSU5HKQorI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94
eUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUmVtb3RlU2Nyb2xsaW5nQ29v
cmRpbmF0b3JQcm94eUlPUy5tbQppbmRleCA3Njc5OWM3ZTQyNDY3NGI2MmM3OGM2MDU2MGIwNWM4
ZDliYmYxYzBmLi5lMTBhYjM5ZjAwY2E5ZjI0M2I0NThkY2NiNzA4OTU2MzVkYWM4NDJiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1JlbW90ZVNjcm9sbGluZ0Nvb3Jk
aW5hdG9yUHJveHlJT1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9SZW1v
dGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5SU9TLm1tCkBAIC00Nyw3ICs0Nyw4IEBAIHZvaWQg
UmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eTo6Y29ubmVjdFN0YXRlTm9kZUxheWVycyhT
Y3JvbGxpbmdTdGF0ZVRyZWUmCiB7CiAgICAgZm9yIChhdXRvJiBjdXJyTm9kZSA6IHN0YXRlVHJl
ZS5ub2RlTWFwKCkudmFsdWVzKCkpIHsKICAgICAgICAgc3dpdGNoIChjdXJyTm9kZS0+bm9kZVR5
cGUoKSkgewotICAgICAgICBjYXNlIFNjcm9sbGluZ05vZGU6IHsKKyAgICAgICAgY2FzZSBGcmFt
ZVNjcm9sbGluZ05vZGU6CisgICAgICAgIGNhc2UgT3ZlcmZsb3dTY3JvbGxpbmdOb2RlOiB7CiAg
ICAgICAgICAgICBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUqIHNjcm9sbGluZ1N0YXRlTm9k
ZSA9IHRvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlKGN1cnJOb2RlKTsKICAgICAgICAgICAg
IAogICAgICAgICAgICAgaWYgKHNjcm9sbGluZ1N0YXRlTm9kZS0+aGFzQ2hhbmdlZFByb3BlcnR5
KFNjcm9sbGluZ1N0YXRlTm9kZTo6U2Nyb2xsTGF5ZXIpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdDIv
V2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDIxOGQzZmVmMmQwODA5Zjgx
YTcwMjM3MDQ0MTU3NDU4YTlkNzA0YzAuLjM1OWE1M2ZlNTY4MmQwNzU2MWFhYjUwYTU3NzU3NmUy
NDg1ODczOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTYzLDYgKzYzLDggQEAKIAkJMEY1OTQ3QTQxODdCM0I3RDAwNDM3ODU3
IC8qIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yVHJhbnNhY3Rpb24uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNTk0N0EyMTg3QjNCN0QwMDQzNzg1
NyAvKiBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclRyYW5zYWN0aW9uLmggKi87IH07CiAJCTBG
NTk0N0E3MTg3QjUxNzYwMDQzNzg1NyAvKiBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvck1lc3Nh
Z2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRjU5NDdBNTE4N0I1MTc2MDA0Mzc4NTcgLyogUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0
b3JNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQkwRjU5NDdBODE4N0I1MTc2MDA0Mzc4NTcg
LyogUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY1OTQ3QTYxODdCNTE3NjAwNDM3ODU3IC8q
IFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yTWVzc2FnZXMuaCAqLzsgfTsKKwkJMEY5MzFDMUMx
OEM1NzExOTAwREJBN0MzIC8qIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJT1Mu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOTMxQzFB
MThDNTcxMTkwMERCQTdDMyAvKiBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9T
LmggKi87IH07CisJCTBGOTMxQzFEMThDNTcxMTkwMERCQTdDMyAvKiBTY3JvbGxpbmdUcmVlT3Zl
cmZsb3dTY3JvbGxpbmdOb2RlSU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEY5MzFDMUIxOEM1NzExOTAwREJBN0MzIC8qIFNjcm9sbGluZ1RyZWVP
dmVyZmxvd1Njcm9sbGluZ05vZGVJT1MubW0gKi87IH07CiAJCTBGQjY1OTIzMTIwOEI0REIwMDQ0
ODE2QyAvKiBEcmF3aW5nQXJlYUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGQjY1OTIyMTIwOEI0REIwMDQ0ODE2QyAvKiBEcmF3aW5nQXJlYUlu
Zm8uaCAqLzsgfTsKIAkJMEZDMDg1NzIxODdDRTBCMTAwNzgwRDg2IC8qIF9faW5pdF9fLnB5IGlu
IENvcHkgTWVzc2FnZSBHZW5lcmF0aW9uIFNjcmlwdHMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEZDMDg1NkUxODdDRTBBOTAwNzgwRDg2IC8qIF9faW5pdF9fLnB5ICovOyB9
OwogCQkwRkMwODU3MzE4N0NFMEIzMDA3ODBEODYgLyogbWVzc2FnZXMucHkgaW4gQ29weSBNZXNz
YWdlIEdlbmVyYXRpb24gU2NyaXB0cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRkMwODU2RjE4N0NFMEE5MDA3ODBEODYgLyogbWVzc2FnZXMucHkgKi87IH07CkBAIC0xNzg0
LDYgKzE3ODYsOCBAQAogCQkwRjU5NDdBMjE4N0IzQjdEMDA0Mzc4NTcgLyogUmVtb3RlU2Nyb2xs
aW5nQ29vcmRpbmF0b3JUcmFuc2FjdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclRyYW5zYWN0aW9uLmg7IHBhdGggPSBTY3Jv
bGxpbmcvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JUcmFuc2FjdGlvbi5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwRjU5NDdBNTE4N0I1MTc2MDA0Mzc4NTcgLyogUmVtb3RlU2Ny
b2xsaW5nQ29vcmRpbmF0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JNZXNzYWdlUmVjZWl2
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjU5NDdBNjE4N0I1MTc2MDA0
Mzc4NTcgLyogUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JNZXNzYWdlcy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvck1lc3NhZ2Vz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGOTMxQzFBMThDNTcxMTkwMERCQTdD
MyAvKiBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9TLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJ
T1MuaDsgcGF0aCA9IFNjcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5n
Tm9kZUlPUy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjkzMUMxQjE4QzU3MTE5
MDBEQkE3QzMgLyogU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZUlPUy5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFNjcm9sbGluZ1RyZWVPdmVyZmxv
d1Njcm9sbGluZ05vZGVJT1MubW07IHBhdGggPSBTY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVP
dmVyZmxvd1Njcm9sbGluZ05vZGVJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTBGQjY1OTIyMTIwOEI0REIwMDQ0ODE2QyAvKiBEcmF3aW5nQXJlYUluZm8uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRHJhd2luZ0FyZWFJbmZvLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTBGQzA4NTZFMTg3Q0UwQTkwMDc4MEQ4NiAvKiBfX2luaXRfXy5weSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2Ny
aXB0LnB5dGhvbjsgbmFtZSA9IF9faW5pdF9fLnB5OyBwYXRoID0gd2Via2l0Mi9fX2luaXRfXy5w
eTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZDMDg1NkYxODdDRTBBOTAwNzgwRDg2
IC8qIG1lc3NhZ2VzLnB5ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dC5zY3JpcHQucHl0aG9uOyBuYW1lID0gbWVzc2FnZXMucHk7IHBhdGggPSB3
ZWJraXQyL21lc3NhZ2VzLnB5OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzYzOCw2
ICszNjQyLDcgQEAKIAkJMEY1OTQ3OTMxODdCM0I0QzAwNDM3ODU3IC8qIFNjcm9sbGluZyAqLyA9
IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJMEY5MzFDMTkxOEM1
NzExMTAwREJBN0MzIC8qIGlvcyAqLywKIAkJCQkwRjU5NDc5NDE4N0IzQjYwMDA0Mzc4NTcgLyog
UmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eS5jcHAgKi8sCiAJCQkJMEY1OTQ3OTUxODdC
M0I2MDAwNDM3ODU3IC8qIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuaCAqLywKIAkJ
CQkwRjU5NDc5NjE4N0IzQjYwMDA0Mzc4NTcgLyogUmVtb3RlU2Nyb2xsaW5nVHJlZS5jcHAgKi8s
CkBAIC0zNjU1LDYgKzM2NjAsMTUgQEAKIAkJCW5hbWUgPSBTY3JvbGxpbmc7CiAJCQlzb3VyY2VU
cmVlID0gIjxncm91cD4iOwogCQl9OworCQkwRjkzMUMxOTE4QzU3MTExMDBEQkE3QzMgLyogaW9z
ICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQkwRjkzMUMx
QTE4QzU3MTE5MDBEQkE3QzMgLyogU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZUlP
Uy5oICovLAorCQkJCTBGOTMxQzFCMThDNTcxMTkwMERCQTdDMyAvKiBTY3JvbGxpbmdUcmVlT3Zl
cmZsb3dTY3JvbGxpbmdOb2RlSU9TLm1tICovLAorCQkJKTsKKwkJCW5hbWUgPSBpb3M7CisJCQlz
b3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQkxMDU4QzdCMEZFQTU1ODVFMTFDQTJDQkIg
LyogTGlua2VkIEZyYW1ld29ya3MgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxk
cmVuID0gKApAQCAtNzAwMiw2ICs3MDE2LDcgQEAKIAkJCQkyREE5NDRBNDE4ODRFNEYwMDBFRDg2
REIgLyogV0tHZXN0dXJlVHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTMzMzY3NjM2MTMwQzk5
QjIwMDZDOURFMiAvKiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5LmggaW4gSGVhZGVycyAq
LywKIAkJCQkzMzM2NzY1ODEzMEM5RUNCMDA2QzlERTIgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFn
ZXJQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjkzMUMxQzE4QzU3MTE5MDBE
QkE3QzMgLyogU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZUlPUy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTEwQUZGQkExNjU0MjA0ODAwMUJBMDVFIC8qIFdlYlJlc291cmNlTG9hZGVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUYwNjBFMDE2NTQzMTdGMDBGMzI4MUIgLyogV2ViUmVz
b3VyY2VMb2FkZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDNCOTQ4NDkxMUZGNEI2
NTAwMDMyQjM5IC8qIFdlYlNlYXJjaFBvcHVwTWVudS5oIGluIEhlYWRlcnMgKi8sCkBAIC04NDEy
LDYgKzg0MjcsNyBAQAogCQkJCTFBRTAwRDVDMTgyREFERTEwMDA4N0RENyAvKiBLZXllZEVuY29k
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFDODcwMkUxMzBCNDlBMjAwMkMxMjU3IC8qIFdl
YlBsdWdpblNpdGVEYXRhTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzU3NDRFRjEy
NjM4RkIzMDA2RjBGMTIgLyogV2ViUG9wdXBJdGVtLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBG
OTMxQzFEMThDNTcxMTkwMERCQTdDMyAvKiBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdO
b2RlSU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRDNCOTQ4NDYxMUZGNEI2NTAwMDMyQjM5IC8q
IFdlYlBvcHVwTWVudS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0M0M0FDNzEyN0I5OURFMDAz
MTdGMTYgLyogV2ViUG9wdXBNZW51TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1NzUwOTgx
MjY4RjNDNjAwNkYwRjEyIC8qIFdlYlBvcHVwTWVudVByb3h5TWFjLm1tIGluIFNvdXJjZXMgKi8s
Cg==
</data>
<flag name="review"
          id="252070"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>